hazelcast-python-client icon indicating copy to clipboard operation
hazelcast-python-client copied to clipboard

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

Open hz-devops-test opened this issue 3 years ago • 0 comments
trafficstars

The tracking issue for the Java side PR.

See https://github.com/hazelcast/hazelcast/pull/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: https://github.com/hazelcast/hazelcast-client-protocol/pull/433

hz-devops-test avatar Sep 22 '22 09:09 hz-devops-test