SlideShare a Scribd company logo
1 of 16
Download to read offline
How to create a useful
MySQL bug report
...and make sure it is properly processed
Valerii Kravchuk, Principal Support Engineer, MariaDB
vkravchuk@gmail.com
1
www.percona.com
Who am I and why this is about MySQL bugs?
Valerii (aka Valeriy) Kravchuk:
● MySQL Support Engineer (bugs verification team) in MySQL AB, Sun and
Oracle, 2005 - 2012
● Principal Support Engineer in Percona, 2012 - 2016
● Principal Support Engineer in MariaDB Corporation since March 2016
● http://mysqlentomologist.blogspot.com - my blog about MySQL (a lot about
MySQL bugs, but some HowTos as well)
● https://www.facebook.com/valerii.kravchuk - my Facebook page, a lot about
MySQL (mostly bugs, rants and links to blog posts…)
● http://bugs.mysql.com - it used to be my personal playground
● @mysqlbugs - #bugoftheday on Twitter
● I like FOSDEM, see slides from my previous talks:
○ http://www.slideshare.net/valeriikravchuk1/fosdem2015-gdb-tips-and-tricks-for-my-sql-db-as
○ http://www.slideshare.net/ValeriyKravchuk/more-on-gdb-for-my-sql-db-as-fosdem-2016
○ https://www.slideshare.net/ValeriyKravchuk/applying-profilers-to-my-sql-fosdem-2017
2
www.percona.com
Topics to discuss
● Why should we report bugs at https://bugs.mysql.com (or
other public tracker)?
● 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?
● Life cycle of Oracle/MySQL public bug report
● Life cycle of MariaDB JIRA bug report
● Examples of useful bug reports
● Examples of useless bug reports
● How to escalate bug reports?
3
www.percona.com
Always report bugs in public!
● Why? I am customer!
○ I tried to explain in a separate blog post
○ Public bug reports are easy to search for: site:bugs.mysql.com drop
add index InnoDB
○ Public bug reports becomes visible to other customers, community
members and MySQL support providers and developers outside of Oracle
● Public bug trackers:
○ https://bugs.mysql.com - MySQL software from Oracle
○ https://jira.mariadb.org/browse/MDEV - MariaDB Server
○ https://jira.percona.com/browse/PS - Percona Server
● What about security bugs?
○ Do NOT report bug as a “security” one unless it is really that serious
4
www.percona.com
Features of a useful bug report
● It’s a real, new bug that was never reported before (or was
once fixed but now appeared again, “regression”)
● It’s clear what the bug is and how to reproduce it
● Bug reporter cared to check on the latest officially released
version in the branch (?) What if it’s on a custom build from
GitHub source code?
● All important details about the environment and impact are
provided
● It’s clear that bug reporter spent enough efforts on it
(search, testing, minimal test case) (?)
● Anything wrong or missed in the above? (use proper tags)
5
www.percona.com
Before reporting a bug...
● Try to find similar already reported bugs
● Try to find a solution/reason by reading the manual
● Try to reproduce the bug in a “clean environment”
● Make sure you’ve read vendor-specific (and product
specific, if any) instructions:
○ https://mariadb.com/kb/en/mariadb/development/debugging-mariadb/report
ing-bugs/
○ https://bugs.mysql.com/how-to-report.php
○ http://mysqlworkbench.org/faq/faq-bugreporting/
● Make sure you’ve read this entirely at least once:
http://www.catb.org/esr/faqs/smart-questions.html
6
www.percona.com
How to search for known bugs?
● Use Google like this:
site:bugs.mysql.com drop table slow
and 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
● Do not ignore bug tracker specific search:
○ Specific categories
○ Bugs vs. Feature requests
○ Specific version, bug status, q etc
● Study features and limitations of your search tools
● Keep your own notes and test cases “database”
7
Tools for bug reporters (and QA engineers)
● MySQL Sandbox (dbdeployer), Docker, VMs
● MTR (MySQL regression test suite)
● OS tools: gdb, strace, lsof, perf...
● Percona Toolkit (pt-summary, pt-mysql-summary, pt-pmp)
● sysbench in case of performance problems
● Debug binaries and trace
● Valgrind and Massif:
○ http://www.percona.com/blog/2013/01/09/profiling-mysql-memory-usage-with-valgrind-massif/
● Randgen (RQG)
○ http://www.percona.com/blog/2014/04/17/how-to-find-bugs-in-mysql/
● Percona QA tools:
○ http://www.percona.com/blog/2014/09/03/reducer-sh-a-powerful-mysql-test-case-simplificationre
ducer-tool/
● Anything else? 8
Life cycle of a MySQL bug
http://mysqlentomologist.blogspot.com/2013/01/life-cycle-of-mysql-bug.html
● Open
● Analyzing (usually assigned)
● Need Feedback → No Feedback (expires in 30 days)
● Can’t repeat
● Verified → copied to internal database → Closed one day
● Not a Bug
● Duplicate
● Unsupported
● Won’t fix
● In progress… (real progress happens elsewhere)
● Closed ← when fixed in internal database, before release
● What about feature requests?
9
www.percona.com
Life cycle of a MariaDB (Server) bug (JIRA issue)
http://mysqlentomologist.blogspot.com/2018/12/mariadb-jira-for-mysql-dbas.html
● OPEN - may be assigned, may need feedback
● CONFIRMED - usually also assigned
● STALLED - some work on it was performed
● IN PROGRESS - assignee is currently working on the fix for the bug.
● IN REVIEW - assignee is currently reviewing the fix for the bug.
● CLOSED - the bug is resolved somehow. "Resolution":
○ Fixed
○ Duplicate
○ Won’t Fix
○ Cannot reproduce
○ Incomplete
○ Not a Bug
● See also a table that matches MySQL “Status” with MariaDB “Status” +
“Resolution” + “Labels” here
10
www.percona.com
Examples of useful bug reports
● Bug #93963 - steps to create big enough table are missed, but otherwise it’s
clear and important detail (regression vs 5.7) is highlighted
● Bug #93957 - refers to older bug (with proper public test case) that was
closed/fixed, but seems to re-appear in 5.7.24.
● Bug #91941 - gdb backtrace from production, collective efforts
● Bug #69979 - test case, how repeatable read works (NaB, but useful reading!)
● Bug #73837 - how to report optimizer bugs
● Bug #68705 - Valgrind in use. Still just “Verified”.
● Bug #73825 - simple wrong results bug. Still just “Verified”.
● Bug #73881 - RQG in action. Still just “Verified”.
● Bug #68554 - optimizer trace, level of details, how ICP works
● Bug #69253 - with patch suggested (mind OCA)
● Bug #73018 - even perfect reports with a patch and OCA signed may stay
Open or Verified for years
11
www.percona.com
Examples of useless bug reports
● Bug #55796 - “it really sucks”, gotcha… Read the manual,
ask for a feature...
● Bug #73960 - “this query is very slow”, no facts, no
feedback
● Bug #73921 - free support request, no feedback eventually
● Bug #73844 - near zero information, no feedback
12
www.percona.com
How to escalate the bug?
Verified (or Open but real) bug is not fixed. What to do?
● Cooperate, try to provide feedback when requested
● Comment, ask, curse, complain in report
● Ask others to comment, use “Affects Me” button or similar
● Report it again? Only if closed bug is still repeatable
● Report it in other bug tracker (to other company)
● Ask some developer in private
● Blog about it
● Open issue (support request) about it
● Complain in social media
● Tell me (or somebody who cares) about it
13
www.percona.com
They process your bug reports!
● Umesh Shastry (Oracle, 50+% of all bugs Verified)
● Shane Bester (MySQL, Sun, Oracle)
● Miguel Solorzano (MySQL, Sun, Oracle)
● Elena Stepanova (Sun, Oracle, MariaDB)
● Sveta Smirnova (MySQL, Sun, Oracle, Percona)
● Laurynas Biveinis (Percona)
● Roel Van de Paar (MySQL, Sun, Oracle, Percona)
14
www.percona.com
Any specific bug reports you want to discuss?
● Find me somewhere around today
● Ask me at Facebook or Twitter
● That’s what I’d like to discuss today:
“Private” and “Security” bugs in public bugs
databases. Should they exist, who decides on these
statuses, when they should become public (including
test cases)?
15
www.percona.com
Thank you!
Questions and Answers?
Please, report bugs at:
https://bugs.mysql.com
https://jira.mariadb.org
https://jira.percona.com
16

