Buy Percona SupportEmergency? Get 24/7 Help Now!

Index of wsrep_provider options

The following variables can be set and checked in the wsrep_provider_options variable. The value of the variable can be changed in the MySQL configuration file, my.cnf, or by setting the variable value in the MySQL client.

To change the value in my.cnf, the following syntax should be used:

wsrep_provider_options="variable1=value1;[variable2=value2]"

For example to set the size of the Galera buffer storage to 512 MB, specify the following in my.cnf:

wsrep_provider_options="gcache.size=512M"

Dynamic variables can be changed from the MySQL client using the SET GLOBAL command. For example, to change the value of the pc.ignore_sb, use the following command:

mysql> SET GLOBAL wsrep_provider_options="pc.ignore_sb=true";

Index

variable base_dir
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:value of datadir

This variable specifies the data directory.

variable base_host
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:value of wsrep_node_address

This variable sets the value of the node’s base IP. This is an IP address on which Galera listens for connections from other nodes. Setting this value incorrectly would stop the node from communicating with other nodes.

variable base_port
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:4567

This variable sets the port on which Galera listens for connections from other nodes. Setting this value incorrectly would stop the node from communicating with other nodes.

variable cert.log_conflicts
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:no

This variable is used to specify if the details of the certification failures should be logged.

variable debug
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:Yes
Default Value:no

When this variable is set to yes, it will enable debugging.

variable evs.auto_evict
Version:Introduced in 5.6.21-25.8
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:Yes
Default Value:0

Number of entries allowed on delayed list until auto eviction takes place. Setting value to 0 disables auto eviction protocol on the node, though node response times will still be monitored. EVS protocol version (evs.version) 1 is required to enable auto eviction.

variable evs.causal_keepalive_period
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:value of evs.keepalive_period

This variable is used for development purposes and shouldn’t be used by regular users.

variable evs.debug_log_mask
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:Yes
Default Value:0x1

This variable is used for EVS (Extended Virtual Synchrony) debugging. It can be used only when wsrep_debug is set to ON.

variable evs.delay_margin
Version:Introduced in 5.6.21-25.8
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:Yes
Default Value:PT1S

Time period that a node can delay its response from expected until it is added to delayed list. The value must be higher than the highest RTT between nodes.

variable evs.delayed_keep_period
Version:Introduced in 5.6.21-25.8
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:Yes
Default Value:PT30S

Time period that node is required to remain responsive until one entry is removed from delayed list.

variable evs.evict
Version:Introduced in 5.6.21-25.8
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:Yes

Manual eviction can be triggered by setting the evs.evict to a certain node value. Setting the evs.evict to an empty string will clear the evict list on the node where it was set.

variable evs.inactive_check_period
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:PT0.5S

This variable defines how often to check for peer inactivity.

variable evs.inactive_timeout
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:PT15S

This variable defines the inactivity limit, once this limit is reached the node will be considered dead.

variable evs.info_log_mask
Command Line:No
Config File:Yes
Scope:Global
Dynamic:No
Default Value:0

This variable is used for controlling the extra EVS info logging.

variable evs.install_timeout
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:Yes
Default Value:PT7.5S

This variable defines the timeout on waiting for install message acknowledgments.

variable evs.join_retrans_period
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:PT1S

This variable defines how often to retransmit EVS join messages when forming cluster membership.

variable evs.keepalive_period
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:PT1S

This variable defines how often to emit keepalive beacons (in the absence of any other traffic).

variable evs.max_install_timeouts
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:1

This variable defines how many membership install rounds to try before giving up (total rounds will be evs.max_install_timeouts + 2).

variable evs.send_window
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:4

This variable defines the maximum number of data packets in replication at a time. For WAN setups, the variable can be set to a considerably higher value than default (for example,512). The value must not be less than evs.user_send_window.

variable evs.stats_report_period
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:PT1M

This variable defines the control period of EVS statistics reporting.

variable evs.suspect_timeout
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:PT5S

This variable defines the inactivity period after which the node is “suspected” to be dead. If all remaining nodes agree on that, the node will be dropped out of cluster even before evs.inactive_timeout is reached.

variable evs.use_aggregate
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:true

When this variable is enabled, smaller packets will be aggregated into one.

variable evs.user_send_window
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:Yes
Default Value:2

This variable defines the maximum number of data packets in replication at a time. For WAN setups, the variable can be set to a considerably higher value than default (for example, 512).

variable evs.version
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:0

This variable defines the EVS protocol version. Auto eviction is enabled when this variable is set to 1. Default 0 is set for backwards compatibility.

variable evs.view_forget_timeout
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:P1D

This variable defines the timeout after which past views will be dropped from history.

variable gcomm.thread_prio
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No

