From 227dfa6ea77fd209dd1235ebdfd6dfc3f5a7b512 Mon Sep 17 00:00:00 2001 From: Brian Fraser Date: Fri, 2 Nov 2012 00:21:48 -0300 Subject: [PATCH 1/5] Fix for 1015590: pt-mysql-summary not Percona Server 5.5-ready --- bin/pt-mysql-summary | 64 ++- lib/bash/report_mysql_info.sh | 71 +++- t/lib/bash/report_mysql_info.sh | 14 +- .../samples/expected_output_ps-features.txt | 12 + .../samples/expected_output_temp002.txt | 16 +- .../samples/percona-server-5.5-variables | 380 ++++++++++++++++++ 6 files changed, 514 insertions(+), 43 deletions(-) create mode 100644 t/pt-mysql-summary/samples/expected_output_ps-features.txt create mode 100644 t/pt-mysql-summary/samples/percona-server-5.5-variables diff --git a/bin/pt-mysql-summary b/bin/pt-mysql-summary index 35336559..576dc2a6 100755 --- a/bin/pt-mysql-summary +++ b/bin/pt-mysql-summary @@ -1004,19 +1004,19 @@ feat_on() { local varname="$2" [ -e "$file" ] || return - if [ "$( get_var "$varname" "${file}" )" ]; then + if [ "$( grep "$varname" "${file}" )" ]; then local var="$(awk "\$1 ~ /^$2$/ { print \$2 }" $file)" if [ "${var}" = "ON" ]; then echo "Enabled" elif [ "${var}" = "OFF" -o "${var}" = "0" -o -z "${var}" ]; then echo "Disabled" - elif [ "$3" = "ne" ]; then + elif [ "${3:-""}" = "ne" ]; then if [ "${var}" != "$4" ]; then echo "Enabled" else echo "Disabled" fi - elif [ "$3" = "gt" ]; then + elif [ "${3:-""}" = "gt" ]; then if [ "${var}" -gt "$4" ]; then echo "Enabled" else @@ -1741,26 +1741,56 @@ section_percona_server_features () { [ -e "$file" ] || return - name_val "Table & Index Stats" \ - "$(feat_on "$file" userstat_running)" + local userstat="$(feat_on "$file" userstat_running)" + if [ "${userstat:-""}" = "Not Supported" ]; then + userstat="$(feat_on "$file" userstat)" + fi + name_val "Table & Index Stats" "$userstat" + name_val "Multiple I/O Threads" \ "$(feat_on "$file" innodb_read_io_threads gt 1)" - name_val "Corruption Resilient" \ - "$(feat_on "$file" innodb_pass_corrupt_table)" - name_val "Durable Replication" \ - "$(feat_on "$file" innodb_overwrite_relay_log_info)" - name_val "Import InnoDB Tables" \ - "$(feat_on "$file" innodb_expand_import)" - name_val "Fast Server Restarts" \ - "$(feat_on "$file" innodb_auto_lru_dump)" + + local corrupt_res="$(feat_on "$file" innodb_pass_corrupt_table)" + if [ "${corrupt_res:-""}" = "Not Supported" ]; then + corrupt_res="$(feat_on "$file" innodb_corrupt_table_action)" + fi + name_val "Corruption Resilient" "$corrupt_res" + + local durable_repl="$(feat_on "$file" innodb_overwrite_relay_log_info)" + if [ "${durable_repl:-""}" = "Not Supported" ]; then + durable_repl="$(feat_on "$file" innodb_recovery_update_relay_log)" + fi + name_val "Durable Replication" "$durable_repl" + + local import_innodb="$(feat_on "$file" innodb_expand_import)" + if [ "${import_innodb:-""}" = "Not Supported" ]; then + import_innodb="$(feat_on "$file" innodb_import_table_from_xtrabackup)" + fi + name_val "Import InnoDB Tables" "$import_innodb" + + local fast_restarts="$(feat_on "$file" innodb_auto_lru_dump)" + if [ "${fast_restarts:-""}" = "Not Supported" ]; then + fast_restarts="$(feat_on "$file" innodb_buffer_pool_restore_at_startup)" + fi + name_val "Fast Server Restarts" "$fast_restarts" + name_val "Enhanced Logging" \ "$(feat_on "$file" log_slow_verbosity ne microtime)" name_val "Replica Perf Logging" \ "$(feat_on "$file" log_slow_slave_statements)" - name_val "Response Time Hist." \ - "$(feat_on "$file" enable_query_response_time_stats)" - name_val "Smooth Flushing" \ - "$(feat_on "$file" innodb_adaptive_checkpoint ne none)" + + local resp_time_hist="$(feat_on "$file" enable_query_response_time_stats)" + if [ "${resp_time_hist:-""}" = "Not Supported" ]; then + resp_time_hist="$(feat_on "$file" query_response_time_stats)" + fi + name_val "Response Time Hist." "$resp_time_hist" + + local smooth_flushing="$(feat_on "$file" innodb_adaptive_checkpoint)" + if [ "${smooth_flushing:-""}" = "Not Supported" ]; then + smooth_flushing="$(feat_on "$file" innodb_adaptive_flushing_method)" + fi + name_val "Smooth Flushing" "$smooth_flushing" + name_val "HandlerSocket NoSQL" \ "$(feat_on "$file" handlersocket_port)" name_val "Fast Hash UDFs" \ diff --git a/lib/bash/report_mysql_info.sh b/lib/bash/report_mysql_info.sh index ba197ff8..9706fbd7 100644 --- a/lib/bash/report_mysql_info.sh +++ b/lib/bash/report_mysql_info.sh @@ -40,19 +40,19 @@ feat_on() { local varname="$2" [ -e "$file" ] || return - if [ "$( get_var "$varname" "${file}" )" ]; then + if [ "$( grep "$varname" "${file}" )" ]; then local var="$(awk "\$1 ~ /^$2$/ { print \$2 }" $file)" if [ "${var}" = "ON" ]; then echo "Enabled" elif [ "${var}" = "OFF" -o "${var}" = "0" -o -z "${var}" ]; then echo "Disabled" - elif [ "$3" = "ne" ]; then + elif [ "${3:-""}" = "ne" ]; then if [ "${var}" != "$4" ]; then echo "Enabled" else echo "Disabled" fi - elif [ "$3" = "gt" ]; then + elif [ "${3:-""}" = "gt" ]; then if [ "${var}" -gt "$4" ]; then echo "Enabled" else @@ -829,26 +829,63 @@ section_percona_server_features () { [ -e "$file" ] || return - name_val "Table & Index Stats" \ - "$(feat_on "$file" userstat_running)" + # Renamed to userstat in 5.5.10-20.1 + local userstat="$(feat_on "$file" userstat_running)" + if [ "${userstat:-""}" = "Not Supported" ]; then + userstat="$(feat_on "$file" userstat)" + fi + name_val "Table & Index Stats" "$userstat" + name_val "Multiple I/O Threads" \ "$(feat_on "$file" innodb_read_io_threads gt 1)" - name_val "Corruption Resilient" \ - "$(feat_on "$file" innodb_pass_corrupt_table)" - name_val "Durable Replication" \ - "$(feat_on "$file" innodb_overwrite_relay_log_info)" - name_val "Import InnoDB Tables" \ - "$(feat_on "$file" innodb_expand_import)" - name_val "Fast Server Restarts" \ - "$(feat_on "$file" innodb_auto_lru_dump)" + + # Renamed to innodb_corrupt_table_action in 5.5.10-20.1 + local corrupt_res="$(feat_on "$file" innodb_pass_corrupt_table)" + if [ "${corrupt_res:-""}" = "Not Supported" ]; then + corrupt_res="$(feat_on "$file" innodb_corrupt_table_action)" + fi + name_val "Corruption Resilient" "$corrupt_res" + + # Renamed to innodb_recovery_update_relay_log in 5.5.10-20.1 + local durable_repl="$(feat_on "$file" innodb_overwrite_relay_log_info)" + if [ "${durable_repl:-""}" = "Not Supported" ]; then + durable_repl="$(feat_on "$file" innodb_recovery_update_relay_log)" + fi + name_val "Durable Replication" "$durable_repl" + + # Renamed to innodb_import_table_from_xtrabackup in 5.5.10-20.1 + local import_innodb="$(feat_on "$file" innodb_expand_import)" + if [ "${import_innodb:-""}" = "Not Supported" ]; then + import_innodb="$(feat_on "$file" innodb_import_table_from_xtrabackup)" + fi + name_val "Import InnoDB Tables" "$import_innodb" + + # Renamed to innodb_buffer_pool_restore_at_startup in 5.5.10-20.1 + local fast_restarts="$(feat_on "$file" innodb_auto_lru_dump)" + if [ "${fast_restarts:-""}" = "Not Supported" ]; then + fast_restarts="$(feat_on "$file" innodb_buffer_pool_restore_at_startup)" + fi + name_val "Fast Server Restarts" "$fast_restarts" + name_val "Enhanced Logging" \ "$(feat_on "$file" log_slow_verbosity ne microtime)" name_val "Replica Perf Logging" \ "$(feat_on "$file" log_slow_slave_statements)" - name_val "Response Time Hist." \ - "$(feat_on "$file" enable_query_response_time_stats)" - name_val "Smooth Flushing" \ - "$(feat_on "$file" innodb_adaptive_checkpoint ne none)" + + # Renamed to query_response_time_stats in 5.5 + local resp_time_hist="$(feat_on "$file" enable_query_response_time_stats)" + if [ "${resp_time_hist:-""}" = "Not Supported" ]; then + resp_time_hist="$(feat_on "$file" query_response_time_stats)" + fi + name_val "Response Time Hist." "$resp_time_hist" + + # Renamed to innodb_adaptive_flushing_method in 5.5 + local smooth_flushing="$(feat_on "$file" innodb_adaptive_checkpoint)" + if [ "${smooth_flushing:-""}" = "Not Supported" ]; then + smooth_flushing="$(feat_on "$file" innodb_adaptive_flushing_method)" + fi + name_val "Smooth Flushing" "$smooth_flushing" + name_val "HandlerSocket NoSQL" \ "$(feat_on "$file" handlersocket_port)" name_val "Fast Hash UDFs" \ diff --git a/t/lib/bash/report_mysql_info.sh b/t/lib/bash/report_mysql_info.sh index b753120d..026443c8 100644 --- a/t/lib/bash/report_mysql_info.sh +++ b/t/lib/bash/report_mysql_info.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -plan 33 +plan 34 . "$LIB_DIR/alt_cmds.sh" . "$LIB_DIR/log_warn_die.sh" @@ -729,6 +729,18 @@ no_diff \ "$samples/expected_output_temp004.txt" \ "report_mysql_summary, dir: temp004" +# ########################################################################### +# pt-mysql-summary not Percona Server 5.5-ready +# https://bugs.launchpad.net/percona-toolkit/+bug/1015590 +# ########################################################################### + +section_percona_server_features "$samples/percona-server-5.5-variables" > "$PT_TMPDIR/got" + +no_diff \ + "$PT_TMPDIR/got" \ + "$samples/expected_output_ps-features.txt" \ + "Bug 1015590: pt-mysql-summary not Percona Server 5.5-ready" + # ########################################################################### # Done # ########################################################################### diff --git a/t/pt-mysql-summary/samples/expected_output_ps-features.txt b/t/pt-mysql-summary/samples/expected_output_ps-features.txt new file mode 100644 index 00000000..8cc26d66 --- /dev/null +++ b/t/pt-mysql-summary/samples/expected_output_ps-features.txt @@ -0,0 +1,12 @@ + Table & Index Stats | Disabled + Multiple I/O Threads | Enabled + Corruption Resilient | Enabled + Durable Replication | Disabled + Import InnoDB Tables | Disabled + Fast Server Restarts | Disabled + Enhanced Logging | Disabled + Replica Perf Logging | Disabled + Response Time Hist. | Disabled + Smooth Flushing | Enabled + HandlerSocket NoSQL | Not Supported + Fast Hash UDFs | Unknown diff --git a/t/pt-mysql-summary/samples/expected_output_temp002.txt b/t/pt-mysql-summary/samples/expected_output_temp002.txt index 26ff2d2c..a061c898 100644 --- a/t/pt-mysql-summary/samples/expected_output_temp002.txt +++ b/t/pt-mysql-summary/samples/expected_output_temp002.txt @@ -111,16 +111,16 @@ Uptime 90000 1 1 Size | 400 Usage | 10% # Key Percona Server features ################################ - Table & Index Stats | Not Supported + Table & Index Stats | Disabled Multiple I/O Threads | Enabled - Corruption Resilient | Not Supported - Durable Replication | Not Supported - Import InnoDB Tables | Not Supported - Fast Server Restarts | Not Supported - Enhanced Logging | Not Supported + Corruption Resilient | Enabled + Durable Replication | Disabled + Import InnoDB Tables | Disabled + Fast Server Restarts | Disabled + Enhanced Logging | Disabled Replica Perf Logging | Disabled - Response Time Hist. | Not Supported - Smooth Flushing | Not Supported + Response Time Hist. | Disabled + Smooth Flushing | Enabled HandlerSocket NoSQL | Not Supported Fast Hash UDFs | Unknown # Plugins #################################################### diff --git a/t/pt-mysql-summary/samples/percona-server-5.5-variables b/t/pt-mysql-summary/samples/percona-server-5.5-variables new file mode 100644 index 00000000..fad868ca --- /dev/null +++ b/t/pt-mysql-summary/samples/percona-server-5.5-variables @@ -0,0 +1,380 @@ +auto_increment_increment 1 +auto_increment_offset 1 +autocommit ON +automatic_sp_privileges ON +back_log 50 +basedir /home/hugmeir/mysql/Percona-Server-5.5.23-rel25.3-240.Linux.x86_64 +big_tables OFF +binlog_cache_size 32768 +binlog_direct_non_transactional_updates OFF +binlog_format STATEMENT +binlog_stmt_cache_size 32768 +bulk_insert_buffer_size 8388608 +character_set_client latin1 +character_set_connection latin1 +character_set_database latin1 +character_set_filesystem binary +character_set_results latin1 +character_set_server latin1 +character_set_system utf8 +character_sets_dir /home/hugmeir/mysql/Percona-Server-5.5.23-rel25.3-240.Linux.x86_64/share/charsets/ +collation_connection latin1_swedish_ci +collation_database latin1_swedish_ci +collation_server latin1_swedish_ci +completion_type NO_CHAIN +concurrent_insert AUTO +connect_timeout 10 +datadir /tmp/12345/data/ +date_format %Y-%m-%d +datetime_format %Y-%m-%d %H:%i:%s +default_storage_engine InnoDB +default_week_format 0 +delay_key_write ON +delayed_insert_limit 100 +delayed_insert_timeout 300 +delayed_queue_size 1000 +div_precision_increment 4 +engine_condition_pushdown ON +event_scheduler OFF +expand_fast_index_creation OFF +expire_logs_days 0 +fast_index_creation ON +flush OFF +flush_time 0 +foreign_key_checks ON +ft_boolean_syntax + -><()~*:""&| +ft_max_word_len 84 +ft_min_word_len 4 +ft_query_expansion_limit 20 +ft_stopword_file (built-in) +general_log ON +general_log_file genlog +group_concat_max_len 1024 +have_compress YES +have_crypt YES +have_csv YES +have_dynamic_loading YES +have_geometry YES +have_innodb YES +have_ndbcluster NO +have_openssl DISABLED +have_partitioning YES +have_profiling YES +have_query_cache YES +have_response_time_distribution YES +have_rtree_keys YES +have_ssl DISABLED +have_symlink YES +hostname naw +ignore_builtin_innodb OFF +init_connect +init_file +init_slave +innodb_adaptive_flushing ON +innodb_adaptive_flushing_method estimate +innodb_adaptive_hash_index ON +innodb_adaptive_hash_index_partitions 1 +innodb_additional_mem_pool_size 8388608 +innodb_autoextend_increment 8 +innodb_autoinc_lock_mode 1 +innodb_blocking_buffer_pool_restore OFF +innodb_buffer_pool_instances 1 +innodb_buffer_pool_restore_at_startup 0 +innodb_buffer_pool_shm_checksum ON +innodb_buffer_pool_shm_key 0 +innodb_buffer_pool_size 33554432 +innodb_change_buffering all +innodb_checkpoint_age_target 0 +innodb_checksums ON +innodb_commit_concurrency 0 +innodb_concurrency_tickets 500 +innodb_corrupt_table_action assert +innodb_data_file_path ibdata1:10M:autoextend +innodb_data_home_dir /tmp/12345/data +innodb_dict_size_limit 0 +innodb_doublewrite ON +innodb_doublewrite_file +innodb_fake_changes OFF +innodb_fast_checksum OFF +innodb_fast_shutdown 1 +innodb_file_format Antelope +innodb_file_format_check ON +innodb_file_format_max Antelope +innodb_file_per_table OFF +innodb_flush_log_at_trx_commit 1 +innodb_flush_method +innodb_flush_neighbor_pages area +innodb_force_load_corrupted OFF +innodb_force_recovery 0 +innodb_ibuf_accel_rate 100 +innodb_ibuf_active_contract 1 +innodb_ibuf_max_size 16760832 +innodb_import_table_from_xtrabackup 0 +innodb_io_capacity 200 +innodb_kill_idle_transaction 0 +innodb_large_prefix OFF +innodb_lazy_drop_table 0 +innodb_lock_wait_timeout 3 +innodb_locks_unsafe_for_binlog OFF +innodb_log_block_size 512 +innodb_log_buffer_size 8388608 +innodb_log_file_size 5242880 +innodb_log_files_in_group 2 +innodb_log_group_home_dir /tmp/12345/data +innodb_max_dirty_pages_pct 75 +innodb_max_purge_lag 0 +innodb_mirrored_log_groups 1 +innodb_old_blocks_pct 37 +innodb_old_blocks_time 0 +innodb_open_files 300 +innodb_page_size 16384 +innodb_purge_batch_size 20 +innodb_purge_threads 1 +innodb_random_read_ahead OFF +innodb_read_ahead linear +innodb_read_ahead_threshold 56 +innodb_read_io_threads 4 +innodb_recovery_stats OFF +innodb_recovery_update_relay_log OFF +innodb_replication_delay 0 +innodb_rollback_on_timeout OFF +innodb_rollback_segments 128 +innodb_show_locks_held 10 +innodb_show_verbose_locks 0 +innodb_spin_wait_delay 6 +innodb_stats_auto_update 1 +innodb_stats_method nulls_equal +innodb_stats_on_metadata ON +innodb_stats_sample_pages 8 +innodb_stats_update_need_lock 1 +innodb_strict_mode OFF +innodb_support_xa ON +innodb_sync_spin_loops 30 +innodb_table_locks ON +innodb_thread_concurrency 0 +innodb_thread_concurrency_timer_based OFF +innodb_thread_sleep_delay 10000 +innodb_use_global_flush_log_at_trx_commit ON +innodb_use_native_aio ON +innodb_use_sys_malloc ON +innodb_use_sys_stats_table OFF +innodb_version 1.1.8-rel25.3 +innodb_write_io_threads 4 +interactive_timeout 28800 +join_buffer_size 131072 +keep_files_on_create OFF +key_buffer_size 16777216 +key_cache_age_threshold 300 +key_cache_block_size 1024 +key_cache_division_limit 100 +large_files_support ON +large_page_size 0 +large_pages OFF +lc_messages en_US +lc_messages_dir /home/hugmeir/mysql/Percona-Server-5.5.23-rel25.3-240.Linux.x86_64/share/ +lc_time_names en_US +license GPL +local_infile ON +lock_wait_timeout 31536000 +locked_in_memory OFF +log ON +log_bin ON +log_bin_trust_function_creators OFF +log_error /tmp/12345/data/mysqld.log +log_output FILE +log_queries_not_using_indexes OFF +log_slave_updates ON +log_slow_admin_statements OFF +log_slow_filter +log_slow_queries OFF +log_slow_rate_limit 1 +log_slow_rate_type session +log_slow_slave_statements OFF +log_slow_sp_statements ON +log_slow_verbosity +log_warnings 1 +log_warnings_suppress +long_query_time 10.000000 +low_priority_updates OFF +lower_case_file_system OFF +lower_case_table_names 0 +max_allowed_packet 1048576 +max_binlog_cache_size 18446744073709547520 +max_binlog_size 1073741824 +max_binlog_stmt_cache_size 18446744073709547520 +max_connect_errors 10 +max_connections 151 +max_delayed_threads 20 +max_error_count 64 +max_heap_table_size 16777216 +max_insert_delayed_threads 20 +max_join_size 18446744073709551615 +max_length_for_sort_data 1024 +max_long_data_size 1048576 +max_prepared_stmt_count 16382 +max_relay_log_size 0 +max_seeks_for_key 18446744073709551615 +max_sort_length 1024 +max_sp_recursion_depth 0 +max_tmp_tables 32 +max_user_connections 0 +max_write_lock_count 18446744073709551615 +metadata_locks_cache_size 1024 +min_examined_row_limit 0 +multi_range_count 256 +myisam_data_pointer_size 6 +myisam_max_sort_file_size 9223372036853727232 +myisam_mmap_size 18446744073709551615 +myisam_recover_options OFF +myisam_repair_threads 1 +myisam_sort_buffer_size 8388608 +myisam_stats_method nulls_unequal +myisam_use_mmap OFF +net_buffer_length 16384 +net_read_timeout 30 +net_retry_count 10 +net_write_timeout 60 +new OFF +old OFF +old_alter_table OFF +old_passwords OFF +open_files_limit 1024 +optimizer_fix ON +optimizer_prune_level 1 +optimizer_search_depth 62 +optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on +performance_schema OFF +performance_schema_events_waits_history_long_size 10000 +performance_schema_events_waits_history_size 10 +performance_schema_max_cond_classes 80 +performance_schema_max_cond_instances 1000 +performance_schema_max_file_classes 50 +performance_schema_max_file_handles 32768 +performance_schema_max_file_instances 10000 +performance_schema_max_mutex_classes 200 +performance_schema_max_mutex_instances 1000000 +performance_schema_max_rwlock_classes 30 +performance_schema_max_rwlock_instances 1000000 +performance_schema_max_table_handles 100000 +performance_schema_max_table_instances 50000 +performance_schema_max_thread_classes 50 +performance_schema_max_thread_instances 1000 +pid_file /tmp/12345/data/mysql_sandbox12345.pid +plugin_dir /home/hugmeir/mysql/Percona-Server-5.5.23-rel25.3-240.Linux.x86_64/lib/plugin/ +port 12345 +preload_buffer_size 32768 +profiling OFF +profiling_history_size 15 +protocol_version 10 +query_alloc_block_size 8192 +query_cache_limit 1048576 +query_cache_min_res_unit 4096 +query_cache_size 0 +query_cache_strip_comments OFF +query_cache_type ON +query_cache_wlock_invalidate OFF +query_prealloc_size 8192 +query_response_time_range_base 10 +query_response_time_stats OFF +range_alloc_block_size 4096 +read_buffer_size 131072 +read_only OFF +read_rnd_buffer_size 262144 +relay_log mysql-relay-bin +relay_log_index +relay_log_info_file relay-log.info +relay_log_purge ON +relay_log_recovery OFF +relay_log_space_limit 0 +report_host 127.0.0.1 +report_password +report_port 12345 +report_user +rpl_recovery_rank 0 +secure_auth OFF +secure_file_priv +server_id 12345 +skip_external_locking ON +skip_name_resolve OFF +skip_networking OFF +skip_show_database OFF +slave_compressed_protocol OFF +slave_exec_mode STRICT +slave_load_tmpdir /tmp +slave_net_timeout 3600 +slave_skip_errors OFF +slave_transaction_retries 10 +slave_type_conversions +slow_launch_time 2 +slow_query_log OFF +slow_query_log_file /tmp/12345/data/naw-slow.log +slow_query_log_timestamp_always OFF +slow_query_log_timestamp_precision second +slow_query_log_use_global_control +socket /tmp/12345/mysql_sandbox12345.sock +sort_buffer_size 2097152 +sql_auto_is_null OFF +sql_big_selects ON +sql_big_tables OFF +sql_buffer_result OFF +sql_log_bin ON +sql_log_off OFF +sql_low_priority_updates OFF +sql_max_join_size 18446744073709551615 +sql_mode +sql_notes ON +sql_quote_show_create ON +sql_safe_updates OFF +sql_select_limit 18446744073709551615 +sql_slave_skip_counter 0 +sql_warnings OFF +ssl_ca +ssl_capath +ssl_cert +ssl_cipher +ssl_key +storage_engine InnoDB +stored_program_cache 256 +sync_binlog 0 +sync_frm ON +sync_master_info 0 +sync_relay_log 0 +sync_relay_log_info 0 +system_time_zone ART +table_definition_cache 400 +table_open_cache 400 +thread_cache_size 0 +thread_concurrency 10 +thread_handling one-thread-per-connection +thread_stack 262144 +thread_statistics OFF +time_format %H:%i:%s +time_zone SYSTEM +timed_mutexes OFF +tmp_table_size 16777216 +tmpdir /tmp +transaction_alloc_block_size 8192 +transaction_prealloc_size 4096 +tx_isolation REPEATABLE-READ +unique_checks ON +updatable_views_with_limit YES +userstat OFF +version 5.5.23-rel25.3-log +version_comment Percona Server with XtraDB (GPL), Release rel25.3, Revision 240 +version_compile_machine x86_64 +version_compile_os Linux +wait_timeout 28800 +internal::nice_of_19928 0 +internal::oom_of_19928 0 +internal::nice_of_19856 0 +internal::oom_of_19856 0 +internal::nice_of_19787 0 +internal::oom_of_19787 0 +pt-summary-internal-pid_file_exists 1 +pt-summary-internal-current_time 2012-11-01 23:13 +pt-summary-internal-Config_File_path +pt-summary-internal-mysql_executable /usr/bin/mysql +pt-summary-internal-now 2012-11-02 00:12:09 +pt-summary-internal-user msandbox@% +pt-summary-internal-FNV_64 Unknown +pt-summary-internal-trigger_count 6 From ee41d4deb4073ac3d5a02c53f49302aa2d05a641 Mon Sep 17 00:00:00 2001 From: Brian Fraser Date: Thu, 29 Nov 2012 22:32:22 -0300 Subject: [PATCH 2/5] Introduce feat_on_renamed, a wrapper around feat_on for renamed variables --- bin/pt-mysql-summary | 67 ++++++++++++++++------------------- lib/bash/report_mysql_info.sh | 67 ++++++++++++++++------------------- 2 files changed, 62 insertions(+), 72 deletions(-) diff --git a/bin/pt-mysql-summary b/bin/pt-mysql-summary index 576dc2a6..00603324 100755 --- a/bin/pt-mysql-summary +++ b/bin/pt-mysql-summary @@ -1032,6 +1032,23 @@ feat_on() { fi } +feat_on_renamed () { + local file="$1" + local varnames="$2" + local opt1="${3:-""}" + local opt2="${4:-""}" + + for var in $(echo "$varnames" | sed -e 's/,/ /g'); do + local feat_on="$( feat_on $file $var $opt1 $opt2 )" + if [ "${feat_on:-"Not Supported"}" != "Not Supported" ]; then + echo $feat_on + return + fi + done + + echo "Not Supported" +} + get_table_cache () { local file="$1" @@ -1741,55 +1758,33 @@ section_percona_server_features () { [ -e "$file" ] || return - local userstat="$(feat_on "$file" userstat_running)" - if [ "${userstat:-""}" = "Not Supported" ]; then - userstat="$(feat_on "$file" userstat)" - fi - name_val "Table & Index Stats" "$userstat" - + name_val "Table & Index Stats" \ + "$(feat_on_renamed "$file" "userstat_running,userstat")" name_val "Multiple I/O Threads" \ "$(feat_on "$file" innodb_read_io_threads gt 1)" - local corrupt_res="$(feat_on "$file" innodb_pass_corrupt_table)" - if [ "${corrupt_res:-""}" = "Not Supported" ]; then - corrupt_res="$(feat_on "$file" innodb_corrupt_table_action)" - fi - name_val "Corruption Resilient" "$corrupt_res" + name_val "Corruption Resilient" \ + "$(feat_on_renamed "$file" "innodb_pass_corrupt_table,innodb_corrupt_table_action")" - local durable_repl="$(feat_on "$file" innodb_overwrite_relay_log_info)" - if [ "${durable_repl:-""}" = "Not Supported" ]; then - durable_repl="$(feat_on "$file" innodb_recovery_update_relay_log)" - fi - name_val "Durable Replication" "$durable_repl" + name_val "Durable Replication" \ + "$(feat_on_renamed "$file" "innodb_overwrite_relay_log_info,innodb_recovery_update_relay_log")" - local import_innodb="$(feat_on "$file" innodb_expand_import)" - if [ "${import_innodb:-""}" = "Not Supported" ]; then - import_innodb="$(feat_on "$file" innodb_import_table_from_xtrabackup)" - fi - name_val "Import InnoDB Tables" "$import_innodb" + name_val "Import InnoDB Tables" \ + "$(feat_on_renamed "$file" "innodb_expand_import,innodb_import_table_from_xtrabackup")" - local fast_restarts="$(feat_on "$file" innodb_auto_lru_dump)" - if [ "${fast_restarts:-""}" = "Not Supported" ]; then - fast_restarts="$(feat_on "$file" innodb_buffer_pool_restore_at_startup)" - fi - name_val "Fast Server Restarts" "$fast_restarts" + name_val "Fast Server Restarts" \ + "$(feat_on_renamed "$file" "innodb_auto_lru_dump,innodb_buffer_pool_restore_at_startup")" name_val "Enhanced Logging" \ "$(feat_on "$file" log_slow_verbosity ne microtime)" name_val "Replica Perf Logging" \ "$(feat_on "$file" log_slow_slave_statements)" - local resp_time_hist="$(feat_on "$file" enable_query_response_time_stats)" - if [ "${resp_time_hist:-""}" = "Not Supported" ]; then - resp_time_hist="$(feat_on "$file" query_response_time_stats)" - fi - name_val "Response Time Hist." "$resp_time_hist" + name_val "Response Time Hist." \ + "$(feat_on_renamed "$file" "enable_query_response_time_stats,query_response_time_stats")" - local smooth_flushing="$(feat_on "$file" innodb_adaptive_checkpoint)" - if [ "${smooth_flushing:-""}" = "Not Supported" ]; then - smooth_flushing="$(feat_on "$file" innodb_adaptive_flushing_method)" - fi - name_val "Smooth Flushing" "$smooth_flushing" + name_val "Smooth Flushing" \ + "$(feat_on_renamed "$file" "innodb_adaptive_checkpoint,innodb_adaptive_flushing_method")" name_val "HandlerSocket NoSQL" \ "$(feat_on "$file" handlersocket_port)" diff --git a/lib/bash/report_mysql_info.sh b/lib/bash/report_mysql_info.sh index 9706fbd7..8c45ea6d 100644 --- a/lib/bash/report_mysql_info.sh +++ b/lib/bash/report_mysql_info.sh @@ -68,6 +68,23 @@ feat_on() { fi } +feat_on_renamed () { + local file="$1" + local varnames="$2" + local opt1="${3:-""}" + local opt2="${4:-""}" + + for var in $(echo "$varnames" | sed -e 's/,/ /g'); do + local feat_on="$( feat_on $file $var $opt1 $opt2 )" + if [ "${feat_on:-"Not Supported"}" != "Not Supported" ]; then + echo $feat_on + return + fi + done + + echo "Not Supported" +} + get_table_cache () { local file="$1" @@ -830,42 +847,26 @@ section_percona_server_features () { [ -e "$file" ] || return # Renamed to userstat in 5.5.10-20.1 - local userstat="$(feat_on "$file" userstat_running)" - if [ "${userstat:-""}" = "Not Supported" ]; then - userstat="$(feat_on "$file" userstat)" - fi - name_val "Table & Index Stats" "$userstat" - + name_val "Table & Index Stats" \ + "$(feat_on_renamed "$file" "userstat_running,userstat")" name_val "Multiple I/O Threads" \ "$(feat_on "$file" innodb_read_io_threads gt 1)" # Renamed to innodb_corrupt_table_action in 5.5.10-20.1 - local corrupt_res="$(feat_on "$file" innodb_pass_corrupt_table)" - if [ "${corrupt_res:-""}" = "Not Supported" ]; then - corrupt_res="$(feat_on "$file" innodb_corrupt_table_action)" - fi - name_val "Corruption Resilient" "$corrupt_res" + name_val "Corruption Resilient" \ + "$(feat_on_renamed "$file" "innodb_pass_corrupt_table,innodb_corrupt_table_action")" # Renamed to innodb_recovery_update_relay_log in 5.5.10-20.1 - local durable_repl="$(feat_on "$file" innodb_overwrite_relay_log_info)" - if [ "${durable_repl:-""}" = "Not Supported" ]; then - durable_repl="$(feat_on "$file" innodb_recovery_update_relay_log)" - fi - name_val "Durable Replication" "$durable_repl" + name_val "Durable Replication" \ + "$(feat_on_renamed "$file" "innodb_overwrite_relay_log_info,innodb_recovery_update_relay_log")" # Renamed to innodb_import_table_from_xtrabackup in 5.5.10-20.1 - local import_innodb="$(feat_on "$file" innodb_expand_import)" - if [ "${import_innodb:-""}" = "Not Supported" ]; then - import_innodb="$(feat_on "$file" innodb_import_table_from_xtrabackup)" - fi - name_val "Import InnoDB Tables" "$import_innodb" + name_val "Import InnoDB Tables" \ + "$(feat_on_renamed "$file" "innodb_expand_import,innodb_import_table_from_xtrabackup")" # Renamed to innodb_buffer_pool_restore_at_startup in 5.5.10-20.1 - local fast_restarts="$(feat_on "$file" innodb_auto_lru_dump)" - if [ "${fast_restarts:-""}" = "Not Supported" ]; then - fast_restarts="$(feat_on "$file" innodb_buffer_pool_restore_at_startup)" - fi - name_val "Fast Server Restarts" "$fast_restarts" + name_val "Fast Server Restarts" \ + "$(feat_on_renamed "$file" "innodb_auto_lru_dump,innodb_buffer_pool_restore_at_startup")" name_val "Enhanced Logging" \ "$(feat_on "$file" log_slow_verbosity ne microtime)" @@ -873,18 +874,12 @@ section_percona_server_features () { "$(feat_on "$file" log_slow_slave_statements)" # Renamed to query_response_time_stats in 5.5 - local resp_time_hist="$(feat_on "$file" enable_query_response_time_stats)" - if [ "${resp_time_hist:-""}" = "Not Supported" ]; then - resp_time_hist="$(feat_on "$file" query_response_time_stats)" - fi - name_val "Response Time Hist." "$resp_time_hist" + name_val "Response Time Hist." \ + "$(feat_on_renamed "$file" "enable_query_response_time_stats,query_response_time_stats")" # Renamed to innodb_adaptive_flushing_method in 5.5 - local smooth_flushing="$(feat_on "$file" innodb_adaptive_checkpoint)" - if [ "${smooth_flushing:-""}" = "Not Supported" ]; then - smooth_flushing="$(feat_on "$file" innodb_adaptive_flushing_method)" - fi - name_val "Smooth Flushing" "$smooth_flushing" + name_val "Smooth Flushing" \ + "$(feat_on_renamed "$file" "innodb_adaptive_checkpoint,innodb_adaptive_flushing_method")" name_val "HandlerSocket NoSQL" \ "$(feat_on "$file" handlersocket_port)" From a3527f748c9bb22bb12004f4b4ae06257c696748 Mon Sep 17 00:00:00 2001 From: Brian Fraser Date: Fri, 30 Nov 2012 18:17:30 -0300 Subject: [PATCH 3/5] Fixed the Smooth Flushing report on 5.1, which was broken by the previous commit, and made it work on 5.5 --- bin/pt-mysql-summary | 11 +- lib/bash/report_mysql_info.sh | 13 +- t/lib/bash/report_mysql_info.sh | 8 +- .../expected_output_ps-5.1-features.txt | 12 + .../samples/percona-server-5.1-variables | 363 ++++++++++++++++++ 5 files changed, 402 insertions(+), 5 deletions(-) create mode 100644 t/pt-mysql-summary/samples/expected_output_ps-5.1-features.txt create mode 100644 t/pt-mysql-summary/samples/percona-server-5.1-variables diff --git a/bin/pt-mysql-summary b/bin/pt-mysql-summary index 00603324..854b8724 100755 --- a/bin/pt-mysql-summary +++ b/bin/pt-mysql-summary @@ -1783,8 +1783,15 @@ section_percona_server_features () { name_val "Response Time Hist." \ "$(feat_on_renamed "$file" "enable_query_response_time_stats,query_response_time_stats")" - name_val "Smooth Flushing" \ - "$(feat_on_renamed "$file" "innodb_adaptive_checkpoint,innodb_adaptive_flushing_method")" + local smooth_flushing="$(feat_on_renamed "$file" "innodb_adaptive_checkpoint,innodb_adaptive_flushing_method")" + if [ "${smooth_flushing:-""}" != "Not Supported" ]; then + if [ -n "$(get_var innodb_adaptive_checkpoint "$file")" ]; then + smooth_flushing="$(feat_on "$file" "innodb_adaptive_checkpoint" ne none)" + else + smooth_flushing="$(feat_on "$file" "innodb_adaptive_flushing_method" ne native)" + fi + fi + name_val "Smooth Flushing" "$smooth_flushing" name_val "HandlerSocket NoSQL" \ "$(feat_on "$file" handlersocket_port)" diff --git a/lib/bash/report_mysql_info.sh b/lib/bash/report_mysql_info.sh index 8c45ea6d..af604360 100644 --- a/lib/bash/report_mysql_info.sh +++ b/lib/bash/report_mysql_info.sh @@ -878,8 +878,17 @@ section_percona_server_features () { "$(feat_on_renamed "$file" "enable_query_response_time_stats,query_response_time_stats")" # Renamed to innodb_adaptive_flushing_method in 5.5 - name_val "Smooth Flushing" \ - "$(feat_on_renamed "$file" "innodb_adaptive_checkpoint,innodb_adaptive_flushing_method")" + # This one is a bit more convulted than the rest because not only did it + # change names, but also default values: none in 5.1, native in 5.5 + local smooth_flushing="$(feat_on_renamed "$file" "innodb_adaptive_checkpoint,innodb_adaptive_flushing_method")" + if [ "${smooth_flushing:-""}" != "Not Supported" ]; then + if [ -n "$(get_var innodb_adaptive_checkpoint "$file")" ]; then + smooth_flushing="$(feat_on "$file" "innodb_adaptive_checkpoint" ne none)" + else + smooth_flushing="$(feat_on "$file" "innodb_adaptive_flushing_method" ne native)" + fi + fi + name_val "Smooth Flushing" "$smooth_flushing" name_val "HandlerSocket NoSQL" \ "$(feat_on "$file" handlersocket_port)" diff --git a/t/lib/bash/report_mysql_info.sh b/t/lib/bash/report_mysql_info.sh index 026443c8..4227c667 100644 --- a/t/lib/bash/report_mysql_info.sh +++ b/t/lib/bash/report_mysql_info.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -plan 34 +plan 35 . "$LIB_DIR/alt_cmds.sh" . "$LIB_DIR/log_warn_die.sh" @@ -741,6 +741,12 @@ no_diff \ "$samples/expected_output_ps-features.txt" \ "Bug 1015590: pt-mysql-summary not Percona Server 5.5-ready" +section_percona_server_features "$samples/percona-server-5.1-variables" > "$PT_TMPDIR/got" +no_diff \ + "$PT_TMPDIR/got" \ + "$samples/expected_output_ps-5.1-features.txt" \ + "Bug 1015590: section_percona_server_features works on 5.1 with innodb_adaptive_checkpoint=none" + # ########################################################################### # Done # ########################################################################### diff --git a/t/pt-mysql-summary/samples/expected_output_ps-5.1-features.txt b/t/pt-mysql-summary/samples/expected_output_ps-5.1-features.txt new file mode 100644 index 00000000..3305e641 --- /dev/null +++ b/t/pt-mysql-summary/samples/expected_output_ps-5.1-features.txt @@ -0,0 +1,12 @@ + Table & Index Stats | Disabled + Multiple I/O Threads | Enabled + Corruption Resilient | Disabled + Durable Replication | Disabled + Import InnoDB Tables | Disabled + Fast Server Restarts | Disabled + Enhanced Logging | Enabled + Replica Perf Logging | Disabled + Response Time Hist. | Disabled + Smooth Flushing | Disabled + HandlerSocket NoSQL | Not Supported + Fast Hash UDFs | Unknown diff --git a/t/pt-mysql-summary/samples/percona-server-5.1-variables b/t/pt-mysql-summary/samples/percona-server-5.1-variables new file mode 100644 index 00000000..96d8312b --- /dev/null +++ b/t/pt-mysql-summary/samples/percona-server-5.1-variables @@ -0,0 +1,363 @@ +auto_increment_increment 1 +auto_increment_offset 1 +autocommit ON +automatic_sp_privileges ON +back_log 50 +basedir /home/hugmeir/mysql5/mysqlbrew/mysqls/Percona-Server-5.1/ +big_tables OFF +binlog_cache_size 32768 +binlog_direct_non_transactional_updates OFF +binlog_format STATEMENT +bulk_insert_buffer_size 8388608 +character_set_client latin1 +character_set_connection latin1 +character_set_database latin1 +character_set_filesystem binary +character_set_results latin1 +character_set_server latin1 +character_set_system utf8 +character_sets_dir /home/hugmeir/mysql5/mysqlbrew/mysqls/Percona-Server-5.1/share/mysql/charsets/ +collation_connection latin1_swedish_ci +collation_database latin1_swedish_ci +collation_server latin1_swedish_ci +completion_type 0 +concurrent_insert 1 +connect_timeout 10 +datadir /tmp/12345/data/ +date_format %Y-%m-%d +datetime_format %Y-%m-%d %H:%i:%s +default_week_format 0 +delay_key_write ON +delayed_insert_limit 100 +delayed_insert_timeout 300 +delayed_queue_size 1000 +div_precision_increment 4 +enable_query_response_time_stats OFF +engine_condition_pushdown ON +error_count 0 +event_scheduler OFF +expand_fast_index_creation OFF +expire_logs_days 0 +fast_index_creation ON +flush OFF +flush_time 0 +foreign_key_checks ON +ft_boolean_syntax + -><()~*:""&| +ft_max_word_len 84 +ft_min_word_len 4 +ft_query_expansion_limit 20 +ft_stopword_file (built-in) +general_log OFF +general_log_file /tmp/12345/data/mysql_sandbox12345.log +group_concat_max_len 1024 +have_community_features YES +have_compress YES +have_crypt YES +have_csv YES +have_dynamic_loading YES +have_geometry YES +have_innodb YES +have_ndbcluster NO +have_openssl DISABLED +have_partitioning YES +have_query_cache YES +have_response_time_distribution YES +have_rtree_keys YES +have_ssl DISABLED +have_symlink YES +hostname hugmeir +identity 0 +ignore_builtin_innodb OFF +init_connect +init_file +init_slave +innodb_adaptive_checkpoint none +innodb_adaptive_flushing OFF +innodb_adaptive_hash_index ON +innodb_additional_mem_pool_size 8388608 +innodb_auto_lru_dump 0 +innodb_autoextend_increment 8 +innodb_autoinc_lock_mode 1 +innodb_blocking_lru_restore OFF +innodb_buffer_pool_shm_checksum ON +innodb_buffer_pool_shm_key 0 +innodb_buffer_pool_size 33554432 +innodb_change_buffering inserts +innodb_checkpoint_age_target 0 +innodb_checksums ON +innodb_commit_concurrency 0 +innodb_concurrency_tickets 500 +innodb_data_file_path ibdata1:10M:autoextend +innodb_data_home_dir /tmp/12345/data +innodb_dict_size_limit 0 +innodb_doublewrite ON +innodb_doublewrite_file +innodb_enable_unsafe_group_commit 0 +innodb_expand_import 0 +innodb_extra_rsegments 0 +innodb_extra_undoslots OFF +innodb_fake_changes OFF +innodb_fast_checksum OFF +innodb_fast_recovery OFF +innodb_fast_shutdown 1 +innodb_file_format Antelope +innodb_file_format_check Antelope +innodb_file_per_table OFF +innodb_flush_log_at_trx_commit 1 +innodb_flush_log_at_trx_commit_session 3 +innodb_flush_method +innodb_flush_neighbor_pages 1 +innodb_force_recovery 0 +innodb_ibuf_accel_rate 100 +innodb_ibuf_active_contract 1 +innodb_ibuf_max_size 16760832 +innodb_io_capacity 200 +innodb_kill_idle_transaction 0 +innodb_lazy_drop_table 0 +innodb_lock_wait_timeout 3 +innodb_locks_unsafe_for_binlog OFF +innodb_log_block_size 512 +innodb_log_buffer_size 8388608 +innodb_log_file_size 5242880 +innodb_log_files_in_group 2 +innodb_log_group_home_dir /tmp/12345/data +innodb_max_dirty_pages_pct 75 +innodb_max_purge_lag 0 +innodb_mirrored_log_groups 1 +innodb_old_blocks_pct 37 +innodb_old_blocks_time 0 +innodb_open_files 300 +innodb_overwrite_relay_log_info OFF +innodb_page_size 16384 +innodb_pass_corrupt_table 0 +innodb_random_read_ahead OFF +innodb_read_ahead linear +innodb_read_ahead_threshold 56 +innodb_read_io_threads 4 +innodb_recovery_stats OFF +innodb_replication_delay 0 +innodb_rollback_on_timeout OFF +innodb_show_locks_held 10 +innodb_show_verbose_locks 0 +innodb_spin_wait_delay 6 +innodb_stats_auto_update 1 +innodb_stats_method nulls_equal +innodb_stats_on_metadata ON +innodb_stats_sample_pages 8 +innodb_stats_update_need_lock 1 +innodb_strict_mode OFF +innodb_support_xa ON +innodb_sync_spin_loops 30 +innodb_table_locks ON +innodb_thread_concurrency 0 +innodb_thread_concurrency_timer_based OFF +innodb_thread_sleep_delay 10000 +innodb_use_purge_thread 1 +innodb_use_sys_malloc ON +innodb_use_sys_stats_table OFF +innodb_version 1.0.17-13.2 +innodb_write_io_threads 4 +insert_id 0 +interactive_timeout 28800 +join_buffer_size 131072 +keep_files_on_create OFF +key_buffer_size 16777216 +key_cache_age_threshold 300 +key_cache_block_size 1024 +key_cache_division_limit 100 +language /home/hugmeir/mysql5/mysqlbrew/mysqls/Percona-Server-5.1/share/mysql/english/ +large_files_support ON +large_page_size 0 +large_pages OFF +last_insert_id 0 +lc_time_names en_US +license GPL +local_infile ON +locked_in_memory OFF +log OFF +log_bin ON +log_bin_trust_function_creators OFF +log_bin_trust_routine_creators OFF +log_error /tmp/12345/data/mysqld.log +log_output FILE +log_queries_not_using_indexes OFF +log_slave_updates ON +log_slow_admin_statements OFF +log_slow_filter +log_slow_queries OFF +log_slow_rate_limit 1 +log_slow_slave_statements OFF +log_slow_sp_statements ON +log_slow_timestamp_every OFF +log_slow_verbosity full +log_warnings 1 +long_query_time 10.000000 +low_priority_updates OFF +lower_case_file_system OFF +lower_case_table_names 0 +max_allowed_packet 1048576 +max_binlog_cache_size 4294963200 +max_binlog_size 1073741824 +max_connect_errors 10 +max_connections 151 +max_delayed_threads 20 +max_error_count 64 +max_heap_table_size 16777216 +max_insert_delayed_threads 20 +max_join_size 4294967295 +max_length_for_sort_data 1024 +max_long_data_size 1048576 +max_prepared_stmt_count 16382 +max_relay_log_size 0 +max_seeks_for_key 4294967295 +max_sort_length 1024 +max_sp_recursion_depth 0 +max_tmp_tables 32 +max_user_connections 0 +max_write_lock_count 4294967295 +min_examined_row_limit 0 +multi_range_count 256 +myisam_data_pointer_size 6 +myisam_max_sort_file_size 2146435072 +myisam_mmap_size 4294967295 +myisam_recover_options OFF +myisam_repair_threads 1 +myisam_sort_buffer_size 8388608 +myisam_stats_method nulls_unequal +myisam_use_mmap OFF +net_buffer_length 16384 +net_read_timeout 30 +net_retry_count 10 +net_write_timeout 60 +new OFF +old OFF +old_alter_table OFF +old_passwords OFF +open_files_limit 1024 +optimizer_fix ON +optimizer_prune_level 1 +optimizer_search_depth 62 +optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on +pid_file /tmp/12345/data/mysql_sandbox12345.pid +plugin_dir /home/hugmeir/mysql5/mysqlbrew/mysqls/Percona-Server-5.1/lib/mysql/plugin +port 12345 +preload_buffer_size 32768 +profiling OFF +profiling_history_size 15 +profiling_server OFF +profiling_use_getrusage OFF +protocol_version 10 +pseudo_thread_id 0 +query_alloc_block_size 8192 +query_cache_limit 1048576 +query_cache_min_res_unit 4096 +query_cache_size 0 +query_cache_strip_comments OFF +query_cache_type ON +query_cache_wlock_invalidate OFF +query_prealloc_size 8192 +query_response_time_range_base 10 +rand_seed1 +rand_seed2 +range_alloc_block_size 4096 +read_buffer_size 131072 +read_only OFF +read_rnd_buffer_size 262144 +relay_log mysql-relay-bin +relay_log_index +relay_log_info_file relay-log.info +relay_log_purge ON +relay_log_space_limit 0 +report_host 127.0.0.1 +report_password +report_port 12345 +report_user +rpl_recovery_rank 0 +secure_auth OFF +secure_file_priv +server_id 12345 +skip_external_locking ON +skip_name_resolve OFF +skip_networking OFF +skip_show_database OFF +slave_compressed_protocol OFF +slave_exec_mode STRICT +slave_load_tmpdir /tmp +slave_net_timeout 3600 +slave_skip_errors OFF +slave_transaction_retries 10 +slow_launch_time 2 +slow_query_log OFF +slow_query_log_file /tmp/12345/data/mysql_sandbox12345-slow.log +slow_query_log_microseconds_timestamp OFF +socket /tmp/12345/mysql_sandbox12345.sock +sort_buffer_size 2097144 +sql_auto_is_null ON +sql_big_selects ON +sql_big_tables OFF +sql_buffer_result OFF +sql_log_bin ON +sql_log_off OFF +sql_log_update ON +sql_low_priority_updates OFF +sql_max_join_size 4294967295 +sql_mode +sql_notes ON +sql_quote_show_create ON +sql_safe_updates OFF +sql_select_limit 4294967295 +sql_slave_skip_counter +sql_warnings OFF +ssl_ca +ssl_capath +ssl_cert +ssl_cipher +ssl_key +storage_engine MyISAM +suppress_log_warning_1592 OFF +sync_binlog 0 +sync_frm ON +system_time_zone ART +table_definition_cache 256 +table_lock_wait_timeout 50 +table_open_cache 64 +table_type MyISAM +thread_cache_size 0 +thread_handling one-thread-per-connection +thread_stack 196608 +thread_statistics OFF +time_format %H:%i:%s +time_zone SYSTEM +timed_mutexes OFF +timestamp 1333157599 +tmp_table_size 16777216 +tmpdir /tmp +transaction_alloc_block_size 8192 +transaction_prealloc_size 4096 +tx_isolation REPEATABLE-READ +unique_checks ON +updatable_views_with_limit YES +use_global_log_slow_control none +use_global_long_query_time OFF +userstat_running OFF +version 5.1.61rel13.2-log +version_comment Percona Server with XtraDB (GPL), Release rel13.2, Revision 430 +version_compile_machine i686 +version_compile_os pc-linux-gnu +wait_timeout 28800 +warning_count 0 +internal::nice_of_2750 0 +internal::oom_of_2750 0 +internal::nice_of_2571 0 +internal::oom_of_2571 0 +internal::nice_of_2406 0 +internal::oom_of_2406 0 +pt-summary-internal-current_time 2012-03-30 21:45 +pt-summary-internal-Config_File_path /tmp/12345/my.sandbox.cnf +pt-summary-internal-mysql_executable /home/hugmeir/mysql5/mysqlbrew/mysqls/Percona-Server-5.1/bin/mysql +pt-summary-internal-now 2012-03-30 22:33:19 +pt-summary-internal-user msandbox@% +pt-summary-internal-FNV_64 Unknown +pt-summary-internal-trigger_count 6 +pt-summary-internal-mysqld_executable_1 Yes +pt-summary-internal-pid_file_exists 1 From 9522fae2f9d1e973caca5901d90690b8d0eb42cc Mon Sep 17 00:00:00 2001 From: Brian Fraser Date: Fri, 30 Nov 2012 18:23:59 -0300 Subject: [PATCH 4/5] Added an extra test for section_percona_server_features on 5.1 --- t/lib/bash/report_mysql_info.sh | 9 +- .../samples/expected_output_ps-5.1-martin.txt | 12 + .../percona-server-5.1-variables-martin | 353 ++++++++++++++++++ 3 files changed, 373 insertions(+), 1 deletion(-) create mode 100644 t/pt-mysql-summary/samples/expected_output_ps-5.1-martin.txt create mode 100644 t/pt-mysql-summary/samples/percona-server-5.1-variables-martin diff --git a/t/lib/bash/report_mysql_info.sh b/t/lib/bash/report_mysql_info.sh index 4227c667..33e90662 100644 --- a/t/lib/bash/report_mysql_info.sh +++ b/t/lib/bash/report_mysql_info.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -plan 35 +plan 36 . "$LIB_DIR/alt_cmds.sh" . "$LIB_DIR/log_warn_die.sh" @@ -747,6 +747,13 @@ no_diff \ "$samples/expected_output_ps-5.1-features.txt" \ "Bug 1015590: section_percona_server_features works on 5.1 with innodb_adaptive_checkpoint=none" +section_percona_server_features "$samples/percona-server-5.1-variables-martin" > "$PT_TMPDIR/got" +cp "$PT_TMPDIR/got" /tmp/dasgot +no_diff \ + "$PT_TMPDIR/got" \ + "$samples/expected_output_ps-5.1-martin.txt" \ + "section_percona_server_features works on 5.1" + # ########################################################################### # Done # ########################################################################### diff --git a/t/pt-mysql-summary/samples/expected_output_ps-5.1-martin.txt b/t/pt-mysql-summary/samples/expected_output_ps-5.1-martin.txt new file mode 100644 index 00000000..6103e3b7 --- /dev/null +++ b/t/pt-mysql-summary/samples/expected_output_ps-5.1-martin.txt @@ -0,0 +1,12 @@ + Table & Index Stats | Disabled + Multiple I/O Threads | Enabled + Corruption Resilient | Disabled + Durable Replication | Disabled + Import InnoDB Tables | Disabled + Fast Server Restarts | Disabled + Enhanced Logging | Disabled + Replica Perf Logging | Disabled + Response Time Hist. | Disabled + Smooth Flushing | Enabled + HandlerSocket NoSQL | Not Supported + Fast Hash UDFs | diff --git a/t/pt-mysql-summary/samples/percona-server-5.1-variables-martin b/t/pt-mysql-summary/samples/percona-server-5.1-variables-martin new file mode 100644 index 00000000..3f582f58 --- /dev/null +++ b/t/pt-mysql-summary/samples/percona-server-5.1-variables-martin @@ -0,0 +1,353 @@ +auto_increment_increment 1 +auto_increment_offset 1 +autocommit ON +automatic_sp_privileges ON +back_log 50 +basedir /home/martin/mysqlversions/percona/percona-5.1.66/ +big_tables OFF +binlog_cache_size 32768 +binlog_direct_non_transactional_updates OFF +binlog_format STATEMENT +bulk_insert_buffer_size 8388608 +character_set_client utf8 +character_set_connection utf8 +character_set_database utf8 +character_set_filesystem binary +character_set_results utf8 +character_set_server utf8 +character_set_system utf8 +character_sets_dir /home/martin/mysqlversions/percona/percona-5.1.66/share/mysql/charsets/ +collation_connection utf8_general_ci +collation_database utf8_general_ci +collation_server utf8_general_ci +completion_type 0 +concurrent_insert 1 +connect_timeout 10 +datadir /home/martin/sandboxes/Percona-Server-5.1.66-rel14.1/data/ +date_format %Y-%m-%d +datetime_format %Y-%m-%d %H:%i:%s +default_week_format 0 +delay_key_write ON +delayed_insert_limit 100 +delayed_insert_timeout 300 +delayed_queue_size 1000 +div_precision_increment 4 +enable_query_response_time_stats OFF +engine_condition_pushdown ON +error_count 0 +event_scheduler OFF +expand_fast_index_creation OFF +expire_logs_days 0 +fast_index_creation ON +flush OFF +flush_time 0 +foreign_key_checks ON +ft_boolean_syntax + -><()~*:""&| +ft_max_word_len 84 +ft_min_word_len 4 +ft_query_expansion_limit 20 +ft_stopword_file (built-in) +general_log OFF +general_log_file /home/martin/sandboxes/Percona-Server-5.1.66-rel14.1/data/mysql_sandbox5166.log +group_concat_max_len 1024 +have_community_features YES +have_compress YES +have_crypt YES +have_csv YES +have_dynamic_loading YES +have_flashcache YES +have_geometry YES +have_innodb YES +have_ndbcluster NO +have_openssl DISABLED +have_partitioning YES +have_query_cache YES +have_response_time_distribution YES +have_rtree_keys YES +have_ssl DISABLED +have_symlink YES +hostname perconatest +identity 0 +ignore_builtin_innodb OFF +init_connect +init_file +init_slave +innodb_adaptive_checkpoint estimate +innodb_adaptive_flushing OFF +innodb_adaptive_hash_index ON +innodb_additional_mem_pool_size 8388608 +innodb_auto_lru_dump 0 +innodb_autoextend_increment 8 +innodb_autoinc_lock_mode 1 +innodb_blocking_lru_restore OFF +innodb_buffer_pool_shm_checksum ON +innodb_buffer_pool_shm_key 0 +innodb_buffer_pool_size 134217728 +innodb_change_buffering inserts +innodb_changed_pages_limit 1000000 +innodb_checkpoint_age_target 0 +innodb_checksums ON +innodb_commit_concurrency 0 +innodb_concurrency_tickets 500 +innodb_data_file_path ibdata1:10M:autoextend +innodb_data_home_dir +innodb_dict_size_limit 0 +innodb_doublewrite ON +innodb_doublewrite_file +innodb_enable_unsafe_group_commit 0 +innodb_expand_import 0 +innodb_extra_rsegments 0 +innodb_extra_undoslots OFF +innodb_fake_changes OFF +innodb_fast_checksum OFF +innodb_fast_recovery OFF +innodb_fast_shutdown 1 +innodb_file_format Antelope +innodb_file_format_check Barracuda +innodb_file_per_table OFF +innodb_flush_log_at_trx_commit 1 +innodb_flush_log_at_trx_commit_session 3 +innodb_flush_method +innodb_flush_neighbor_pages 1 +innodb_force_recovery 0 +innodb_ibuf_accel_rate 100 +innodb_ibuf_active_contract 1 +innodb_ibuf_max_size 67092480 +innodb_io_capacity 200 +innodb_kill_idle_transaction 0 +innodb_lazy_drop_table 0 +innodb_lock_wait_timeout 50 +innodb_locks_unsafe_for_binlog OFF +innodb_log_block_size 512 +innodb_log_buffer_size 8388608 +innodb_log_file_size 5242880 +innodb_log_files_in_group 2 +innodb_log_group_home_dir ./ +innodb_max_dirty_pages_pct 75 +innodb_max_purge_lag 0 +innodb_mirrored_log_groups 1 +innodb_old_blocks_pct 37 +innodb_old_blocks_time 0 +innodb_open_files 300 +innodb_overwrite_relay_log_info OFF +innodb_page_size 16384 +innodb_pass_corrupt_table 0 +innodb_random_read_ahead OFF +innodb_read_ahead linear +innodb_read_ahead_threshold 56 +innodb_read_io_threads 4 +innodb_recovery_stats OFF +innodb_replication_delay 0 +innodb_rollback_on_timeout OFF +innodb_show_locks_held 10 +innodb_show_verbose_locks 0 +innodb_spin_wait_delay 6 +innodb_stats_auto_update 1 +innodb_stats_method nulls_equal +innodb_stats_on_metadata ON +innodb_stats_sample_pages 8 +innodb_stats_update_need_lock 1 +innodb_strict_mode OFF +innodb_support_xa ON +innodb_sync_spin_loops 30 +innodb_table_locks ON +innodb_thread_concurrency 0 +innodb_thread_concurrency_timer_based OFF +innodb_thread_sleep_delay 10000 +innodb_track_changed_pages OFF +innodb_use_purge_thread 1 +innodb_use_sys_malloc ON +innodb_use_sys_stats_table OFF +innodb_version 1.0.17-14.1 +innodb_write_io_threads 4 +insert_id 0 +interactive_timeout 28800 +join_buffer_size 131072 +keep_files_on_create OFF +key_buffer_size 8384512 +key_cache_age_threshold 300 +key_cache_block_size 1024 +key_cache_division_limit 100 +language /home/martin/mysqlversions/percona/percona-5.1.66/share/mysql/english/ +large_files_support ON +large_page_size 0 +large_pages OFF +last_insert_id 0 +lc_time_names en_US +license GPL +local_infile ON +locked_in_memory OFF +log OFF +log_bin OFF +log_bin_trust_function_creators OFF +log_bin_trust_routine_creators OFF +log_error /home/martin/sandboxes/Percona-Server-5.1.66-rel14.1/data/msandbox.err +log_output FILE +log_queries_not_using_indexes OFF +log_slave_updates OFF +log_slow_admin_statements OFF +log_slow_filter +log_slow_queries OFF +log_slow_rate_limit 1 +log_slow_slave_statements OFF +log_slow_sp_statements ON +log_slow_timestamp_every OFF +log_slow_verbosity microtime +log_warnings 1 +long_query_time 10.000000 +low_priority_updates OFF +lower_case_file_system OFF +lower_case_table_names 0 +max_allowed_packet 1048576 +max_binlog_cache_size 18446744073709547520 +max_binlog_size 1073741824 +max_connect_errors 10 +max_connections 151 +max_delayed_threads 20 +max_error_count 64 +max_heap_table_size 16777216 +max_insert_delayed_threads 20 +max_join_size 18446744073709551615 +max_length_for_sort_data 1024 +max_long_data_size 1048576 +max_prepared_stmt_count 16382 +max_relay_log_size 0 +max_seeks_for_key 18446744073709551615 +max_sort_length 1024 +max_sp_recursion_depth 0 +max_tmp_tables 32 +max_user_connections 0 +max_write_lock_count 18446744073709551615 +min_examined_row_limit 0 +multi_range_count 256 +myisam_data_pointer_size 6 +myisam_max_sort_file_size 9223372036853727232 +myisam_mmap_size 18446744073709551615 +myisam_recover_options OFF +myisam_repair_threads 1 +myisam_sort_buffer_size 8388608 +myisam_stats_method nulls_unequal +myisam_use_mmap OFF +net_buffer_length 16384 +net_read_timeout 30 +net_retry_count 10 +net_write_timeout 60 +new OFF +old OFF +old_alter_table OFF +old_passwords OFF +open_files_limit 1024 +optimizer_fix ON +optimizer_prune_level 1 +optimizer_search_depth 62 +optimizer_switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on +pid_file /home/martin/sandboxes/Percona-Server-5.1.66-rel14.1/data/mysql_sandbox5166.pid +plugin_dir /home/martin/mysqlversions/percona/percona-5.1.66/lib/mysql/plugin +port 5166 +preload_buffer_size 32768 +profiling OFF +profiling_history_size 15 +profiling_server OFF +profiling_use_getrusage OFF +protocol_version 10 +pseudo_thread_id 0 +query_alloc_block_size 8192 +query_cache_limit 1048576 +query_cache_min_res_unit 4096 +query_cache_size 0 +query_cache_strip_comments OFF +query_cache_type ON +query_cache_wlock_invalidate OFF +query_prealloc_size 8192 +query_response_time_range_base 10 +rand_seed1 +rand_seed2 +range_alloc_block_size 4096 +read_buffer_size 131072 +read_only OFF +read_rnd_buffer_size 262144 +relay_log +relay_log_index +relay_log_info_file relay-log.info +relay_log_purge ON +relay_log_space_limit 0 +report_host +report_password +report_port 3306 +report_user +rpl_recovery_rank 0 +secure_auth OFF +secure_file_priv +server_id 0 +skip_external_locking ON +skip_name_resolve OFF +skip_networking OFF +skip_show_database OFF +slave_compressed_protocol OFF +slave_exec_mode STRICT +slave_load_tmpdir /home/martin/sandboxes/Percona-Server-5.1.66-rel14.1/tmp +slave_max_allowed_packet 1073741824 +slave_net_timeout 3600 +slave_skip_errors OFF +slave_transaction_retries 10 +slow_launch_time 2 +slow_query_log OFF +slow_query_log_file /home/martin/sandboxes/Percona-Server-5.1.66-rel14.1/data/mysql_sandbox5166-slow.log +slow_query_log_microseconds_timestamp OFF +socket /tmp/mysql_sandbox5166.sock +sort_buffer_size 2097144 +sql_auto_is_null ON +sql_big_selects ON +sql_big_tables OFF +sql_buffer_result OFF +sql_log_bin ON +sql_log_off OFF +sql_log_update ON +sql_low_priority_updates OFF +sql_max_join_size 18446744073709551615 +sql_mode +sql_notes ON +sql_quote_show_create ON +sql_safe_updates OFF +sql_select_limit 18446744073709551615 +sql_slave_skip_counter +sql_warnings OFF +ssl_ca +ssl_capath +ssl_cert +ssl_cipher +ssl_key +storage_engine MyISAM +suppress_log_warning_1592 OFF +sync_binlog 0 +sync_frm ON +system_time_zone UYST +table_definition_cache 256 +table_lock_wait_timeout 50 +table_open_cache 64 +table_type MyISAM +thread_cache_size 0 +thread_handling one-thread-per-connection +thread_stack 262144 +thread_statistics OFF +time_format %H:%i:%s +time_zone SYSTEM +timed_mutexes OFF +timestamp 1354309666 +tmp_table_size 16777216 +tmpdir /home/martin/sandboxes/Percona-Server-5.1.66-rel14.1/tmp +transaction_alloc_block_size 8192 +transaction_prealloc_size 4096 +tx_isolation REPEATABLE-READ +unique_checks ON +updatable_views_with_limit YES +use_global_log_slow_control none +use_global_long_query_time OFF +userstat_running OFF +version 5.1.66rel14.1 +version_comment Percona Server with XtraDB (GPL), Release rel14.1, Revision 495 +version_compile_machine x86_64 +version_compile_os unknown-linux-gnu +wait_timeout 28800 +warning_count 0 + From 15855fb0761c4dbe85efa1709adc752b5e2922e1 Mon Sep 17 00:00:00 2001 From: Brian Fraser Date: Tue, 4 Dec 2012 13:17:58 -0300 Subject: [PATCH 5/5] Change feat_on_renamed() per Daniel's feedback --- bin/pt-mysql-summary | 22 ++++++++++------------ lib/bash/report_mysql_info.sh | 22 ++++++++++------------ 2 files changed, 20 insertions(+), 24 deletions(-) diff --git a/bin/pt-mysql-summary b/bin/pt-mysql-summary index 854b8724..4cf5b4ce 100755 --- a/bin/pt-mysql-summary +++ b/bin/pt-mysql-summary @@ -1034,12 +1034,10 @@ feat_on() { feat_on_renamed () { local file="$1" - local varnames="$2" - local opt1="${3:-""}" - local opt2="${4:-""}" + shift; - for var in $(echo "$varnames" | sed -e 's/,/ /g'); do - local feat_on="$( feat_on $file $var $opt1 $opt2 )" + for varname in "$@"; do + local feat_on="$( feat_on "$file" $varname )" if [ "${feat_on:-"Not Supported"}" != "Not Supported" ]; then echo $feat_on return @@ -1759,21 +1757,21 @@ section_percona_server_features () { [ -e "$file" ] || return name_val "Table & Index Stats" \ - "$(feat_on_renamed "$file" "userstat_running,userstat")" + "$(feat_on_renamed "$file" userstat_running userstat)" name_val "Multiple I/O Threads" \ "$(feat_on "$file" innodb_read_io_threads gt 1)" name_val "Corruption Resilient" \ - "$(feat_on_renamed "$file" "innodb_pass_corrupt_table,innodb_corrupt_table_action")" + "$(feat_on_renamed "$file" innodb_pass_corrupt_table innodb_corrupt_table_action)" name_val "Durable Replication" \ - "$(feat_on_renamed "$file" "innodb_overwrite_relay_log_info,innodb_recovery_update_relay_log")" + "$(feat_on_renamed "$file" innodb_overwrite_relay_log_info innodb_recovery_update_relay_log)" name_val "Import InnoDB Tables" \ - "$(feat_on_renamed "$file" "innodb_expand_import,innodb_import_table_from_xtrabackup")" + "$(feat_on_renamed "$file" innodb_expand_import innodb_import_table_from_xtrabackup)" name_val "Fast Server Restarts" \ - "$(feat_on_renamed "$file" "innodb_auto_lru_dump,innodb_buffer_pool_restore_at_startup")" + "$(feat_on_renamed "$file" innodb_auto_lru_dump innodb_buffer_pool_restore_at_startup)" name_val "Enhanced Logging" \ "$(feat_on "$file" log_slow_verbosity ne microtime)" @@ -1781,9 +1779,9 @@ section_percona_server_features () { "$(feat_on "$file" log_slow_slave_statements)" name_val "Response Time Hist." \ - "$(feat_on_renamed "$file" "enable_query_response_time_stats,query_response_time_stats")" + "$(feat_on_renamed "$file" enable_query_response_time_stats query_response_time_stats)" - local smooth_flushing="$(feat_on_renamed "$file" "innodb_adaptive_checkpoint,innodb_adaptive_flushing_method")" + local smooth_flushing="$(feat_on_renamed "$file" innodb_adaptive_checkpoint innodb_adaptive_flushing_method)" if [ "${smooth_flushing:-""}" != "Not Supported" ]; then if [ -n "$(get_var innodb_adaptive_checkpoint "$file")" ]; then smooth_flushing="$(feat_on "$file" "innodb_adaptive_checkpoint" ne none)" diff --git a/lib/bash/report_mysql_info.sh b/lib/bash/report_mysql_info.sh index af604360..270155c2 100644 --- a/lib/bash/report_mysql_info.sh +++ b/lib/bash/report_mysql_info.sh @@ -70,12 +70,10 @@ feat_on() { feat_on_renamed () { local file="$1" - local varnames="$2" - local opt1="${3:-""}" - local opt2="${4:-""}" + shift; - for var in $(echo "$varnames" | sed -e 's/,/ /g'); do - local feat_on="$( feat_on $file $var $opt1 $opt2 )" + for varname in "$@"; do + local feat_on="$( feat_on "$file" $varname )" if [ "${feat_on:-"Not Supported"}" != "Not Supported" ]; then echo $feat_on return @@ -848,25 +846,25 @@ section_percona_server_features () { # Renamed to userstat in 5.5.10-20.1 name_val "Table & Index Stats" \ - "$(feat_on_renamed "$file" "userstat_running,userstat")" + "$(feat_on_renamed "$file" userstat_running userstat)" name_val "Multiple I/O Threads" \ "$(feat_on "$file" innodb_read_io_threads gt 1)" # Renamed to innodb_corrupt_table_action in 5.5.10-20.1 name_val "Corruption Resilient" \ - "$(feat_on_renamed "$file" "innodb_pass_corrupt_table,innodb_corrupt_table_action")" + "$(feat_on_renamed "$file" innodb_pass_corrupt_table innodb_corrupt_table_action)" # Renamed to innodb_recovery_update_relay_log in 5.5.10-20.1 name_val "Durable Replication" \ - "$(feat_on_renamed "$file" "innodb_overwrite_relay_log_info,innodb_recovery_update_relay_log")" + "$(feat_on_renamed "$file" innodb_overwrite_relay_log_info innodb_recovery_update_relay_log)" # Renamed to innodb_import_table_from_xtrabackup in 5.5.10-20.1 name_val "Import InnoDB Tables" \ - "$(feat_on_renamed "$file" "innodb_expand_import,innodb_import_table_from_xtrabackup")" + "$(feat_on_renamed "$file" innodb_expand_import innodb_import_table_from_xtrabackup)" # Renamed to innodb_buffer_pool_restore_at_startup in 5.5.10-20.1 name_val "Fast Server Restarts" \ - "$(feat_on_renamed "$file" "innodb_auto_lru_dump,innodb_buffer_pool_restore_at_startup")" + "$(feat_on_renamed "$file" innodb_auto_lru_dump innodb_buffer_pool_restore_at_startup)" name_val "Enhanced Logging" \ "$(feat_on "$file" log_slow_verbosity ne microtime)" @@ -875,12 +873,12 @@ section_percona_server_features () { # Renamed to query_response_time_stats in 5.5 name_val "Response Time Hist." \ - "$(feat_on_renamed "$file" "enable_query_response_time_stats,query_response_time_stats")" + "$(feat_on_renamed "$file" enable_query_response_time_stats query_response_time_stats)" # Renamed to innodb_adaptive_flushing_method in 5.5 # This one is a bit more convulted than the rest because not only did it # change names, but also default values: none in 5.1, native in 5.5 - local smooth_flushing="$(feat_on_renamed "$file" "innodb_adaptive_checkpoint,innodb_adaptive_flushing_method")" + local smooth_flushing="$(feat_on_renamed "$file" innodb_adaptive_checkpoint innodb_adaptive_flushing_method)" if [ "${smooth_flushing:-""}" != "Not Supported" ]; then if [ -n "$(get_var innodb_adaptive_checkpoint "$file")" ]; then smooth_flushing="$(feat_on "$file" "innodb_adaptive_checkpoint" ne none)"