test-data-dictionary-via-randgen

Registered by Patrick Crews

Create more tests for data_dictionary tables to be used with the randgen.
Specifically, we are interested in higher-concurrency situations where multiple users are looking at the data_dictionary tables and situations where there is background activity (SELECT, UPDATE, INSERT, etc) and concurrent data_dictionary queries.

Whiteboard

Started hacking on randgen grammars.

Created data_dict_concurrent_drizzle.yy - designed for high concurrency situations - generates a variety of SHOW / SELECT queries against data_dictionary tables. Can be used with other grammars running in another randgen process to create background load.

This initial grammar is the first step - checking concurrency against *just* the data_dictionary tables. It should be noted that Drizzle passes with flying colors here - running with --queries=100K --threads=100 = no crashes.

Running with another grammar in the background = crashes that have been linked to the blueprint.

Detected an additional crash by modifying optimizer_subquery_drizzle.yy to either generate a SHOW PROCESSLIST or a nasty subquery (skewed towards query generation) - running with --threads=10.

We have implemented several new grammars designed to stress / test the data dictionary in concurrent situations.
outer_join_data_dictionary_drizzle.yy - this grammar takes the outer_join grammar and introduces the option of also generating queries against the data_dictionary (SHOW commands + SELECT * FROM data_dictionary_table).

optimizer_subquery_data_dictionary_drizzle.yy - same as outer_join above, but with the optimizer_subquery grammar's queries

proclist_drizzle.yy - generates only SHOW commands + SELECT queries against data_dictionary tables. Suitable for either stand-alone use or with another randgen process running a separate grammar in the background.

proclist_subquery_drizzle.yy - uses optimizer_subquery_drizzle's queries + the chance to issue SHOW PROCESSLIST commands. Has found a couple of crashes.

data_dict_concurrent_drizzle.yy - generates a load against the data_dictionary. Suitable as a standalone grammar or in conjunction with another randgen process generating a background load.

All tests have been added to drizzle-automation's randgen config files. They are disabled at the moment while current bugs are closed.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.