-
Notifications
You must be signed in to change notification settings - Fork 54
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
Add smoke tests for the Raft bassed metadata cluster #2582
Conversation
68a891f
to
708239c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Love the chaos test, great stuff!
let failed_precondition = client | ||
.put( | ||
key.clone(), | ||
&new_value, | ||
Precondition::MatchesVersion(value_version.next()), | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is perfect for a smoke test but if you wanted to, you could also add a Precondition::DoesNotExist
attempt. Maybe it just makes the test extra verbose though, not sure.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good idea. Will add it as well.
|
||
let start_chaos = Instant::now(); | ||
|
||
let chaos_handle = TaskCenter::spawn_unmanaged(TaskKind::Background, "chaos", async move { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If only getting a handle on chaos was this easy in real life :-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That would make for an awesome business ;-)
b8a4fe0
to
9446ad4
Compare
Before, we stopped joining the cluster if were a member and had an ongoing join operation in flight. This was clearly wrong. This is no changed to only stop joining if one is no longer a member.
Metadata might lag a little bit behind what the KvMemoryStorage already knows. That's why the RaftMetadataStore now uses which ever NodesConfiguration is newer.
9446ad4
to
ee21142
Compare
ee21142
to
5e7d08f
Compare
This PR is based on #2572 and #2581.