[MDEV-15033] Node fails to join mdb cluster with wsrep_sst_mariabackup due to dependency from socat Created: 2018-01-22  Updated: 2018-03-23  Resolved: 2018-02-06

Status: Closed
Project: MariaDB Server
Component/s: Backup, Galera SST
Affects Version/s: 10.1, 10.2.12
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Zdravelina Sokolovska (Inactive) Assignee: Jan Lindström (Inactive)
Resolution: Won't Fix Votes: 0
Labels: None
Environment:

CentOS 7.4


Issue Links:
Relates
relates to MDEV-15638 galera package should contain depende... Closed

 Description   

Node fails to join mdb cluster with wsrep_sst_mariabackup due to dependency from socat

how to repeat
1. install MariaDB-server
3 .enable wsrep
3. on the first none issue command galera_new_cluster
4. initiate the first joining of the second node to the cluster –
service mysql start --wsrep_cluster_address=gcomm://192.168.104.193 – it fails with Error

WSREP_SST: [ERROR] socat not found in path: /usr/sbin:/sbin:/usr//bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin (20180122 14:55:32.993)
2018-01-22 14:55:32 140617791280896 [ERROR] WSREP: Failed to read 'ready <addr>' from: wsrep_sst_mariabackup --role 'joiner' --address '192.168.104.195' --datadir '/var/lib/mysql/'   --parent '31544'  ''
        Read: '(null)'
2018-01-22 14:55:32 140617791280896 [ERROR] WSREP: Process completed with error: wsrep_sst_mariabackup --role 'joiner' --address '192.168.104.195' --datadir '/var/lib/mysql/'   --parent '31544'  '' : 2 (No such file or directory)
2018-01-22 14:55:32 140618039088896 [ERROR] WSREP: Failed to prepare for 'mariabackup' SST. Unrecoverable.
2018-01-22 14:55:32 140618039088896 [ERROR] Aborting

2018-01-22 14:55:32 140618139555968 [Note] WSREP: Waiting for SST to complete.
2018-01-22 14:55:32 140617799673600 [Note] WSREP: New COMPONENT: primary = yes, bootstrap = no, my_idx = 0, memb_num = 2
2018-01-22 14:55:32 140617799673600 [Note] WSREP: STATE_EXCHANGE: sent state UUID: 8804dc30-ff73-11e7-8389-e33e6fce0d53
2018-01-22 14:55:32 140617799673600 [Note] WSREP: STATE EXCHANGE: sent state msg: 8804dc30-ff73-11e7-8389-e33e6fce0d53
2018-01-22 14:55:32 140617799673600 [Note] WSREP: STATE EXCHANGE: got state msg: 8804dc30-ff73-11e7-8389-e33e6fce0d53 from 0 (t4w5)
2018-01-22 14:55:32 140617799673600 [Note] WSREP: STATE EXCHANGE: got state msg: 8804dc30-ff73-11e7-8389-e33e6fce0d53 from 1 (t4w5)
2018-01-22 14:55:32 140617799673600 [Note] WSREP: Quorum results:
        version    = 4,
        component  = PRIMARY,
        conf_id    = 175,
        members    = 1/2 (joined/total),
        act_id     = 31,
        last_appl. = -1,
        protocols  = 0/7/3 (gcs/repl/appl),
        group UUID = ca2bb6d4-ff5d-11e7-8871-7f48103f96c0
2018-01-22 14:55:32 140617799673600 [Note] WSREP: Flow-control interval: [23, 23]
2018-01-22 14:55:32 140617799673600 [Note] WSREP: Trying to continue unpaused monitor
2018-01-22 14:55:32 140617799673600 [Note] WSREP: Shifting OPEN -> PRIMARY (TO: 31)
2018-01-22 14:55:32 140618039088896 [Note] WSREP: State transfer required:
        Group state: ca2bb6d4-ff5d-11e7-8871-7f48103f96c0:31
        Local state: 00000000-0000-0000-0000-000000000000:-1
