On RELEASE_IP, the releasing node receives CTDB_CONTROL_TCP_CLIENT_DISCONNECTED, which causes the TCP connection to be removed from the tracking list on all nodes via CTDB_CONTROL_TCP_REMOVE. This means that the takeover node does not know about the TCP connection, so does not send tickle ACKs to the client. This was noticed after (finally) running CTDB cluster tests under autocluster for the first time in a long time and finding that ctdb/tests/CLUSTER/complex/32_cifs_tickle.sh was failing. Avoiding removal of the TCP connection during RELEASE_IP in ctdb_control_tcp_client_disconnected() fixes the issue. Sorry, I missed this when reviewing c6602b686b4e50d93272667ef86d3904181fb1ab in 2023. I will now regularly test via autocluster to ensure we don't see similar regressions.
This bug was referenced in samba master: 9351c9f3b5a57239a7fbdd818e8ab72ecc469d9d
Created attachment 18955 [details] Patch for v4-24-test, v4-23-test Cherry picks cleanly into v4-24-test. Resulting patch applies to v4-23-test with "git am". Both versions build without issues. The code hasn't changed enough in recent versions to require separate testing outside of the master branch.
This was https://gitlab.com/samba-team/samba/-/merge_requests/4407
metze: Are you happy to review the attached patch? You reviewed the MR. Thanks... :-)
Hi Björn, This is ready for 4.24 and 4.23. Thanks!
This bug was referenced in samba v4-24-test: 1247c61cb2ba39f420d114ab60a3dfa19853b6eb
This bug was referenced in samba v4-23-test: ddefd541870752fadacc3921a0240e1938fa619c
This bug was referenced in samba v4-23-stable (Release samba-4.23.11): ddefd541870752fadacc3921a0240e1938fa619c