I have a quick question with pc.wait_prim=false behavior.
There’s a bug that was verified that you can’t use pc.wait_prim=false as it just hangs.
If I’m using this option, mysql should fire up where I can connect to it to be able to 'SET GLOBAL wsrep_provider_options=“pc.bootstrap=1”; ’ if I’m using the latest code, correct?
I ask, because with what’s currently in the Percona repo’s doesn’t allow it for 5.6, though it does at least allow you to kill the daemon to make it shut down gracefully, at least for RHEL6.5.7…
Any help appreciated…
Steps I used to test:
sudo yum install http://pkgs.repoforge.org/socat/socat-126.96.36.199-1.el6.rf.x86_64.rpm
sudo yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
sudo yum install Percona-XtraDB-Cluster-56.x86_64
Config file - bare minimums to get this to start (dns is valid and resolves for my env):
Disabling symbolic-links is recommended to prevent assorted security risks
Automatically adjust auto_increment_increment and auto_increment_offset system variables when cluster membership changes.
wsrep_auto_increment_control = on
This variable is used to control if Foreign Key checking is done for applier threads.
Enable debug log output
wsrep_debug = off
An option to explicitly specify the network address of the node if autoguessing for some reason does not produce
desirable results (multiple network interfaces, NAT, etc.) If not explicitly overridden by
wsrep_sst_receive_address, the part will be used to listen for SST (the port is still SST method-
dependent). And the whole [:port] string will be passed to wsrep provider to be used as a base address
in its communications.
A name (given in wsrep_node_name) of the server that should be used as a source for state transfer.
If not specified, Galera will choose the most appropriate one.
A string of provider options passed directly to provider.
wsrep_provider_options = gmcast.listen_addr=tcp://0.0.0.0:13306;evs.keepalive_period=PT3S;evs.inactive_check_period=PT10S;evs.suspect_timeout=PT30S;evs.inactive_timeout=PT1M;evs.install_timeout=PT1M;ist.recv_addr=tcp://springsing.test:13307
This variable can be used to reject queries for that node.
wsrep_reject_queries = NONE
This variable is used to control if Unique Key checking is done for applier threads.
Logical node name - for convenience. (Defaults to hostname)
Maximum allowed writeset size. Currently it limits supported size of transaction and LOAD DATA statement.
wsrep_max_ws_size = 1073741824
A string with authentication information for state snapshot transfer. It depends on the state transfer method.
For mysqldump state transfer it should be : where user has root privileges on this server.
For rsync method it is ignored.
wsrep_sst_auth = sstauth:sstauth
When enabled this option will use new, transparent handling of preordered replication events (like replication from traditional master).
wsrep_preordered = off
Logical cluster name. If a node tries to connect to a cluster with a different name, connection fails
wsrep_cluster_name = tester
A path to wsrep provider to load. If not specified, all calls to wsrep provider will be bypassed.
wsrep_provider = /usr/lib64/libgalera_smm.so
This variable exists for the sole purpose of notifying joining node about state transfer completion.
If an autocommit query fails due to cluster-wide conflict we can retry it without returning error to client.
This sets how many times to retry.
wsrep_retry_autocommit = 1
This variable is used to send the DBUG option to the wsrep provider.
wsrep_dbug_option = off
This variable controls how many replication events will be grouped together. This implementation is still experimental.
wsrep_mysql_replication_bundle = 0
The address at which this node expects to receive state transfer. Depends on state transfer method. E.g. for
mysqldump state transfer it is the address and the port on which this server listens.
wsrep_sst_receive_address = springsing.test:13308
In some cases master may apply event faster than a slave, which can cause master and slave being out-of-sync for a brief moment.
When this variable is set to ON slave will wait till that event is applied before doing any other queries.
wsrep_causal_reads = off
Address to connect to cluster. Provider specific. Galera takes addresses in URL format:
wsrep_cluster_address = gcomm://springsing.test:13306,toldcontrolled.test:13306?pc.wait_prim=false
Maximum number of rows allowed in the writeset. Currently it limits supported size of transaction and LOAD DATA statement.
wsrep_max_ws_rows = 131072
How many threads to use for applying slave writsets.
wsrep_slave_threads = 4
Generate primary keys for rows without ones for the purpose of certification. This is required fori
parallel applying. We don’t recommend using tables without primary keys.
wsrep_certify_nonPK = on
A command to run when cluster membership or state of this node changes.
This variable is used to control whether sole cluster conflicts should be logged. When enabled details of conflicting InnoDB lock will be logged.
wsrep_log_conflicts = off
Online schema upgrade method (MySQL >= 5.5.17).
wsrep_OSU_method = TOI
Use wsrep replication. When turned off, no changes made in this session will be replicated.
wsrep_on = on
When this variable is enabled SST donor node will not accept incoming queries, instead it will reject queries with UNKNOWN COMMAND error code.
This can be used to signal load-balancer that the node isn’t available.
wsrep_sst_donor_rejects_queries = off
Address at which server expects client connections. Intended for integration with load balancers.
Not used for now.
A method to use for state snapshot transfer. wsrep_sst_<wsrep_sst_method> command will be called with
wsrep_sst_method = xtrabackup-v2