[MDEV-30686] With wsrep_sst_rsync , Node goes into endless loop when trying to establish connection to donor for IST Created: 2023-02-20  Updated: 2023-10-10

Status: Stalled
Project: MariaDB Server
Component/s: Galera, Galera SST
Affects Version/s: 10.5, 10.6
Fix Version/s: 10.4, 10.5, 10.6

Type: Bug Priority: Major
Reporter: Pramod Mahto Assignee: Julius Goryavsky
Resolution: Unresolved Votes: 0
Labels: FreeBSD


 Description   

Platform: FreeBSD

With regex in wsrep_sst_rsync script function check_pid_and_port :

 
if [ $lsof_available -ne 0 ]; then
port_info=$(lsof -Pnl -i ":$port" 2>/dev/null | \
grep -F '(LISTEN)')
echo "$port_info" | \
grep -q -E "[[:space:]](\\*|\\[?::\\]?):$port[[:space:]]" && busy=1

If the database is bind on specific IP address, not * the IST will never happen and Joiner node will loop forever and wait "rsync" to start listen on * .

When we remove lsof package, the * wsrep_sst_rsync* script fallback to sockstat and its working fine.


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