Set the priority of the gcomm thread to a higher level if Percona XtraDB Cluster threads receive little CPU time because of other MySQL threads. This should prevent timeouts that might lead to nodes dropping from the cluster.

The format for this option is <policy>:<priority>, for example:

wsrep_provider_options="gcomm.thread_prio=rr:2"

Set the priority to an integer number. Set the policy to one of the following values:

  • other means the default time-sharing scheduling in Linux. Threads can run until they are blocked by an I/O request or preempted by higher priorities or superior scheduling designations.
  • fifo means first-in-first-out scheduling. Threads always immediately preempt any currently running other, batch or idle threads. They can run until they are either blocked by an I/O request or preempted by a FIFO thread of a higher priority.
  • rr means round-robin scheduling. Threads always preempt any currently running other, batch or idle threads. The scheduler allows these threads to run for a fixed period of a time. If the thread is still running when this time period is exceeded, they are stopped and moved to the end of the list, allowing another round-robin thread of the same priority to run in their place. They can otherwise continue to run until they are blocked by an I/O request or are preempted by threads of a higher priority.
variable gcache.dir
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:datadir

This variable can be used to define the location of the galera.cache file.

variable gcache.keep_pages_count
Version:Implemented in 5.6.25-25.12
Command Line:Yes
Config File:Yes
Scope:Local, Global
Dynamic:Yes
Default Value:0

This variable is used to limit the number of overflow pages rather than the total memory occupied by all overflow pages. Whenever either this or gcache.keep_pages_size variables are updated at runtime to a non-zero value, cleanup is called on excess overflow pages to delete them.

variable gcache.keep_pages_size
Command Line:Yes
Config File:Yes
Scope:Local, Global
Dynamic:No
Default Value:0

This variable is used to specify total size of the pages in storage to keep for caching purposes. If only page storage is enabled, one page is always present.

variable gcache.mem_size
Version:Deprecated in 5.6.22-25.8
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:0

This variable was used to define how much RAM is available for the system.

Warning

This variable has been deprecated and shouldn’t be used as it could cause a node to crash.

variable gcache.name
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:/var/lib/mysql/galera.cache

This variable can be used to specify the name of the Galera cache file.

variable gcache.page_size
Command Line:No
Config File:Yes
Scope:Global
Dynamic:No
Default Value:128M

This variable can be used to specify the size of the page files in the page storage.

variable gcache.size
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:128M

Size of the transaction cache for Galera replication. This defines the size of the galera.cache file which is used as source for IST. The bigger the value of this variable, the better are chances that the re-joining node will get IST instead of SST.

variable gcs.fc_debug
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:0

This variable specifies after how many writesets the debug statistics about SST flow control will be posted.

variable gcs.fc_factor
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:1

This variable is used for replication flow control. Replication is resumed when the slave queue drops below gcs.fc_factor * gcs.fc_limit.

variable gcs.fc_limit
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:16

This variable is used for replication flow control. Replication is paused when the slave queue exceeds this limit.

variable gcs.fc_master_slave
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:NO

This variable is used to specify if there is only one master node in the cluster.

variable gcs.max_packet_size
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:64500

This variable is used to specify the writeset size after which they will be fragmented.

variable gcs.max_throttle
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:0.25

This variable specifies how much the replication can be throttled during the state transfer in order to avoid running out of memory. Value can be set to 0.0 if stopping replication is acceptable in order to finish state transfer.

variable gcs.recv_q_hard_limit
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:9223372036854775807

This variable specifies the maximum allowed size of the receive queue. This should normally be (RAM + swap) / 2. If this limit is exceeded, Galera will abort the server.

variable gcs.recv_q_soft_limit
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:0.25

This variable specifies the fraction of the gcs.recv_q_hard_limit after which replication rate will be throttled.

variable gcs.sync_donor
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:NO

This variable controls if the rest of the cluster should be in sync with the donor node. When this variable is set to YES, the whole cluster will be blocked if the donor node is blocked with SST.

variable gmcast.listen_addr
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:tcp://0.0.0.0:4567

This variable defines the address on which the node listens to connections from other nodes in the cluster.

variable gmcast.mcast_addr
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:None

This variable should be set up if UDP multicast should be used for replication.

variable gmcast.mcast_ttl
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:1

This variable can be used to define TTL for multicast packets.

variable gmcast.peer_timeout
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:PT3S

This variable specifies the connection timeout to initiate message relaying.

variable gmcast.segment
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:0

This variable specifies the group segment this member should be a part of. Same segment members are treated as equally physically close.

variable gmcast.time_wait
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:PT5S

This variable specifies the time to wait until allowing peer declared outside of stable view to reconnect.

variable gmcast.version
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:0

This variable shows which gmcast protocol version is being used.

variable ist.recv_addr
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:value of wsrep_node_address

