Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Possible message loss when peer-cluster names changed into replication-clusters #3425

Closed
rdhabalia opened this issue Jan 24, 2019 · 0 comments
Assignees
Labels
type/bug The PR fixed a bug or issue reported a bug
Milestone

Comments

@rdhabalia
Copy link
Contributor

Issue

There could be possible data-loss when user is using peer-cluster feature and changes replication cluster from peer1-cluster to peer2-cluster.

  • Sometimes, broker never receives a zk-watch for namespace policies change so, if replication cluster list has been changed then there is a possibility that broker which is owning bundle of that namespace, might not see the change and still serving the namespace bundle.
  • if the replication cluster has been changed from peer-cluster1 to peer-cluster2 then peer-cluster1 will continue to serve namespace and will not redirect lookup-request to peer-cluster2. in that case there will be ownership discrepancy and peer-cluster2 might not receive the traffic which will cause in data-loss.

Fix

  • this issue happens when one of broker doesn't receive the zk-watch.
  • To fix the issue, whichever broker receives the watch, that unloads the namespace if it's already owned by local cluster and broker invalidates namespace-policy cache before owning the namespace bundle to avoid any discrepancy.
@rdhabalia rdhabalia added the type/bug The PR fixed a bug or issue reported a bug label Jan 24, 2019
@rdhabalia rdhabalia self-assigned this Jan 24, 2019
@rdhabalia rdhabalia added this to the 2.3.0 milestone Jan 24, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/bug The PR fixed a bug or issue reported a bug
Projects
None yet
Development

No branches or pull requests

2 participants