We decided to try upgrading one node to latest stable.
The OS in question is CentOS 6.3 x64.
It seems that streaming of SST has changed from using nc to socat? Obviously it failed because I had to recompile and install socat manually.
Furthermore, trying to sync 5.5.33 with 5.5.31 yields “xb_stream_read_chunk(): wrong chunk magic at offset 0x0.”
I’m guessing the donor is trying to stream via nc, and joiner is listening on socat?
How to remedy the upgrade? Any way to force nc on joiner? Or is this issue unrelated to socat?
I don’t remember seeing nothing relevant in release notes.
Faced the same problem today. Seems like the default stream format was changed from tar to xbstream when doing xtrabackup SST. Because of this 5.5.31 sends tar and 5.5.33 expects xbstream format(and errors with invalid magic, which I believe is a binary header that identifies xbstream).
After this change, state transfer completes, however I got stuck just after state is transferred:
WSREP_SST: [INFO] Evaluating nc -dl 4444 | pv -f -i 10 -N joiner | tar xfi - ; RC=( ${PIPESTATUS[@]} ) (20130921 04:47:14.457)
Nothing happens on the donor and the joiner gets stuck. There are no errors. Perhaps it is because I switched from socat to nc (via my.cnf), now I am tring with socat.
Here’s my initial procedure of upgrading the cluster with new version (4/5 nodes done):
Copy new binaries to a node selected as donor
Force donor node via wsrep_sst_donor
Install socat (if missing). Also had to link it in /usr/sbin since it is compiles to /usr/local/bin by default (CentOS 6.3)
Our mysql.sock is at /temp not /var/lib. I had to introduce [xtrabackup] group in my.cnf with socket directive at donor node else xtrabackup could not find it. Had no issue with that on previous releases.
Switch forcing donor to newly fully upgraded node which will now seed the rest of the cluster
Upgrade/SST/IST as necessary forcing fresh 5.33 as donor node
Remove wsrep_sst_donor directive
NOTE: I have been able to upgrade other nodes purely via IST once I had setup all the options above correctly and had 5.33 donor node up&running.
We are using binary tar.gz distributions and upgrading the Percona software consisted of moving/renaming binaries/data folders.
Question - Is it necessary to install the following packages alongside binary distro?