hazelcast/hazelcast-python-client

[TRACKING ISSUE] [API-1531] Check the member UUIDs that the schema is replicated in the client schema service

hz-devops-test opened this issue · 0 comments

The tracking issue for the Java side PR.

See hazelcast/hazelcast#22197 for details.


This was the last task necessary to ensure the correctness of the
client-side implementation under the split brain.

The client might be connected to both halves of the split brain
without knowing it. Eventually, a member list update will come and
it will close connections to one half. But, until then, the client
might replicate the schema in one half, and put the data to other,
breaking our promise that no data will be received by members before
the schema.

To solve this, we have decided to use UUIDs of the members that the
schema is replicated on the client side. If there is at least one
member that is available in the member list on the client-side, but
not part of the schema replication response, we retry a couple of
times, after waiting for a while.

This PR also updates the since versions of the schema replication related
codecs to 5.2, to promote them to stable status as well.

Protocol PR: hazelcast/hazelcast-client-protocol#433