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

Test: "ack committed prepare": Remove extra t.run() workaround #1366

Merged
merged 2 commits into from
Dec 19, 2023

Conversation

sentientwaffle
Copy link
Member

As part of the Scan API code review, we found that Groove.prefetch() would invoke its callback synchronously if all of the objects could be prefetched from cache. That was fixed as part of the same PR.

But fixing it caused an unrelated test to fail: replica_test.zig's "Cluster: repair: ack committed prepare".

During the Change views. B1/B2 participate. Don't allow B2 to repair op=21. step, even though only B1/B2 participated in the view change, A0 was still allowed to send SVC messages. Deferring prefetch()'s callback to next tick made commits take slightly longer. This permutation meant that B1/B2 would finish their view change (as before), but then A0 would prod them into kicking off another view change. So after the t.run(), B1/B2 were in status=view_change instead of status=normal.


(Also add some additional assertions that were useful while troubleshooting.)

As part of the [Scan API](#1054) code review, we found that `Groove.prefetch()` would invoke its callback synchronously if all of the objects could be prefetched from cache.
That was fixed as part of the same PR.

But fixing it caused an unrelated test to fail: `replica_test.zig`'s `"Cluster: repair: ack committed prepare"`.

During the `Change views. B1/B2 participate. Don't allow B2 to repair op=21.` step, even though only B1/B2 participated in the view change, A0 was still allowed to send SVC messages. Deferring `prefetch()`'s callback to next tick made commits take slightly longer. This permutation meant that B1/B2 would finish their view change (as before), but then A0 would prod them into kicking off another view change.
@sentientwaffle sentientwaffle marked this pull request as ready for review December 19, 2023 18:16
@sentientwaffle sentientwaffle added this pull request to the merge queue Dec 19, 2023
Merged via the queue into main with commit 6137864 Dec 19, 2023
27 checks passed
@sentientwaffle sentientwaffle deleted the dj-test-ack-committed-prepare-fix branch December 19, 2023 18:49
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.

2 participants