Multiple issues with performance_schema_max_statement_classes
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MySQL Server |
Unknown
|
Unknown
|
|||
Percona Server moved to https://jira.percona.com/projects/PS |
Fix Released
|
Medium
|
Sergei Glushchenko | ||
5.1 |
Invalid
|
Undecided
|
Unassigned | ||
5.5 |
Invalid
|
Undecided
|
Unassigned | ||
5.6 |
Fix Released
|
Medium
|
Sergei Glushchenko |
Bug Description
Reporting http://
The manual states the following about performance_
- it is "The maximum number of statement instruments."
- its default value is 100.
Issues:
1. The default value is wrong. On 5.6.10 the default value is 167
2. The default value is automatically calculated at compile time based on the number of protocol commands and SQL statement types supported by the server.
3. That automatically calculated value is enforced by 83 tests in the test suite. Which makes introducing and maintaining new commands or statement types a nightmare. Whenever a new command/type is added, one has to update 83 totally unrelated test cases. Is it possible to change the default to a sufficiently large constant and thus not introduce additional maintenance work for other MySQL branches?
4. The effect of changing that variable is absolutely unclear from the docs. What happens when it's set to a lower value than the automatically calculated default? What happens when it's set to a higher (e.g. the maximum allowed) value?
Related branches
- Alexey Kopytov (community): Approve
-
Diff: 1160 lines (+164/-304)97 files modifiedPercona-Server/mysql-test/include/default_mysqld_autosize.cnf (+3/-0)
Percona-Server/mysql-test/include/mysqld--help.inc (+2/-1)
Percona-Server/mysql-test/r/mysqld--help-notwin.result (+0/-1)
Percona-Server/mysql-test/r/mysqld--help-win.result (+0/-1)
Percona-Server/mysql-test/suite/perfschema/include/sizing_auto.inc (+0/-1)
Percona-Server/mysql-test/suite/perfschema/r/digest_table_full.result (+2/-2)
Percona-Server/mysql-test/suite/perfschema/r/ortho_iter.result (+0/-58)
Percona-Server/mysql-test/suite/perfschema/r/rpl_gtid_func.result (+2/-2)
Percona-Server/mysql-test/suite/perfschema/r/sizing_default.result (+0/-25)
Percona-Server/mysql-test/suite/perfschema/r/sizing_high.result (+0/-25)
Percona-Server/mysql-test/suite/perfschema/r/sizing_low.result (+0/-25)
Percona-Server/mysql-test/suite/perfschema/r/sizing_med.result (+0/-25)
Percona-Server/mysql-test/suite/perfschema/r/start_server_innodb.result (+0/-25)
Percona-Server/mysql-test/suite/perfschema/r/start_server_on.result (+0/-25)
Percona-Server/mysql-test/suite/perfschema/r/statement_digest.result (+37/-37)
Percona-Server/mysql-test/suite/perfschema/r/statement_digest_consumers.result (+37/-37)
Percona-Server/mysql-test/suite/perfschema/r/statement_digest_long_query.result (+2/-2)
Percona-Server/mysql-test/suite/perfschema/t/digest_table_full.test (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/ortho_iter.test (+0/-4)
Percona-Server/mysql-test/suite/perfschema/t/privilege_table_io-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/rpl_gtid_func.test (+2/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_disable_idle-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_disable_stages-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_disable_statements-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_disable_waits-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_innodb-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_innodb.test (+0/-4)
Percona-Server/mysql-test/suite/perfschema/t/start_server_no_account-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_no_cond_class-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_no_cond_inst-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_no_digests-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_no_file_class-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_no_file_inst-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_no_host-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_no_mutex_class-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_no_mutex_inst-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_no_rwlock_class-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_no_rwlock_inst-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_no_setup_actors-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_no_setup_objects-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_no_socket_class-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_no_socket_inst-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_no_stage_class-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_no_stages_history-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_no_stages_history_long-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_no_statements_history-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_no_statements_history_long-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_no_table_hdl-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_no_table_inst-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_no_thread_class-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_no_thread_inst-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_no_user-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_no_waits_history-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_no_waits_history_long-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_off-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_on-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/start_server_on.test (+0/-4)
Percona-Server/mysql-test/suite/perfschema/t/statement_digest.test (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/statement_digest_consumers.test (+2/-0)
Percona-Server/mysql-test/suite/perfschema/t/statement_digest_long_query.test (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_aggregate_global_2u_2t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_aggregate_global_2u_3t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_aggregate_global_4u_2t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_aggregate_global_4u_3t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_aggregate_hist_2u_2t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_aggregate_hist_2u_3t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_aggregate_hist_4u_2t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_aggregate_hist_4u_3t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_aggregate_off-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_aggregate_thread_2u_2t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_aggregate_thread_2u_3t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_aggregate_thread_4u_2t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_aggregate_thread_4u_3t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_io_aggregate_global_2u_2t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_io_aggregate_global_2u_3t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_io_aggregate_global_4u_2t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_io_aggregate_global_4u_3t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_io_aggregate_hist_2u_2t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_io_aggregate_hist_2u_3t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_io_aggregate_hist_4u_2t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_io_aggregate_hist_4u_3t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_io_aggregate_thread_2u_2t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_io_aggregate_thread_2u_3t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_io_aggregate_thread_4u_2t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_io_aggregate_thread_4u_3t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_lock_aggregate_global_2u_2t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_lock_aggregate_global_2u_3t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_lock_aggregate_global_4u_2t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_lock_aggregate_global_4u_3t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_2u_2t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_2u_3t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_4u_2t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_lock_aggregate_hist_4u_3t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_2u_2t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_2u_3t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_4u_2t-master.opt (+1/-0)
Percona-Server/mysql-test/suite/perfschema/t/table_lock_aggregate_thread_4u_3t-master.opt (+1/-0)
Looks like majority of tests which affected by this option have it's own -master.opt, so every test should be fixed individually.