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

[TRACKING ISSUE] Don't allow empty memberlist on cluster id changes [API-1215] [API-1505] #762

Open
3 of 6 tasks
hz-devops-test opened this issue Apr 5, 2022 · 1 comment
Labels
to-jira Use to create a placeholder Jira issue in Jira APIs Project

Comments

@hz-devops-test
Copy link

The tracking issue for the Java side PR.

See hazelcast/hazelcast#20818 for details.


When cluster id changed we were resetting member list
with an empty memberlist. It turned out that there are implementations
that assumes it will never be empty.

Following test failure is an example of it.
hazelcast/hazelcast#20264

Instead of clearing the memberlist on cluster id change, we
are keeping the cluster id as part of the latest snapshot
to be able to fire correct events. In other words, on cluster restart
we need to fire removed events for all old members and added
events for all new members coming from restarted cluster.
We were achieving this via clearing memberlist and firing removed
events first. Then after some time new memberlist comes and we fire
added events. And the memberlist is empty during this period.
To prevent that, we have changed the logic. Now clusterUuid is
part of the logic. We don't clear the memberlist at all. Upon receiving,
an event, we compare existing and new clusterUuid. If they are different,
without comparing the members, we fire removed events for all existing
members, and added events for all new ones to achieve same behaviour.

Note that clearing memberlist on cluster id change was
introduced as a fix to hazelcast/hazelcast#18245
So it is important not to break related ClientHotRestartTest

fixes hazelcast/hazelcast#20264

Checklist:

  • Labels (Team:, Type:, Source:, Module:) and Milestone set
  • Label Add to Release Notes or Not Release Notes content set
  • Request reviewers if possible
  • Send backports/forwardports if fix needs to be applied to past/future releases
  • New public APIs have @Nonnull/@Nullable annotations
  • New public APIs have @since tags in Javadoc
@yuce yuce added the to-jira Use to create a placeholder Jira issue in Jira APIs Project label Aug 12, 2022
@github-actions github-actions bot changed the title [TRACKING ISSUE] Don't allow empty memberlist on cluster id changes [API-1215] [TRACKING ISSUE] Don't allow empty memberlist on cluster id changes [API-1215] [API-1505] Aug 12, 2022
@github-actions
Copy link

Internal Jira issue: API-1505

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
to-jira Use to create a placeholder Jira issue in Jira APIs Project
Projects
None yet
Development

No branches or pull requests

2 participants