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

Key deletion logic bugfix #122

Merged
merged 4 commits into from
Feb 19, 2024
Merged

Key deletion logic bugfix #122

merged 4 commits into from
Feb 19, 2024

Conversation

fulmicoton
Copy link
Contributor

Closes #121

@fulmicoton fulmicoton force-pushed the issue/121-delete-key-gc branch 3 times, most recently from 013c00c to 09b82d4 Compare February 19, 2024 08:05
See README and issue #121.

Closes #121
@fulmicoton fulmicoton force-pushed the issue/121-delete-key-gc branch from 09b82d4 to d729b26 Compare February 19, 2024 08:09
marked_for_deletion_grace_period: u64,
dead_nodes: &HashSet<ChitchatId>,
) {
for (chitchat_id, node_state) in &mut self.node_states {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No clue why we skipped dead nodes in GC.

@fulmicoton fulmicoton requested a review from fmassot February 19, 2024 08:10
README.md Outdated Show resolved Hide resolved
fulmicoton added a commit that referenced this pull request Feb 19, 2024
detection.

Right now we send the heartbeat of all of the known nodes in the cluster
during digests.

We can use that information for cluster membership.
This will allow nodes to detect new member, join a cluster, and detect
failure considerably faster.

This PR also removes heartbeat from delta message.
Instead it joins the last_gc_version, to fix a bug introduced in #122.
fulmicoton added a commit that referenced this pull request Feb 19, 2024
Right now we send the heartbeat of all of the known nodes in the cluster
during digests.

We can use that information for cluster membership.
This will allow nodes to detect new member, join a cluster, and detect
failure considerably faster.

This PR also removes heartbeat from delta message.
Instead it joins the last_gc_version, to fix a bug introduced in #122.
fulmicoton added a commit that referenced this pull request Feb 19, 2024
Right now we send the heartbeat of all of the known nodes in the cluster
during digests.

We can use that information for cluster membership.
This will allow nodes to detect new member, join a cluster, and detect
failure considerably faster.

This PR also removes heartbeat from delta message.
Instead it joins the last_gc_version, to fix a bug introduced in #122.
chitchat/src/state.rs Outdated Show resolved Hide resolved
fulmicoton added a commit that referenced this pull request Feb 19, 2024
Right now we send the heartbeat of all of the known nodes in the cluster
during digests.

We can use that information for cluster membership.
This will allow nodes to detect new member, join a cluster, and detect
failure considerably faster.

This PR also removes heartbeat from delta message.
Instead it joins the last_gc_version, to fix a bug introduced in #122.

Bugfix:
Avoid updating the time of death of a node when it is redetected as
faulty.

We remove outselves from the list of seeds. Before nodes were regularly gossipping with themselves.

Code improvement:
In the failure detector when we have few samples. We now use additive
smoothing.
fulmicoton added a commit that referenced this pull request Feb 19, 2024
Right now we send the heartbeat of all of the known nodes in the cluster
during digests.

We can use that information for cluster membership.
This will allow nodes to detect new member, join a cluster, and detect
failure considerably faster.

This PR also removes heartbeat from delta message.
Instead it joins the last_gc_version, to fix a bug introduced in #122.

Bugfix:
Avoid updating the time of death of a node when it is redetected as
faulty.

We remove outselves from the list of seeds. Before nodes were regularly gossipping with themselves.

Code improvement:
In the failure detector when we have few samples. We now use additive
smoothing.
@@ -56,7 +56,8 @@ impl Default for ChitchatConfig {
failure_detector_config: Default::default(),
// Each heartbeat increments the version, with one heartbeat each second
// 86400 ~ 24h.
marked_for_deletion_grace_period: 86400,
// TODO set that to something much lower.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's do it, something like 1 or 2 hours?

@fulmicoton fulmicoton force-pushed the issue/121-delete-key-gc branch from 9024812 to c8c363c Compare February 19, 2024 15:06
fulmicoton added a commit that referenced this pull request Feb 19, 2024
Right now we send the heartbeat of all of the known nodes in the cluster
during digests.

We can use that information for cluster membership.
This will allow nodes to detect new member, join a cluster, and detect
failure considerably faster.

This PR also removes heartbeat from delta message.
Instead it joins the last_gc_version, to fix a bug introduced in #122.

Bugfix:
Avoid updating the time of death of a node when it is redetected as
faulty.

We remove outselves from the list of seeds. Before nodes were regularly gossipping with themselves.

Code improvement:
In the failure detector when we have few samples. We now use additive
smoothing.
@fulmicoton fulmicoton merged commit ec1dbbe into main Feb 19, 2024
1 of 2 checks passed
fulmicoton added a commit that referenced this pull request Feb 19, 2024
Right now we send the heartbeat of all of the known nodes in the cluster
during digests.

We can use that information for cluster membership.
This will allow nodes to detect new member, join a cluster, and detect
failure considerably faster.

This PR also removes heartbeat from delta message.
Instead it joins the last_gc_version, to fix a bug introduced in #122.

Bugfix:
Avoid updating the time of death of a node when it is redetected as
faulty.

We remove outselves from the list of seeds. Before nodes were regularly gossipping with themselves.

Code improvement:
In the failure detector when we have few samples. We now use additive
smoothing.
fulmicoton added a commit that referenced this pull request Feb 19, 2024
Right now we send the heartbeat of all of the known nodes in the cluster
during digests.

We can use that information for cluster membership.
This will allow nodes to detect new member, join a cluster, and detect
failure considerably faster.

This PR also removes heartbeat from delta message.
Instead it joins the last_gc_version, to fix a bug introduced in #122.

Bugfix:
Avoid updating the time of death of a node when it is redetected as
faulty.

We remove outselves from the list of seeds. Before nodes were regularly gossipping with themselves.

Code improvement:
In the failure detector when we have few samples. We now use additive
smoothing.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Key GC logic is broken
2 participants