2018-01-22 14:55:32 140618039088896 [Note] WSREP: New cluster view: global state: ca2bb6d4-ff5d-11e7-8871-7f48103f96c0:31, view# 176: Primary, number of nodes: 2, my index: 0, protocol version 3
2018-01-22 14:55:32 140618039088896 [Warning] WSREP: Gap in state sequence. Need state transfer.
2018-01-22 14:55:32 140617791280896 [Note] WSREP: Running: 'wsrep_sst_mariabackup --role 'joiner' --address '192.168.104.195' --datadir '/var/lib/mysql/'   --parent '31544'  '' '
WSREP_SST: [INFO] Streaming with xbstream (20180122 14:55:32.986)
WSREP_SST: [INFO] Using socat as streamer (20180122 14:55:32.989)
which: no socat in (/usr/sbin:/sbin:/usr//bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)
WSREP_SST: [ERROR] socat not found in path: /usr/sbin:/sbin:/usr//bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin (20180122 14:55:32.993)
2018-01-22 14:55:32 140617791280896 [ERROR] WSREP: Failed to read 'ready <addr>' from: wsrep_sst_mariabackup --role 'joiner' --address '192.168.104.195' --datadir '/var/lib/mysql/'   --parent '31544'  ''
        Read: '(null)'
2018-01-22 14:55:32 140617791280896 [ERROR] WSREP: Process completed with error: wsrep_sst_mariabackup --role 'joiner' --address '192.168.104.195' --datadir '/var/lib/mysql/'   --parent '31544'  '' : 2 (No such file or directory)
2018-01-22 14:55:32 140618039088896 [ERROR] WSREP: Failed to prepare for 'mariabackup' SST. Unrecoverable.
2018-01-22 14:55:32 140618039088896 [ERROR] Aborting

Error in my_thread_global_end(): 1 threads didn't exit



 Comments   
Comment by Zdravelina Sokolovska (Inactive) [ 2018-01-22 ]

Workaround
to overcome the received
the WSREP_SST: [ERROR] socat not found in path and the consecutive
[ERROR] WSREP: Failed to prepare for 'mariabackup' SST. Unrecoverable.
it's need to install manually socat package ;

Workaround : install manually socat package
Note :
it's does no become clear if socat package should be in mariadb cluster pack , although several similar issues are closed for xtrabackup sst method;
but if socat package is needed it should be required at least in a Preparing for install / deploy cluster guide

Comment by Jan Lindström (Inactive) [ 2018-02-06 ]

http://lists.askmonty.org/pipermail/commits/2018-February/011959.html

Comment by Jan Lindström (Inactive) [ 2018-02-06 ]

We cannot add new RPM dependencies in GA-releases.

greenman Can you update relevant documentation.

Comment by Elena Stepanova [ 2018-02-06 ]

As discussed by email, it can still be fixed in 10.3 if we want to.
However, thinking about it, it might be strange to make socat the dependency if we don't make mariabackup itself a dependency?
serg suggested a somewhat different solution, to make socat a dependency for mariabackup, not mariadb-server. It might be more logical.

Comment by Zdravelina Sokolovska (Inactive) [ 2018-02-06 ]

serg but mariabackup does not use socat at the moment? mariabackup --backup | --copy-back works without socat packdge to be installed .
is it planned to do that in the feature ?
currently remote backup fails via mariabackup --host=Remote_Server – MDEV-15075

Comment by Sergei Golubchik [ 2018-02-06 ]

mariabackup doesn't. And the server doesn't.

Only when a user enables galera and configures it to use wsrep_sst_mariabackup method, then he will need both socat and mariabackup.

Currently the server does not require either socat or mariabackup. It'd be rather strange to require socat and not require mariabackup. And requiring both would introduce a dependency that's not needed by more than 99% (my estimate) of users, so it wouldn't be very user friendly.

Comment by Elena Stepanova [ 2018-02-06 ]

greenman, I think it's still worth documented though, as Jan requested above.

Generated at Thu Feb 08 08:18:11 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.