Insight for DBAs

MySQL QA Episode 9: Reducing Testcases for Experts: multi-threaded reducer.sh

Welcome to MySQL QA Episode 9. This episode will go more in-depth into reducer.sh: Reducing Testcases for Experts: multi-threaded reducer.sh We will explore how to use reducer.sh to do true multi-threaded testcase reduction – a world’s first. Topics: Expert configurable variables & their default reducer.sh settings PQUERY_MULTI PQUERY_MULTI_THREADS PQUERY_MULTI_CLIENT_THREADS PQUERY_MULTI_QUERIES PQUERY_REVERSE_NOSHUFFLE_OPT Full-screen viewing @ 720p resolution […]

MySQL QA Episode 8: Reducing Testcases for Engineers: tuning reducer.sh

Welcome to MySQL QA Episode 8: Reducing Testcases for Engineers: tuning reducer.sh Advanced configurable variables & their default/vanilla reducer.sh settings FORCE_SKIPV FORCE_SPORADIC TIMEOUT_COMMAND & TIMEOUT_CHECK MULTI_THREADS MULTI_THREADS_INCREASE QUERYTIMEOUT STAGE1_LINES SKIPSTAGE FORCE_KILL Some examples FORCE_SKIPV/FORCE_SPORADIC TIMEOUT_COMMAND/TIMEOUT_CHECK Full-screen viewing @ 720p resolution recommended.

MySQL QA Episode 7: Reducing Testcases for Beginners – single-threaded reducer.sh!

Welcome to MySQL QA Episode #7 – Reducing Testcases for Beginners: single-threaded reducer.sh! In this episode we’ll learn how to use reducer.sh. Topics discussed; reducer.sh introduction/concepts Basic configurable variables & their default reducer.sh settings INPUTFILE options MODE=x TEXT=”text” WORKDIR_LOCATION & WORKDIR_M3_DIRECTORY MYEXTRA MYBASE PQUERY_MOD & PQUERY_LOC MODE5_COUNTTEXT, MODE5_ADDITIONAL_TEXT & MODE5_ADDITIONAL_COUNTTEXT How to learn more about each […]

MySQL QA Episode 6: Analyzing and Filtering

Welcome to MySQL QA Episode #6! Today we will look into analyzing and filtering our QA run. We’ll use tools like pquery-prep-red.sh, pquery-clean-known.sh & pquery-results.sh 1. Quick re-cap and QA run setup 2. pquery-prep-red.sh 3. pquery-clean-known.sh 4. pquery-results.sh 5. Bonus: pquery reach – pquery-reach++.sh We’ll also introduce the text_string.sh tool which extracts a most-specific text string […]

MySQL QA Episode 5: Preparing Your QA Run with pquery

Welcome to MySQL QA Episode #5! In this episode we’ll be setting up and running pquery for the first time… and I’ll also trigger some actual bugs (fun guaranteed)! I’ll also introduce you to mtr_to_sql.sh and pquery-run.sh. pquery-run.sh (the main wrapper around pquery) is capable of generating 80-120 MySQL Server crashes – per hour! See how […]

MySQL QA Episode 4: QA Framework Setup Time!

Welcome to MySQL QA Episode 4! In this episode we’ll look into setting up our QA Framework: percona-qa, pquery, reducer & more. 1. All about percona-qa 2. pquery

3. reducer.sh

4. Short introduction to pquery framework tools The tools introduced in this episode will be covered further in next two episodes. Full-screen viewing @ […]

MySQL QA Episode 3: How to use the debugging tool GDB

Welcome to MySQL QA Episode 3: “Debugging: GDB, Backtraces, Frames and Library Dependencies” In this episode you’ll learn how to use debugging tool GDB. The following debugging topics are covered: 1. GDB Introduction 2. Backtrace, Stack trace 3. Frames 4. Commands & Logging 5. Variables 6. Library dependencies 7. c++filt 8. Handy references – GDB Cheat […]

MySQL QA Episode 2: Build a MySQL server – Git, Bazaar, Compiling & Build tools

Welcome to MySQL QA Episode 2: Build a MySQL Server – Git, Bazaar (bzr), Compiling, and Build Tools In this episode you’ll learn how to build Percona Server and/or MySQL Server for QA purposes & more in this short 25 minute tutorial. In HD quality (set your player to 720p!) To watch the other episodes […]

pquery binaries with statically included client libs now available!

After we released pquery to the community, and as we started logging bug reports with pquery testcases, it quickly became clear that pquery binaries with statically compiled-in client libraries would be of great convenience, both for ourselves and for the community. (If you haven’t heard about pquery yet, read the pquery introduction blog post, come and […]