2. • Bug #20786
– Verified in year 2006
– Still not fixed
• Bug #989
– 3 Runtime worklogs implemented
– Author’s blog
• Bug #23427
– Opened: October, 18, 2006
– Patch pushed: October, 20, 2006
Bugs have different lives 2
3. • Bugs verification workflow
• What is a ”Useful MySQL Bug Report”?
• What to do before reporting a bug?
• How to search for known MySQL bugs
efficiently?
• What tools may help to create a useful bug
report?
• Examples of useful bug reports
• Examples of useless bug reports
What this session is about? 3
4. Bug reported
Is this real bug?
Which versions are affected?
May the bug be fixed in latest versions?
Was this bug reported earier?
Is there any obvious workaround?
Verified/
Confirmed
Not a Bug/
Invalid
Can’t repeat/
Invalid
Duplicate
Yes
Not
Not
Yes
Yes
Bug verification workflow 4
5. • Some bugs get fixed in hours, others wait forever
• Usually decision makers take in account:
– How bad is the bug
– Known and potential impact of the bug
– Number of support customers affected
– Number of subscribed users
– Number of users who click on “Affects Me” or
similar buttons
– Explicit customer’s requests to fix the bug
Bug priority 5
6. • Easy to search for:
– site:bugs.mysql.com drop add index InnoDB
• Becomes visible to other customers, community
members and MySQL support providers and
developers outside of Oracle
Report bugs in public! 6
8. • It’s a real, new bug that was never reported
before
• It’s clear what the bug is and how to reproduce it
• Bug reporter cared to check on latest officially
released version in the branch
• All important details about the environment and
impact are provided
• Anything wrong or missed in the above?
Features of a Useful Bug Report 8
9. • Use Google:
– site:bugs.mysql.com drop table slow
– Check at least first 3 pages of results and
links there
• Search for specific error messages, lines from
stack trace, versions, filenames and line
numbers, names
How to search for known bugs? 9
10. • Use bug tracker specific search:
– Specific categories
– Bugs vs. Feature requests
– Specific version, bug status etc
• Study features and limitations of your search
tools
• Keep your own notes and test cases ”database”
How to search for known bugs? 10
11. • Randgen (RQG)
• MTR (MySQL regression test suite)
• reducer.sh
• MySQL Sandbox
• Percona Toolkit (pt-summary,
pt-mysql-summary, more)
• Debug binaries and trace
• Valgrind and Massif
• Anything else?
Tools for bug reporters 11
12. • 69979 - how repeatable read works (NaB)
• 73837 - how to report optimizer bugs
• 68705 - Valgrind in use to find memory leak
• 73825 - simple wrong results bug
• 73881 - RQG in action
• 68554 - optimizer trace, level of details
• 68079 - sysbench, P S, cooperation
• 69253 - with patch suggested (mind OCA)
• 73018 - even good reports may stay Open
Examples: useful bug reports 12
13. • 2 - pure fun. Not fixed for 12 years!
• 69878 - real bug, but many problems reported in
one, no respect
• 55796 - ”it really sucks”, gotcha...
• 73960 - ”this query is very slow”...
• 73921 - free support request, 5.5.34
• 73844 - almost no details, others wrong
• Percona bug #1245141 - RBR with no PK/UK in
5.5. Time to check for known problems...
Examples: useless bug reports 13
14. • Don’t be silent
• Study tools which company uses
• Open Support tickets
How to affect decisions 14
15. • 73369 - sometimes even experienced Support
engineers have problems
• 69979 - even if it’s “Not a bug” eventually, it was
a useful work for all!
• 71095 - you can get patch in a matter of days!
• “Private” and “Security” bugs in public bugs
databases. Should they exist, who decides on
these statuses, when to make them public?
• Your examples?
Any bug reports you want to discuss? 15