feat(simulator): separate a vacuous run and assert through the drain - #4191
Open
krishvishal wants to merge 1 commit into
Open
krishvishal wants to merge 1 commit into
krishvishal wants to merge 1 commit into
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #4191 +/- ##
=============================================
- Coverage 87.42% 70.68% -16.75%
- Complexity 1575 1576 +1
=============================================
Files 1280 1278 -2
Lines 222704 199004 -23700
Branches 186067 162367 -23700
=============================================
- Hits 194706 140659 -54047
- Misses 23287 53704 +30417
+ Partials 4711 4641 -70
🚀 New features to boost your workflow:
|
krishvishal
force-pushed
the
simulator-liveness
branch
from
September 15, 2026 08:11
b7f2217 to
5040c5d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A replica that adopts a view through a probe answer can keep an entry the view change already truncated.
handle_request_start_viewanswers a probe with an empty suffix, so the prober has no canonical headers to compare against,adopt_start_view_suffixparks nopending_view_log, and the commit walk applies the stale entry. Seed 144 of the uniform swarm lane reaches it on network faults alone, at op 7, with no crash needed.The probe answer now carries
local_dvc_suffix().headers(), which the cache already tags on the(op, commit)pair the announcement matches. Two more defects sat at the same site. The announced commit was unclamped, andcommit_maxlegitimately exceeds the head, soStartViewHeader::validaterejected it andtransmute_headerturned that into a panic; it usesdvc_commit()now, as theDoViewChangebuilder always did. Andreconcile_metadata_view_divergencefloored its truncation at the announced commit rather than at what this replica applied, against the argument in its own comment three lines above, so the suffix alone would not have closed the seed.answer_stale_view_heartbeatcarried both defects for the same stated reason and is fixed with them.Two campaign changes ride along. The vacuity floors exit 3 under a
vacuous:line instead of panicking, which exits 101 exactly like a real divergence, so a sweep can report yield apart from its failure rate. The drain and the view settle now assert the per-tick invariants, where they previously stepped up to 50,000 ticks with nothing checked.