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