Insight for DBAs

MySQL QA Episode 10: Reproducing and Simplifying: How to get it Right

Welcome to the 10th episode in the MySQL QA series! Today we’ll talk about reproducing and simplifying: How to get it Right. Note that unless you are a QA engineer stuck on a remote, and additionally difficult-to-reproduce or difficult-to-reduce bug, this episode will largely be non-interesting for you. However, what you may like to see […]

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 […]

Playing with Percona XtraDB Cluster in Docker

Like any good, thus lazy, engineer I don’t like to start things manually. Creating directories, configuration files, specify paths, ports via command line is too boring. I wrote already how I survive in case when I need to start MySQL server (here). There is also the MySQL Sandbox which can be used for the same […]

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 […]