More Related Content

What's hot

Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...HostedbyConfluent
 
Build your operator with the right tool
Build your operator with the right toolBuild your operator with the right tool
Build your operator with the right toolRafał Leszko
 
5 Levels of High Availability: From Multi-instance to Hybrid Cloud
5 Levels of High Availability: From Multi-instance to Hybrid Cloud5 Levels of High Availability: From Multi-instance to Hybrid Cloud
5 Levels of High Availability: From Multi-instance to Hybrid CloudRafał Leszko
 
Distributed Locking in Kubernetes
Distributed Locking in KubernetesDistributed Locking in Kubernetes
Distributed Locking in KubernetesRafał Leszko
 
KafkaConsumer - Decoupling Consumption and Processing for Better Resource Uti...
KafkaConsumer - Decoupling Consumption and Processing for Better Resource Uti...KafkaConsumer - Decoupling Consumption and Processing for Better Resource Uti...
KafkaConsumer - Decoupling Consumption and Processing for Better Resource Uti...confluent
 
The Easiest Way to Configure Security for Clients AND Servers (Dani Traphagen...
The Easiest Way to Configure Security for Clients AND Servers (Dani Traphagen...The Easiest Way to Configure Security for Clients AND Servers (Dani Traphagen...
The Easiest Way to Configure Security for Clients AND Servers (Dani Traphagen...confluent
 
Where is my cache? Architectural patterns for caching microservices by example
Where is my cache? Architectural patterns for caching microservices by exampleWhere is my cache? Architectural patterns for caching microservices by example
Where is my cache? Architectural patterns for caching microservices by exampleRafał Leszko
 
Getting up to Speed with MirrorMaker 2 (Mickael Maison, IBM & Ryanne Dolan) K...
Getting up to Speed with MirrorMaker 2 (Mickael Maison, IBM & Ryanne Dolan) K...Getting up to Speed with MirrorMaker 2 (Mickael Maison, IBM & Ryanne Dolan) K...
Getting up to Speed with MirrorMaker 2 (Mickael Maison, IBM & Ryanne Dolan) K...HostedbyConfluent
 
Where is my cache architectural patterns for caching microservices by example
Where is my cache architectural patterns for caching microservices by exampleWhere is my cache architectural patterns for caching microservices by example
Where is my cache architectural patterns for caching microservices by exampleRafał Leszko
 
Building the Next-Generation Messaging Platform on Pulsar at Intuit - Pulsar ...
Building the Next-Generation Messaging Platform on Pulsar at Intuit - Pulsar ...Building the Next-Generation Messaging Platform on Pulsar at Intuit - Pulsar ...
Building the Next-Generation Messaging Platform on Pulsar at Intuit - Pulsar ...StreamNative
 
[오픈소스컨설팅] 서비스 메쉬(Service mesh)
[오픈소스컨설팅] 서비스 메쉬(Service mesh)[오픈소스컨설팅] 서비스 메쉬(Service mesh)
[오픈소스컨설팅] 서비스 메쉬(Service mesh)Open Source Consulting
 
Oracle Coherence & WebLogic 12c Web Sockets: Delivering Real Time Push at Scale
Oracle Coherence & WebLogic 12c Web Sockets: Delivering Real Time Push at ScaleOracle Coherence & WebLogic 12c Web Sockets: Delivering Real Time Push at Scale
Oracle Coherence & WebLogic 12c Web Sockets: Delivering Real Time Push at ScaleC2B2 Consulting
 
Optimizing {Java} Application Performance on Kubernetes
Optimizing {Java} Application Performance on KubernetesOptimizing {Java} Application Performance on Kubernetes
Optimizing {Java} Application Performance on KubernetesDinakar Guniguntala
 
Silverstripe at scale - design & architecture for silverstripe applications
Silverstripe at scale - design & architecture for silverstripe applicationsSilverstripe at scale - design & architecture for silverstripe applications
Silverstripe at scale - design & architecture for silverstripe applicationsBrettTasker
 
How Apache Kafka® Works
How Apache Kafka® WorksHow Apache Kafka® Works
How Apache Kafka® Worksconfluent
 
WordPress Cluster for Enterprise High-Availability and On-Demand Scaling
WordPress Cluster for Enterprise High-Availability and On-Demand ScalingWordPress Cluster for Enterprise High-Availability and On-Demand Scaling
WordPress Cluster for Enterprise High-Availability and On-Demand ScalingJelastic Multi-Cloud PaaS
 
High Availability with MariaDB Enterprise
High Availability with MariaDB EnterpriseHigh Availability with MariaDB Enterprise
High Availability with MariaDB EnterpriseMariaDB Corporation
 

What's hot (20)

Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
 
Build your operator with the right tool
Build your operator with the right toolBuild your operator with the right tool
Build your operator with the right tool
 
5 Levels of High Availability: From Multi-instance to Hybrid Cloud
5 Levels of High Availability: From Multi-instance to Hybrid Cloud5 Levels of High Availability: From Multi-instance to Hybrid Cloud
5 Levels of High Availability: From Multi-instance to Hybrid Cloud
 
Distributed Locking in Kubernetes
Distributed Locking in KubernetesDistributed Locking in Kubernetes
Distributed Locking in Kubernetes
 
KafkaConsumer - Decoupling Consumption and Processing for Better Resource Uti...
KafkaConsumer - Decoupling Consumption and Processing for Better Resource Uti...KafkaConsumer - Decoupling Consumption and Processing for Better Resource Uti...
KafkaConsumer - Decoupling Consumption and Processing for Better Resource Uti...
 
Through the JMX Window
Through the JMX WindowThrough the JMX Window
Through the JMX Window
 
The Easiest Way to Configure Security for Clients AND Servers (Dani Traphagen...
The Easiest Way to Configure Security for Clients AND Servers (Dani Traphagen...The Easiest Way to Configure Security for Clients AND Servers (Dani Traphagen...
The Easiest Way to Configure Security for Clients AND Servers (Dani Traphagen...
 
Where is my cache? Architectural patterns for caching microservices by example
Where is my cache? Architectural patterns for caching microservices by exampleWhere is my cache? Architectural patterns for caching microservices by example
Where is my cache? Architectural patterns for caching microservices by example
 
Getting up to Speed with MirrorMaker 2 (Mickael Maison, IBM & Ryanne Dolan) K...
Getting up to Speed with MirrorMaker 2 (Mickael Maison, IBM & Ryanne Dolan) K...Getting up to Speed with MirrorMaker 2 (Mickael Maison, IBM & Ryanne Dolan) K...
Getting up to Speed with MirrorMaker 2 (Mickael Maison, IBM & Ryanne Dolan) K...
 
Where is my cache architectural patterns for caching microservices by example
Where is my cache architectural patterns for caching microservices by exampleWhere is my cache architectural patterns for caching microservices by example
Where is my cache architectural patterns for caching microservices by example
 
Building the Next-Generation Messaging Platform on Pulsar at Intuit - Pulsar ...
Building the Next-Generation Messaging Platform on Pulsar at Intuit - Pulsar ...Building the Next-Generation Messaging Platform on Pulsar at Intuit - Pulsar ...
Building the Next-Generation Messaging Platform on Pulsar at Intuit - Pulsar ...
 
[오픈소스컨설팅] 서비스 메쉬(Service mesh)
[오픈소스컨설팅] 서비스 메쉬(Service mesh)[오픈소스컨설팅] 서비스 메쉬(Service mesh)
[오픈소스컨설팅] 서비스 메쉬(Service mesh)
 
Oracle Coherence & WebLogic 12c Web Sockets: Delivering Real Time Push at Scale
Oracle Coherence & WebLogic 12c Web Sockets: Delivering Real Time Push at ScaleOracle Coherence & WebLogic 12c Web Sockets: Delivering Real Time Push at Scale
Oracle Coherence & WebLogic 12c Web Sockets: Delivering Real Time Push at Scale
 
Dynomite @ RedisConf 2017
Dynomite @ RedisConf 2017Dynomite @ RedisConf 2017
Dynomite @ RedisConf 2017
 
Optimizing {Java} Application Performance on Kubernetes
Optimizing {Java} Application Performance on KubernetesOptimizing {Java} Application Performance on Kubernetes
Optimizing {Java} Application Performance on Kubernetes
 
Silverstripe at scale - design & architecture for silverstripe applications
Silverstripe at scale - design & architecture for silverstripe applicationsSilverstripe at scale - design & architecture for silverstripe applications
Silverstripe at scale - design & architecture for silverstripe applications
 
How Apache Kafka® Works
How Apache Kafka® WorksHow Apache Kafka® Works
How Apache Kafka® Works
 
WordPress Cluster for Enterprise High-Availability and On-Demand Scaling
WordPress Cluster for Enterprise High-Availability and On-Demand ScalingWordPress Cluster for Enterprise High-Availability and On-Demand Scaling
WordPress Cluster for Enterprise High-Availability and On-Demand Scaling
 
High Availability with MariaDB Enterprise
High Availability with MariaDB EnterpriseHigh Availability with MariaDB Enterprise
High Availability with MariaDB Enterprise
 
Envoy @ Lyft: Developer Productivity
Envoy @ Lyft: Developer ProductivityEnvoy @ Lyft: Developer Productivity
Envoy @ Lyft: Developer Productivity
 

Similar to How to create a useful my sql bug report fosdem 2019

How to create a useful MySQL bug report
How to create a useful MySQL bug reportHow to create a useful MySQL bug report
How to create a useful MySQL bug reportValerii Kravchuk
 
Performance schema in_my_sql_5.6_pluk2013
Performance schema in_my_sql_5.6_pluk2013Performance schema in_my_sql_5.6_pluk2013
Performance schema in_my_sql_5.6_pluk2013Valeriy Kravchuk
 
BOF "Everything about MySQL bugs"
BOF "Everything about MySQL bugs"BOF "Everything about MySQL bugs"
BOF "Everything about MySQL bugs"Sveta Smirnova
 
JSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontendJSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontendVlad Fedosov
 
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...JSFestUA
 
PyConUK 2014 - PostMortem Debugging and Web Development Updated
PyConUK 2014 - PostMortem Debugging and Web Development UpdatedPyConUK 2014 - PostMortem Debugging and Web Development Updated
PyConUK 2014 - PostMortem Debugging and Web Development UpdatedAlessandro Molina
 
Raising ux bar with offline first design
Raising ux bar with offline first designRaising ux bar with offline first design
Raising ux bar with offline first designKyrylo Reznykov
 
Experiences testing dev versions of MySQL and why it is good for you
Experiences testing dev versions of MySQL and why it is good for youExperiences testing dev versions of MySQL and why it is good for you
Experiences testing dev versions of MySQL and why it is good for youSimon J Mudd
 
Tracing and profiling my sql (percona live europe 2019) draft_1
Tracing and profiling my sql (percona live europe 2019) draft_1Tracing and profiling my sql (percona live europe 2019) draft_1
Tracing and profiling my sql (percona live europe 2019) draft_1Valerii Kravchuk
 
Gdb basics for my sql db as (percona live europe 2019)
Gdb basics for my sql db as (percona live europe 2019)Gdb basics for my sql db as (percona live europe 2019)
Gdb basics for my sql db as (percona live europe 2019)Valerii Kravchuk
 
FOSDEM 2015: gdb tips and tricks for MySQL DBAs
FOSDEM 2015: gdb tips and tricks for MySQL DBAsFOSDEM 2015: gdb tips and tricks for MySQL DBAs
FOSDEM 2015: gdb tips and tricks for MySQL DBAsValerii Kravchuk
 
UX challenges of a UI-centric config management tool
UX challenges of a UI-centric config management toolUX challenges of a UI-centric config management tool
UX challenges of a UI-centric config management toolRUDDER
 
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...Codemotion
 
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...Demi Ben-Ari
 
More on gdb for my sql db as (fosdem 2016)
More on gdb for my sql db as (fosdem 2016)More on gdb for my sql db as (fosdem 2016)
More on gdb for my sql db as (fosdem 2016)Valeriy Kravchuk
 
Bug best practice
Bug best practiceBug best practice
Bug best practicegaoliang641
 

Similar to How to create a useful my sql bug report fosdem 2019 (20)

How to create a useful MySQL bug report
How to create a useful MySQL bug reportHow to create a useful MySQL bug report
How to create a useful MySQL bug report
 
Performance schema in_my_sql_5.6_pluk2013
Performance schema in_my_sql_5.6_pluk2013Performance schema in_my_sql_5.6_pluk2013
Performance schema in_my_sql_5.6_pluk2013
 
BOF "Everything about MySQL bugs"
BOF "Everything about MySQL bugs"BOF "Everything about MySQL bugs"
BOF "Everything about MySQL bugs"
 
JSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontendJSFest 2019: Technology agnostic microservices at SPA frontend
JSFest 2019: Technology agnostic microservices at SPA frontend
 
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
JS Fest 2019/Autumn. Влад Федосов. Technology agnostic microservices at SPA f...
 
PyConUK 2014 - PostMortem Debugging and Web Development Updated
PyConUK 2014 - PostMortem Debugging and Web Development UpdatedPyConUK 2014 - PostMortem Debugging and Web Development Updated
PyConUK 2014 - PostMortem Debugging and Web Development Updated
 
Raising ux bar with offline first design
Raising ux bar with offline first designRaising ux bar with offline first design
Raising ux bar with offline first design
 
Experiences testing dev versions of MySQL and why it is good for you
Experiences testing dev versions of MySQL and why it is good for youExperiences testing dev versions of MySQL and why it is good for you
Experiences testing dev versions of MySQL and why it is good for you
 
Open Day July 2019
Open Day July 2019Open Day July 2019
Open Day July 2019
 
Tracing and profiling my sql (percona live europe 2019) draft_1
Tracing and profiling my sql (percona live europe 2019) draft_1Tracing and profiling my sql (percona live europe 2019) draft_1
Tracing and profiling my sql (percona live europe 2019) draft_1
 
Gdb basics for my sql db as (percona live europe 2019)
Gdb basics for my sql db as (percona live europe 2019)Gdb basics for my sql db as (percona live europe 2019)
Gdb basics for my sql db as (percona live europe 2019)
 
FOSDEM 2015: gdb tips and tricks for MySQL DBAs
FOSDEM 2015: gdb tips and tricks for MySQL DBAsFOSDEM 2015: gdb tips and tricks for MySQL DBAs
FOSDEM 2015: gdb tips and tricks for MySQL DBAs
 
UX challenges of a UI-centric config management tool
UX challenges of a UI-centric config management toolUX challenges of a UI-centric config management tool
UX challenges of a UI-centric config management tool
 
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems Done "The Simple Way" - Demi Ben-Ari - Codemotion...
 
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...
Monitoring Big Data Systems "Done the simple way" - Demi Ben-Ari - Codemotion...
 
More on gdb for my sql db as (fosdem 2016)
More on gdb for my sql db as (fosdem 2016)More on gdb for my sql db as (fosdem 2016)
More on gdb for my sql db as (fosdem 2016)
 
Integration testing - A&BP CC
Integration testing - A&BP CCIntegration testing - A&BP CC
Integration testing - A&BP CC
 
Data ops in practice
Data ops in practiceData ops in practice
Data ops in practice
 
Usable Software Design
Usable Software DesignUsable Software Design
Usable Software Design
 
Bug best practice
Bug best practiceBug best practice
Bug best practice
 

More from Valeriy Kravchuk

Flame Graphs for MySQL DBAs - FOSDEM 2022 MySQL Devroom
Flame Graphs for MySQL DBAs - FOSDEM 2022 MySQL DevroomFlame Graphs for MySQL DBAs - FOSDEM 2022 MySQL Devroom
Flame Graphs for MySQL DBAs - FOSDEM 2022 MySQL DevroomValeriy Kravchuk
 
More on bpftrace for MariaDB DBAs and Developers - FOSDEM 2022 MariaDB Devroom
More on bpftrace for MariaDB DBAs and Developers - FOSDEM 2022 MariaDB DevroomMore on bpftrace for MariaDB DBAs and Developers - FOSDEM 2022 MariaDB Devroom
More on bpftrace for MariaDB DBAs and Developers - FOSDEM 2022 MariaDB DevroomValeriy Kravchuk
 
MariaDB Server on macOS - FOSDEM 2022 MariaDB Devroom
MariaDB Server on macOS -  FOSDEM 2022 MariaDB DevroomMariaDB Server on macOS -  FOSDEM 2022 MariaDB Devroom
MariaDB Server on macOS - FOSDEM 2022 MariaDB DevroomValeriy Kravchuk
 
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021Valeriy Kravchuk
 
Linux /proc filesystem for MySQL DBAs - FOSDEM 2021
Linux  /proc filesystem for MySQL DBAs - FOSDEM 2021Linux  /proc filesystem for MySQL DBAs - FOSDEM 2021
Linux /proc filesystem for MySQL DBAs - FOSDEM 2021Valeriy Kravchuk
 
Dynamic tracing of MariaDB on Linux - problems and solutions (MariaDB Server ...
Dynamic tracing of MariaDB on Linux - problems and solutions (MariaDB Server ...Dynamic tracing of MariaDB on Linux - problems and solutions (MariaDB Server ...
Dynamic tracing of MariaDB on Linux - problems and solutions (MariaDB Server ...Valeriy Kravchuk
 
MariaDB 10.5 new features for troubleshooting (mariadb server fest 2020)
MariaDB 10.5 new features for troubleshooting (mariadb server fest 2020)MariaDB 10.5 new features for troubleshooting (mariadb server fest 2020)
MariaDB 10.5 new features for troubleshooting (mariadb server fest 2020)Valeriy Kravchuk
 
E bpf and dynamic tracing for mariadb db as (mariadb day during fosdem 2020)
E bpf and dynamic tracing for mariadb db as (mariadb day during fosdem 2020)E bpf and dynamic tracing for mariadb db as (mariadb day during fosdem 2020)
E bpf and dynamic tracing for mariadb db as (mariadb day during fosdem 2020)Valeriy Kravchuk
 
Gdb basics for my sql db as (openfest 2017) final
Gdb basics for my sql db as (openfest 2017) finalGdb basics for my sql db as (openfest 2017) final
Gdb basics for my sql db as (openfest 2017) finalValeriy Kravchuk
 
Applying profilers to my sql (fosdem 2017)
Applying profilers to my sql (fosdem 2017)Applying profilers to my sql (fosdem 2017)
Applying profilers to my sql (fosdem 2017)Valeriy Kravchuk
 
MySQL Performance schema missing_manual_flossuk
MySQL Performance schema missing_manual_flossukMySQL Performance schema missing_manual_flossuk
MySQL Performance schema missing_manual_flossukValeriy Kravchuk
 
Mysql 56-experiences-bugs-solutions-50mins
Mysql 56-experiences-bugs-solutions-50minsMysql 56-experiences-bugs-solutions-50mins
Mysql 56-experiences-bugs-solutions-50minsValeriy Kravchuk
 

More from Valeriy Kravchuk (12)

Flame Graphs for MySQL DBAs - FOSDEM 2022 MySQL Devroom
Flame Graphs for MySQL DBAs - FOSDEM 2022 MySQL DevroomFlame Graphs for MySQL DBAs - FOSDEM 2022 MySQL Devroom
Flame Graphs for MySQL DBAs - FOSDEM 2022 MySQL Devroom
 
More on bpftrace for MariaDB DBAs and Developers - FOSDEM 2022 MariaDB Devroom
More on bpftrace for MariaDB DBAs and Developers - FOSDEM 2022 MariaDB DevroomMore on bpftrace for MariaDB DBAs and Developers - FOSDEM 2022 MariaDB Devroom
More on bpftrace for MariaDB DBAs and Developers - FOSDEM 2022 MariaDB Devroom
 
MariaDB Server on macOS - FOSDEM 2022 MariaDB Devroom
MariaDB Server on macOS -  FOSDEM 2022 MariaDB DevroomMariaDB Server on macOS -  FOSDEM 2022 MariaDB Devroom
MariaDB Server on macOS - FOSDEM 2022 MariaDB Devroom
 
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
Tracing MariaDB server with bpftrace - MariaDB Server Fest 2021
 
Linux /proc filesystem for MySQL DBAs - FOSDEM 2021
Linux  /proc filesystem for MySQL DBAs - FOSDEM 2021Linux  /proc filesystem for MySQL DBAs - FOSDEM 2021
Linux /proc filesystem for MySQL DBAs - FOSDEM 2021
 
Dynamic tracing of MariaDB on Linux - problems and solutions (MariaDB Server ...
Dynamic tracing of MariaDB on Linux - problems and solutions (MariaDB Server ...Dynamic tracing of MariaDB on Linux - problems and solutions (MariaDB Server ...
Dynamic tracing of MariaDB on Linux - problems and solutions (MariaDB Server ...
 
MariaDB 10.5 new features for troubleshooting (mariadb server fest 2020)
MariaDB 10.5 new features for troubleshooting (mariadb server fest 2020)MariaDB 10.5 new features for troubleshooting (mariadb server fest 2020)
MariaDB 10.5 new features for troubleshooting (mariadb server fest 2020)
 
E bpf and dynamic tracing for mariadb db as (mariadb day during fosdem 2020)
E bpf and dynamic tracing for mariadb db as (mariadb day during fosdem 2020)E bpf and dynamic tracing for mariadb db as (mariadb day during fosdem 2020)
E bpf and dynamic tracing for mariadb db as (mariadb day during fosdem 2020)
 
Gdb basics for my sql db as (openfest 2017) final
Gdb basics for my sql db as (openfest 2017) finalGdb basics for my sql db as (openfest 2017) final
Gdb basics for my sql db as (openfest 2017) final
 
Applying profilers to my sql (fosdem 2017)
Applying profilers to my sql (fosdem 2017)Applying profilers to my sql (fosdem 2017)
Applying profilers to my sql (fosdem 2017)
 
MySQL Performance schema missing_manual_flossuk
MySQL Performance schema missing_manual_flossukMySQL Performance schema missing_manual_flossuk
MySQL Performance schema missing_manual_flossuk
 
Mysql 56-experiences-bugs-solutions-50mins
Mysql 56-experiences-bugs-solutions-50minsMysql 56-experiences-bugs-solutions-50mins
Mysql 56-experiences-bugs-solutions-50mins
 

Recently uploaded

Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 

Recently uploaded (20)

Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 

How to create a useful my sql bug report fosdem 2019

  • 1. How to create a useful MySQL bug report ...and make sure it is properly processed Valerii Kravchuk, Principal Support Engineer, MariaDB vkravchuk@gmail.com 1
  • 2. www.percona.com Who am I and why this is about MySQL bugs? Valerii (aka Valeriy) Kravchuk: ● MySQL Support Engineer (bugs verification team) in MySQL AB, Sun and Oracle, 2005 - 2012 ● Principal Support Engineer in Percona, 2012 - 2016 ● Principal Support Engineer in MariaDB Corporation since March 2016 ● http://mysqlentomologist.blogspot.com - my blog about MySQL (a lot about MySQL bugs, but some HowTos as well) ● https://www.facebook.com/valerii.kravchuk - my Facebook page, a lot about MySQL (mostly bugs, rants and links to blog posts…) ● http://bugs.mysql.com - it used to be my personal playground ● @mysqlbugs - #bugoftheday on Twitter ● I like FOSDEM, see slides from my previous talks: ○ http://www.slideshare.net/valeriikravchuk1/fosdem2015-gdb-tips-and-tricks-for-my-sql-db-as ○ http://www.slideshare.net/ValeriyKravchuk/more-on-gdb-for-my-sql-db-as-fosdem-2016 ○ https://www.slideshare.net/ValeriyKravchuk/applying-profilers-to-my-sql-fosdem-2017 2
  • 3. www.percona.com Topics to discuss ● Why should we report bugs at https://bugs.mysql.com (or other public tracker)? ● 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? ● Life cycle of Oracle/MySQL public bug report ● Life cycle of MariaDB JIRA bug report ● Examples of useful bug reports ● Examples of useless bug reports ● How to escalate bug reports? 3
  • 4. www.percona.com Always report bugs in public! ● Why? I am customer! ○ I tried to explain in a separate blog post ○ Public bug reports are easy to search for: site:bugs.mysql.com drop add index InnoDB ○ Public bug reports becomes visible to other customers, community members and MySQL support providers and developers outside of Oracle ● Public bug trackers: ○ https://bugs.mysql.com - MySQL software from Oracle ○ https://jira.mariadb.org/browse/MDEV - MariaDB Server ○ https://jira.percona.com/browse/PS - Percona Server ● What about security bugs? ○ Do NOT report bug as a “security” one unless it is really that serious 4
  • 5. www.percona.com Features of a useful bug report ● It’s a real, new bug that was never reported before (or was once fixed but now appeared again, “regression”) ● It’s clear what the bug is and how to reproduce it ● Bug reporter cared to check on the latest officially released version in the branch (?) What if it’s on a custom build from GitHub source code? ● All important details about the environment and impact are provided ● It’s clear that bug reporter spent enough efforts on it (search, testing, minimal test case) (?) ● Anything wrong or missed in the above? (use proper tags) 5
  • 6. www.percona.com Before reporting a bug... ● Try to find similar already reported bugs ● Try to find a solution/reason by reading the manual ● Try to reproduce the bug in a “clean environment” ● Make sure you’ve read vendor-specific (and product specific, if any) instructions: ○ https://mariadb.com/kb/en/mariadb/development/debugging-mariadb/report ing-bugs/ ○ https://bugs.mysql.com/how-to-report.php ○ http://mysqlworkbench.org/faq/faq-bugreporting/ ● Make sure you’ve read this entirely at least once: http://www.catb.org/esr/faqs/smart-questions.html 6
  • 7. www.percona.com How to search for known bugs? ● Use Google like this: site:bugs.mysql.com drop table slow and 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 ● Do not ignore bug tracker specific search: ○ Specific categories ○ Bugs vs. Feature requests ○ Specific version, bug status, q etc ● Study features and limitations of your search tools ● Keep your own notes and test cases “database” 7
  • 8. Tools for bug reporters (and QA engineers) ● MySQL Sandbox (dbdeployer), Docker, VMs ● MTR (MySQL regression test suite) ● OS tools: gdb, strace, lsof, perf... ● Percona Toolkit (pt-summary, pt-mysql-summary, pt-pmp) ● sysbench in case of performance problems ● Debug binaries and trace ● Valgrind and Massif: ○ http://www.percona.com/blog/2013/01/09/profiling-mysql-memory-usage-with-valgrind-massif/ ● Randgen (RQG) ○ http://www.percona.com/blog/2014/04/17/how-to-find-bugs-in-mysql/ ● Percona QA tools: ○ http://www.percona.com/blog/2014/09/03/reducer-sh-a-powerful-mysql-test-case-simplificationre ducer-tool/ ● Anything else? 8
  • 9. Life cycle of a MySQL bug http://mysqlentomologist.blogspot.com/2013/01/life-cycle-of-mysql-bug.html ● Open ● Analyzing (usually assigned) ● Need Feedback → No Feedback (expires in 30 days) ● Can’t repeat ● Verified → copied to internal database → Closed one day ● Not a Bug ● Duplicate ● Unsupported ● Won’t fix ● In progress… (real progress happens elsewhere) ● Closed ← when fixed in internal database, before release ● What about feature requests? 9
  • 10. www.percona.com Life cycle of a MariaDB (Server) bug (JIRA issue) http://mysqlentomologist.blogspot.com/2018/12/mariadb-jira-for-mysql-dbas.html ● OPEN - may be assigned, may need feedback ● CONFIRMED - usually also assigned ● STALLED - some work on it was performed ● IN PROGRESS - assignee is currently working on the fix for the bug. ● IN REVIEW - assignee is currently reviewing the fix for the bug. ● CLOSED - the bug is resolved somehow. "Resolution": ○ Fixed ○ Duplicate ○ Won’t Fix ○ Cannot reproduce ○ Incomplete ○ Not a Bug ● See also a table that matches MySQL “Status” with MariaDB “Status” + “Resolution” + “Labels” here 10
  • 11. www.percona.com Examples of useful bug reports ● Bug #93963 - steps to create big enough table are missed, but otherwise it’s clear and important detail (regression vs 5.7) is highlighted ● Bug #93957 - refers to older bug (with proper public test case) that was closed/fixed, but seems to re-appear in 5.7.24. ● Bug #91941 - gdb backtrace from production, collective efforts ● Bug #69979 - test case, how repeatable read works (NaB, but useful reading!) ● Bug #73837 - how to report optimizer bugs ● Bug #68705 - Valgrind in use. Still just “Verified”. ● Bug #73825 - simple wrong results bug. Still just “Verified”. ● Bug #73881 - RQG in action. Still just “Verified”. ● Bug #68554 - optimizer trace, level of details, how ICP works ● Bug #69253 - with patch suggested (mind OCA) ● Bug #73018 - even perfect reports with a patch and OCA signed may stay Open or Verified for years 11
  • 12. www.percona.com Examples of useless bug reports ● Bug #55796 - “it really sucks”, gotcha… Read the manual, ask for a feature... ● Bug #73960 - “this query is very slow”, no facts, no feedback ● Bug #73921 - free support request, no feedback eventually ● Bug #73844 - near zero information, no feedback 12
  • 13. www.percona.com How to escalate the bug? Verified (or Open but real) bug is not fixed. What to do? ● Cooperate, try to provide feedback when requested ● Comment, ask, curse, complain in report ● Ask others to comment, use “Affects Me” button or similar ● Report it again? Only if closed bug is still repeatable ● Report it in other bug tracker (to other company) ● Ask some developer in private ● Blog about it ● Open issue (support request) about it ● Complain in social media ● Tell me (or somebody who cares) about it 13
  • 14. www.percona.com They process your bug reports! ● Umesh Shastry (Oracle, 50+% of all bugs Verified) ● Shane Bester (MySQL, Sun, Oracle) ● Miguel Solorzano (MySQL, Sun, Oracle) ● Elena Stepanova (Sun, Oracle, MariaDB) ● Sveta Smirnova (MySQL, Sun, Oracle, Percona) ● Laurynas Biveinis (Percona) ● Roel Van de Paar (MySQL, Sun, Oracle, Percona) 14
  • 15. www.percona.com Any specific bug reports you want to discuss? ● Find me somewhere around today ● Ask me at Facebook or Twitter ● That’s what I’d like to discuss today: “Private” and “Security” bugs in public bugs databases. Should they exist, who decides on these statuses, when they should become public (including test cases)? 15
  • 16. www.percona.com Thank you! Questions and Answers? Please, report bugs at: https://bugs.mysql.com https://jira.mariadb.org https://jira.percona.com 16