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

Delete after TTL #135

Closed
wants to merge 2 commits into from
Closed

Delete after TTL #135

wants to merge 2 commits into from

Conversation

fulmicoton
Copy link
Contributor

No description provided.

Due to the nature UDP, the existence of resets and the fact that we are
gossipping to several nodes at the same time, it is possible for our
obsolete deltas to arrive.

This PR adds some validation to detect if the delta is valid, and
whether it will bring us to a better state or not.

It also removes the nodes to reset information, which was actually
taking a large amount of the MTU on large clusters.
(For 20 nodes, around 1KB)

Reset is now just expressed by sending the delta with `from_version = 0`.

Closes #129

-

Removing hidden contract

We avoid computing tombstone's Instant upon deserialization.
It was hiding a very hidden contract forcing us to deserialize mutation
in the order of their version.

With this change, we defer the computation of the instant to the
call of the apply_delta method. All of the tombstone from a delta
get the exact same `Instant`.
@fulmicoton fulmicoton changed the base branch from main to issue/128-delta-validation March 4, 2024 08:02
@fulmicoton fulmicoton marked this pull request as ready for review March 4, 2024 08:02
@fulmicoton fulmicoton changed the title Ttl2 Delete after TTL Mar 4, 2024
After the GC grace period, the key value will be subject to the GC
just like regularly deleted KVs.
@fulmicoton fulmicoton force-pushed the issue/128-delta-validation branch 2 times, most recently from 4d2a9b3 to 65dfd8c Compare March 7, 2024 08:25
Base automatically changed from issue/128-delta-validation to main March 7, 2024 12:38
@fulmicoton fulmicoton closed this Mar 7, 2024
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.

1 participant