Skip to content

Enable auto-retry for Cascade Client. #11

Description

@songweijia

A cascade client uses locally cached group membership to decide which Cascade server to communicate with. If there was a view change, the client's membership cache might be stale resulting in the client trying an invalid member. In such a case, instead of leaving the exception handling to the application, we can implement the retry mechanism inside ServiceClient<>::put()/get()/remove(), where the connection exception should be caught, the membership be refreshed, and operation retry.

On network hiccups, the client must use the version verifier to avoid a retried operation being processed more than once.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions