WSREP: unserialize error invalid flags 2: 71 (Protocol error)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona XtraDB Cluster moved to https://jira.percona.com/projects/PXC |
Invalid
|
Undecided
|
Unassigned |
Bug Description
I'm getting what appears to be a repeat of https:/
I have a four node Percona XtraDB cluster. Each night, one node shuts down for a backup and subsequently rejoins the cluster. This has run fine for quite some time now.
Last night, the backup node refused to rejoin the cluster. The other three nodes are humming along nicely, but any attempt to join the failed node is unsuccessful.
Luckily, we provision all of our nodes using Ansible, so we've got a repeatable recipe for blowing away a failed node and replacing it with a brand new, from scratch database node.
<strong>
The new server's MySQL log says:
131226 04:44:50 mysqld_safe Starting mysqld daemon with databases from /data/mysql
131226 04:44:50 mysqld_safe Skipping wsrep-recover for empty datadir: /data/mysql
131226 04:44:50 mysqld_safe Assigning 00000000-
131226 4:44:50 [Note] WSREP: wsrep_start_
131226 4:44:50 [Note] WSREP: Read nil XID from storage engines, skipping position init
131226 4:44:50 [Note] WSREP: wsrep_load(): loading provider library '/usr/lib64/
131226 4:44:50 [Note] WSREP: wsrep_load(): Galera 3.2(r170) by Codership Oy <email address hidden> loaded successfully.
131226 4:44:50 [Note] WSREP: CRC-32C: using hardware acceleration.
131226 4:44:50 [Warning] WSREP: Could not open saved state file for reading: /data/mysql/
131226 4:44:50 [Note] WSREP: Found saved state: 00000000-
131226 4:44:50 [Note] WSREP: Passing config to GCS: base_host = 10.0.1.226; base_port = 4567; cert.log_conflicts = no; gcache.dir = /data/mysql/; gcache.
131226 4:44:50 [Note] WSREP: Assign initial position for certification: -1, protocol version: -1
131226 4:44:50 [Note] WSREP: wsrep_sst_grab()
131226 4:44:50 [Note] WSREP: Start replication
131226 4:44:50 [Note] WSREP: Setting initial position to 00000000-
131226 4:44:50 [Note] WSREP: protonet asio version 0
131226 4:44:50 [Note] WSREP: Using CRC-32C (optimized) for message checksums.
131226 4:44:50 [Note] WSREP: backend: asio
131226 4:44:50 [Note] WSREP: GMCast version 0
131226 4:44:50 [Note] WSREP: (7497477a-
131226 4:44:50 [Note] WSREP: (7497477a-
131226 4:44:50 [Note] WSREP: EVS version 0
131226 4:44:50 [Note] WSREP: PC version 0
131226 4:44:50 [Note] WSREP: gcomm: connecting to group 'my_wsrep_cluster', peer '10.0.2.
131226 4:44:50 [Warning] WSREP: (7497477a-
131226 4:44:53 [Warning] WSREP: no nodes coming from prim view, prim not possible
131226 4:44:53 [Note] WSREP: view(view_
7497477a-
} joined {
} left {
} partitioned {
})
131226 4:44:54 [Warning] WSREP: last inactive check more than PT1.5S ago (PT3.5049S), skipping check
131226 4:45:23 [Note] WSREP: view((empty))
131226 4:45:23 [ERROR] WSREP: failed to open gcomm backend connection: 110: failed to reach primary view: 110 (Connection timed out)
at gcomm/src/
131226 4:45:23 [ERROR] WSREP: gcs/src/
131226 4:45:23 [ERROR] WSREP: gcs/src/
131226 4:45:23 [ERROR] WSREP: gcs connect failed: Connection timed out
131226 4:45:23 [ERROR] WSREP: wsrep::connect() failed: 7
131226 4:45:23 [ERROR] Aborting
131226 4:45:23 [Note] WSREP: Service disconnected.
131226 4:45:24 [Note] WSREP: Some threads may fail to exit.
131226 4:45:24 [Note] /usr/sbin/mysqld: Shutdown complete
131226 04:45:24 mysqld_safe mysqld from pid file /data/mysql/
The existing nodes in the cluster spit the following out whenever the new node attempts to join:
131226 4:45:23 [Warning] WSREP: unserialize error invalid flags 2: 71 (Protocol error)
at gcomm/src/
affects: | percona-server → percona-xtradb-cluster |
this is most likely a result of mixing Galera 2.x. and 3.x. To be used in a mixed cluster 3.x nodes must have socket.checksum set to 1.