From bf10e58f00f55555b71b5b16f0588651ffb1f9b8 Mon Sep 17 00:00:00 2001 From: Jarrod Johnson Date: Wed, 2 Aug 2023 13:43:41 -0400 Subject: [PATCH] Bump version With recent collective changes, bump the version to block connection with older collective members until upgraded. --- confluent_server/confluent/collective/manager.py | 6 +++--- confluent_server/confluent/sockapi.py | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/confluent_server/confluent/collective/manager.py b/confluent_server/confluent/collective/manager.py index 67c1a8ac..8668bc65 100644 --- a/confluent_server/confluent/collective/manager.py +++ b/confluent_server/confluent/collective/manager.py @@ -88,8 +88,8 @@ def connect_to_leader(cert=None, name=None, leader=None, remote=None, isretry=Fa if not banner: return vers = banner.split()[2] - if vers not in (b'v2', b'v3'): - raise Exception('This instance only supports protocol 2 or 3, synchronize versions between collective members') + if vers != b'v4': + raise Exception('This instance only supports protocol 4, synchronize versions between collective members') tlvdata.recv(remote) # authpassed... 0.. if name is None: name = get_myname() @@ -569,7 +569,7 @@ def handle_connection(connection, cert, request, local=False): 'txcount': cfm._txcount}) log.log({'info': 'Connecting to leader due to superior ' 'transaction count', 'subsystem': 'collective'}) - connection.close() + connection.close() # well this won't work if not connect_to_leader( None, None, connection.getpeername()[0]): if retrythread is None: diff --git a/confluent_server/confluent/sockapi.py b/confluent_server/confluent/sockapi.py index 341f1973..e90176ce 100644 --- a/confluent_server/confluent/sockapi.py +++ b/confluent_server/confluent/sockapi.py @@ -131,7 +131,8 @@ def sessionhdl(connection, authname, skipauth=False, cert=None): authenticated = True # version 0 == original, version 1 == pickle3 allowed, 2 = pickle forbidden, msgpack allowed # v3 - filehandle allowed - send_data(connection, "Confluent -- v3 --") + # v4 - schema change and keepalive changes + send_data(connection, "Confluent -- v4 --") while not authenticated: # prompt for name and passphrase send_data(connection, {'authpassed': 0}) response = tlvdata.recv(connection)