undocumented variables

Description

I’ve found several variables that are present in code but have no, or minimal, documentation.

log_query_errors - this is described in code at line 2925 for pxc 8.0. First appearance of this variable is 8.0.27

tf_sequence_table_max_upper_bound - no reference in the documentation, again found only in code in sys_vars.cc - line 8918. First appearance is pxc 8.0.19

replica_enable_event - this variable is referenced in release notes for 8.0.30-22 and includes a link to the other group replications variables and the feature request that impemented it: , but there is no mention on the page of this variable: First introduced in 8.0.3. In sys_vars.cc line 7552

wsrep_disk_pages_encrypt - in sys_vars.cc line 8833. Aside from the github link, the only reference I can find via Google is to a Percona forum question.

wsrep_gcache_encrypt - It is possible that this variable is deprecated and gcache encryption is instead written as an option to wsrep_provider_options. Default options include gcache encryption: ]> select * from 8034_pxc_vars where variable_name like 'wsrep_provider_options'\G

*************************** 1. row ***************************

            id: 747

 variable_name: wsrep_provider_options

variable_value: allocator.disk_pages_encryption = no; allocator.encryption_cache_page_size = 32K; allocator.encryption_cache_size = 16777216; base_dir = /var/lib/mysql/; base_host = 127.0.0.1; base_port = 3306; cert.log_conflicts = no; cert.optimistic_pa = no; debug = no; evs.auto_evict = 0; evs.causal_keepalive_period = PT1S; evs.debug_log_mask = 0x1; evs.delay_margin = PT1S; evs.delayed_keep_period = PT30S; evs.inactive_check_period = PT0.5S; evs.inactive_timeout = PT15S; evs.info_log_mask = 0; evs.install_timeout = PT7.5S; evs.join_retrans_period = PT1S; evs.keepalive_period = PT1S; evs.max_install_timeouts = 3; evs.send_window = 10; evs.stats_report_period = PT1M; evs.suspect_timeout = PT5S; evs.use_aggregate = true; evs.user_send_window = 4; evs.version = 1; evs.view_forget_timeout = P1D; gcache.dir = /var/lib/mysql/; gcache.encryption = no; gcache.encryption_cache_page_size = 32K; gcache.encryption_cache_size = 16777216; gcache.freeze_purge_at_seqno = -1; gcache.keep_pages_count = 0; gcache.keep_pages_size = 0; gcache.mem_size = 0; gcache.name = galera.cache; gcache.page_size = 128M; gcache.recover = yes; gcache.size = 128M; gcomm.thread_prio = ; gcs.fc_auto_evict_threshold = 0.75; gcs.fc_auto_evict_window = 0; gcs.fc_debug = 0; gcs.fc_factor = 1.0; gcs.fc_limit = 100; gcs.fc_master_slave = no; gcs.fc_single_primary = no; gcs.max_packet_size = 64500; gcs.max_throttle = 0.25; gcs.recv_q_hard_limit = 9223372036854775807; gcs.recv_q_soft_limit = 0.25; gcs.sync_donor = no; gmcast.listen_addr = tcp://127.0.0.1:43749; gmcast.mcast_addr = ; gmcast.mcast_ttl = 1; gmcast.peer_timeout = PT3S; gmcast.segment = 0; gmcast.time_wait = PT5S; gmcast.version = 0; ist.recv_addr = 127.0.0.1; pc.announce_timeout = PT3S; pc.checksum = false; pc.ignore_quorum = false; pc.ignore_sb = false; pc.linger = PT20S; pc.npvo = false; pc.recovery = true; pc.version = 0; pc.wait_prim = true; pc.wait_prim_timeout = PT30S; pc.wait_restored_prim_timeout = PT0S; pc.weight = 1; protonet.backend = asio; protonet.version = 0; repl.causal_read_timeout = PT30S; re

  date_created: 2024-06-04 18:50:13

This variable first appeared in 8.0.31 and is sys_vars.cc line 8827

Environment

None

Activity

Kamil Holubicki July 3, 2024 at 8:52 PM
Edited

Quite good description of these variables can be obtained from:

like:

Kamil Holubicki July 3, 2024 at 8:07 PM
Edited

wsrep_disk_pages_encrypt and wsrep_gcache_encrypt only for test purpose (MTR). GCache and Record-Set Cache has to be configured via wsrep_provider_params in production.

log_query_errors

"tf_sequence_table_max_upper_bound": (PXC inherits it from PS)

replica_enable_event: (PXC inherits it from PS)

commit 3b1cbddd, related to PS-6002
"Tells the replication applier thread to enable the events that match " "the specified wildcard pattern without setting it as SLAVESIDE_DISABLED. " "To specify more than one event, use the directive multiple times, once " "for each event. This will work for cross-database events. Example: " "replica-enable-event=foo%.bar% will enable the events in all " "databases on replica server that start with 'foo' and whose event names " "start with 'bar'. It is recommended to use this feature only for " "read-only events to avoid data inconsistency.",

Dov Endress June 20, 2024 at 5:32 PM

replica_enable_event first appeared in 8.0.30 not 8.0.3

Done

Details

Assignee

Reporter

Components

Sprint

Affects versions

Priority

Smart Checklist

Created June 20, 2024 at 5:30 PM
Updated July 17, 2024 at 10:08 AM
Resolved July 17, 2024 at 10:08 AM