This variable specifies the address on which the node listens for Incremental State Transfer (IST).

variable ist.recv_bind
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:value of ist.recv_addr

Defines the address that the node binds on for receiving an Incremental State Transfer (IST), for example:

wsrep_provider_options="ist.recv_bind=192.168.1.1"

This option may be useful if a node runs behind a NAT or in similar cases where the public and private addresses differ.

variable pc.announce_timeout
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:PT3S

Cluster joining announcements are sent every 1/2 second for this period of time or less if other nodes are discovered.

variable pc.checksum
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:true

This variable controls whether replicated messages should be checksummed or not.

variable pc.ignore_quorum
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:Yes
Default Value:false

When this variable is set to TRUE, the node will completely ignore quorum calculations. This should be used with extreme caution even in master-slave setups, because slaves won’t automatically reconnect to master in this case.

variable pc.ignore_sb
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:Yes
Default Value:false

When this variable is set to TRUE, the node will process updates even in the case of a split brain. This should be used with extreme caution in multi-master setup, but should simplify things in master-slave cluster (especially if only 2 nodes are used).

variable pc.linger
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:PT20S

This variable specifies the period for which the PC protocol waits for EVS termination.

variable pc.npvo
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:false

When this variable is set to TRUE, more recent primary components override older ones in case of conflicting primaries.

variable pc.recovery
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:true

When this variable is set to true, the node stores the Primary Component state to disk. The Primary Component can then recover automatically when all nodes that were part of the last saved state re-establish communication with each other. This feature allows automatic recovery from full cluster crashes, such as in the case of a data center power outage. A subsequent graceful full cluster restart will require explicit bootstrapping for a new Primary Component.

variable pc.version
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:0

This status variable is used to check which PC protocol version is used.

variable pc.wait_prim
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:true

When set to TRUE, the node waits for a primary component for the period of time specified in pc.wait_prim_timeout. This is useful to bring up a non-primary component and make it primary with pc.bootstrap.

variable pc.wait_prim_timeout
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:PT30S

This variable is used to specify the period of time to wait for a primary component.

variable pc.weight
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:Yes
Default Value:1

This variable specifies the node weight that’s going to be used for Weighted Quorum calculations.

variable protonet.backend
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:asio

This variable is used to define which transport backend should be used. Currently only ASIO is supported.

variable protonet.version
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:0

This status variable is used to check which transport backend protocol version is used.

variable repl.causal_read_timeout
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:Yes
Default Value:PT30S

This variable specifies the causal read timeout.

variable repl.commit_order
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:3

This variable is used to specify out-of-order committing (which is used to improve parallel applying performance). The following values are available:

  • 0 - BYPASS: all commit order monitoring is turned off (useful for measuring performance penalty)
  • 1 - OOOC: allow out-of-order committing for all transactions
  • 2 - LOCAL_OOOC: allow out-of-order committing only for local transactions
  • 3 - NO_OOOC: no out-of-order committing is allowed (strict total order committing)
variable repl.key_format
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:Yes
Default Value:FLAT8

This variable is used to specify the replication key format. The following values are available:

  • FLAT8 - short key with higher probability of key match false positives
  • FLAT16 - longer key with lower probability of false positives
  • FLAT8A - same as FLAT8 but with annotations for debug purposes
  • FLAT16A - same as FLAT16 but with annotations for debug purposes
variable repl.max_ws_size
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:2147483647

This variable is used to specify the maximum size of a write-set in bytes. This is limited to 2 gygabytes.

variable repl.proto_max
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:7

This variable is used to specify the highest communication protocol version to accept in the cluster. Used only for debugging.

variable socket.checksum
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:2

This variable is used to choose the checksum algorithm for network packets. The following values are available:

  • 0 - disable checksum
  • 1 - plain CRC32 (used in Galera 2.x)
  • 2 - hardware accelerated CRC32-C
variable socket.ssl
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:No

This variable is used to specify if SSL encryption should be used.

variable socket.ssl_cert
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No

This variable is used to specify the path (absolute or relative to working directory) to an SSL certificate (in PEM format).

variable socket.ssl_key
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No

This variable is used to specify the path (absolute or relative to working directory) to an SSL private key for the certificate (in PEM format).

variable socket.ssl_compression
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:yes

This variable is used to specify if the SSL compression is to be used.

variable socket.ssl_cipher
Command Line:Yes
Config File:Yes
Scope:Global
Dynamic:No
Default Value:AES128-SHA

This variable is used to specify what cypher will be used for encryption.

This documentation is developed in Launchpad as part of the Percona XtraDB Cluster 5.6.
If you spotted inaccuracies, errors, don't understood it or you think something is missing or should be improved, please file a bug.


General Inquiries

For general inquiries, please send us your question and someone will contact you.