mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Bug#16060864 SEGMENTATION FAULT IN PERFORMANCE_SCHEMA WITH HISTORY SIZE 0
Before this fix, configuring the server with: - performance_schema_events_waits_history_size=0 - performance_schema_events_waits_history_long_size=0 could cause a crash in the performance schema. These settings to 0 are intended to be valid and supported, and are in fact working properly in mysql 5.6 and up already. This fix backports the code fix and test cases from mysql 5.6 to the mysql 5.5 release.
This commit is contained in:
@ -0,0 +1,2 @@
|
||||
--loose-enable-performance-schema
|
||||
--loose-performance_schema_events_waits_history_size=0
|
@ -0,0 +1,14 @@
|
||||
# Tests for PERFORMANCE_SCHEMA
|
||||
|
||||
--source include/not_embedded.inc
|
||||
--source include/have_perfschema.inc
|
||||
|
||||
--source ../include/start_server_common.inc
|
||||
|
||||
# Expect no history
|
||||
show variables like "performance_schema_events_waits_history_size";
|
||||
select count(*) from performance_schema.events_waits_history;
|
||||
|
||||
# Valid operation, edge case
|
||||
truncate table performance_schema.events_waits_history;
|
||||
|
@ -0,0 +1,2 @@
|
||||
--loose-enable-performance-schema
|
||||
--loose-performance_schema_events_waits_history_long_size=0
|
@ -0,0 +1,14 @@
|
||||
# Tests for PERFORMANCE_SCHEMA
|
||||
|
||||
--source include/not_embedded.inc
|
||||
--source include/have_perfschema.inc
|
||||
|
||||
--source ../include/start_server_common.inc
|
||||
|
||||
# Expect no history long
|
||||
show variables like "performance_schema_events_waits_history_long_size";
|
||||
select count(*) from performance_schema.events_waits_history_long;
|
||||
|
||||
# Valid operation, edge case
|
||||
truncate table performance_schema.events_waits_history_long;
|
||||
|
@ -0,0 +1,19 @@
|
||||
--loose-enable-performance-schema
|
||||
|
||||
--loose-performance_schema_events_waits_history_long_size=0
|
||||
--loose-performance_schema_events_waits_history_size=0
|
||||
|
||||
--loose-performance_schema_max_mutex_classes=0
|
||||
--loose-performance_schema_max_rwlock_classes=0
|
||||
--loose-performance_schema_max_cond_classes=0
|
||||
--loose-performance_schema_max_file_classes=0
|
||||
--loose-performance_schema_max_thread_classes=0
|
||||
|
||||
--loose-performance_schema_max_mutex_instances=0
|
||||
--loose-performance_schema_max_rwlock_instances=0
|
||||
--loose-performance_schema_max_cond_instances=0
|
||||
--loose-performance_schema_max_file_instances=0
|
||||
--loose-performance_schema_max_thread_instances=0
|
||||
|
||||
--loose-performance_schema_max_file_handles=0
|
||||
|
30
mysql-test/suite/perfschema/t/start_server_nothing.test
Normal file
30
mysql-test/suite/perfschema/t/start_server_nothing.test
Normal file
@ -0,0 +1,30 @@
|
||||
# Tests for PERFORMANCE_SCHEMA
|
||||
|
||||
--source include/not_embedded.inc
|
||||
--source include/have_perfschema.inc
|
||||
|
||||
--source ../include/start_server_common.inc
|
||||
|
||||
show variables like "performance_schema%";
|
||||
|
||||
# Not empty
|
||||
select * from performance_schema.setup_instruments;
|
||||
select TIMER_NAME from performance_schema.performance_timers;
|
||||
select * from performance_schema.setup_consumers;
|
||||
select NAME from performance_schema.setup_timers;
|
||||
|
||||
# All empty
|
||||
select * from performance_schema.cond_instances;
|
||||
select * from performance_schema.events_waits_current;
|
||||
select * from performance_schema.events_waits_history;
|
||||
select * from performance_schema.events_waits_history_long;
|
||||
select * from performance_schema.events_waits_summary_by_instance;
|
||||
select * from performance_schema.events_waits_summary_by_thread_by_event_name;
|
||||
select * from performance_schema.events_waits_summary_global_by_event_name;
|
||||
select * from performance_schema.file_instances;
|
||||
select * from performance_schema.file_summary_by_event_name;
|
||||
select * from performance_schema.file_summary_by_instance;
|
||||
select * from performance_schema.mutex_instances;
|
||||
select * from performance_schema.rwlock_instances;
|
||||
select * from performance_schema.threads;
|
||||
|
Reference in New Issue
Block a user