diff options
author | Martin Schwenke <martin@meltin.net> | 2019-04-05 16:17:35 +1100 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2019-04-15 08:28:11 +0000 |
commit | d9c47cb86e0a3200cb8de9581596a24fbeb5b3e1 (patch) | |
tree | c88186addcc25b72a43c19cd3ce99fbd58b74232 /ctdb | |
parent | e974e44014b9ea5b6c62f81b63a9288eec82d5ff (diff) | |
download | samba-d9c47cb86e0a3200cb8de9581596a24fbeb5b3e1.tar.gz |
ctdb-daemon: Revert "We can not assume that just because we could complete a TCP handshake"
We also can not assume that nodes can be marked as connected via only
the keepalive mechanism. Keepalives are not sent to disconnected
nodes so, in the absence of other packets (e.g. broadcasts), 2 nodes
may never become marked as connected to each other.
Revert to marking nodes as connected in the TCP transport code. If a
connection is to a non(-operational) ctdbd then it will revert to
disconnected after a short while and may actually flap. This should
be rare.
This reverts commit 66919db3d7ab1e091223faf515b183af8bfddc83.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13888
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
(cherry picked from commit 38dc6d11a26c2e9a2cae7927321f2216ceb1c5ec)
Diffstat (limited to 'ctdb')
-rw-r--r-- | ctdb/tcp/tcp_connect.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/ctdb/tcp/tcp_connect.c b/ctdb/tcp/tcp_connect.c index 13452a5e83b..385547e0e78 100644 --- a/ctdb/tcp/tcp_connect.c +++ b/ctdb/tcp/tcp_connect.c @@ -122,6 +122,9 @@ static void ctdb_node_connect_write(struct tevent_context *ev, /* the queue subsystem now owns this fd */ tnode->fd = -1; + + /* tell the ctdb layer we are connected */ + node->ctdb->upcalls->node_connected(node); } |