QUEUE-146: recover exact indexed entries across a sealed cycle - #1741
Draft
peter-lawrey wants to merge 5 commits into
Draft
peter-lawrey wants to merge 5 commits into
peter-lawrey wants to merge 5 commits into
Conversation
peter-lawrey
force-pushed
the
feature/QUEUE-143-exact-index-eof-recovery
branch
from
August 25, 2026 08:49
866e16a to
f549546
Compare
peter-lawrey
force-pushed
the
feature/QUEUE-143-exact-index-eof-recovery
branch
from
August 25, 2026 16:49
f549546 to
cb19f48
Compare
peter-lawrey
marked this pull request as ready for review
August 26, 2026 16:26
peter-lawrey
force-pushed
the
feature/QUEUE-143-exact-index-eof-recovery
branch
from
August 26, 2026 16:35
dd4b6f0 to
e2233ab
Compare
peter-lawrey
force-pushed
the
feature/QUEUE-143-exact-index-eof-recovery
branch
2 times, most recently
from
August 26, 2026 22:59
a78780f to
21d293f
Compare
peter-lawrey
force-pushed
the
feature/QUEUE-143-exact-index-eof-recovery
branch
from
August 27, 2026 09:11
21d293f to
5177330
Compare
peter-lawrey
force-pushed
the
feature/QUEUE-143-exact-index-eof-recovery
branch
from
August 27, 2026 13:37
5177330 to
81aa8e9
Compare
peter-lawrey
force-pushed
the
feature/QUEUE-143-exact-index-eof-recovery
branch
from
August 27, 2026 15:01
81aa8e9 to
46fbeac
Compare
peter-lawrey
force-pushed
the
feature/QUEUE-143-exact-index-eof-recovery
branch
from
August 27, 2026 18:10
42a305c to
37efe0b
Compare
peter-lawrey
force-pushed
the
feature/QUEUE-143-exact-index-eof-recovery
branch
2 times, most recently
from
August 27, 2026 19:32
6ff1913 to
eb7a26a
Compare
peter-lawrey
force-pushed
the
feature/QUEUE-143-exact-index-eof-recovery
branch
from
August 27, 2026 19:37
eb7a26a to
31d5164
Compare
This was referenced Aug 27, 2026
peter-lawrey
force-pushed
the
feature/QUEUE-143-exact-index-eof-recovery
branch
from
August 30, 2026 08:33
7282bdf to
e14a3a1
Compare
peter-lawrey
force-pushed
the
feature/QUEUE-143-exact-index-eof-recovery
branch
from
August 30, 2026 19:44
e14a3a1 to
62acf1a
Compare
peter-lawrey
force-pushed
the
feature/QUEUE-143-exact-index-eof-recovery
branch
from
August 31, 2026 00:35
62acf1a to
ffd15dd
Compare
peter-lawrey
force-pushed
the
feature/QUEUE-143-exact-index-eof-recovery
branch
from
August 31, 2026 13:07
ffd15dd to
fb11485
Compare
peter-lawrey
force-pushed
the
feature/QUEUE-143-exact-index-eof-recovery
branch
from
August 31, 2026 20:58
fb11485 to
46dc4ff
Compare
peter-lawrey
force-pushed
the
feature/QUEUE-143-exact-index-eof-recovery
branch
from
September 1, 2026 03:27
46dc4ff to
fac005d
Compare
peter-lawrey
force-pushed
the
feature/QUEUE-143-exact-index-eof-recovery
branch
from
September 1, 2026 03:56
fac005d to
c36cb0a
Compare
peter-lawrey
force-pushed
the
feature/QUEUE-143-exact-index-eof-recovery
branch
from
September 1, 2026 09:54
c36cb0a to
399b1b7
Compare
peter-lawrey
force-pushed
the
feature/QUEUE-143-exact-index-eof-recovery
branch
from
September 1, 2026 15:34
399b1b7 to
f522766
Compare
peter-lawrey
force-pushed
the
feature/QUEUE-143-exact-index-eof-recovery
branch
from
September 3, 2026 12:57
f522766 to
7ad3ce7
Compare
peter-lawrey
force-pushed
the
feature/QUEUE-143-exact-index-eof-recovery
branch
from
September 4, 2026 16:39
c685e01 to
55904fd
Compare
peter-lawrey
marked this pull request as draft
September 11, 2026 11:13
Retain existing remote history while integrating the current parent. Use the validated tree from 905a5440713a8d91753f51d3069ed396891938e7.
This branch has not been deployed
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.
Hold for final stack review. Keep this PR in draft until the repaired #1739 -> #1740 -> #1741 stack has fresh review and CI.
Purpose
Q3 of QUEUE-146: recover validated exact-index replication writes across sealed cycles, with CQE responsible for completion ordering and maintenance exclusion.
Contract
normaliseEOFs()before acknowledgement/completion and exclude destructive maintenance. The interface default remains a compatibility no-op.Review corrections and evidence
readyCrashDuplicatesCompareMatchingAndDifferentPayloadscovers matching and differing requested crash records, both with and without a published prefix, after reopening.readyCrashDuplicateEqualityIsSilentWhenDebugDisabledchecks the disabled-debug behavior and retained mismatch warning. Tests assert both hex dumps, original contents, input cursor/limit preservation and adoption capped at the requested record.CHECK_INDEXdiagnostic, which assumes fully published state. They do not claim general index-repair coverage.cachedCycleEnumerationRejectsDeletedBoundariesprimes the cache and then deletes each endpoint without changing mapped metadata. It proves the old absent-path failure is preserved. The mapped-unlink case is POSIX-specific.StoreAppenderInternalWriteBytesTestandWriteBytesIndexTestremain present, preserving cross-instance replay, reopen and live-tailer integration evidence.//!notes distinguish behavioral discriminators, retained integration evidence and precisely stated defensive branches without current discriminators. AsciiDoc uses direct//!comments.Current ancestry and validation
9bd9b7e6db80b7d037a4f4a0f52f976c7dd4a4fe(fix/QUEUE-143-ordinary-append-rolls-past-eof).d1d639b7b190506a5175e078ead8b29af24c2108.905a5440713a8d91753f51d3069ed396891938e7.publishedDuplicateAfterTwoRecordsDoesNotMapLogicalCapacityfailed on the preceding code and passes here, checking unchanged file length/count and a subsequent append.-Dsurefire.rerunFailingTestsCount=0. Required build checks passed.2026.10-SNAPSHOTwas rebuilt from merged Remove automatic roll shrinking code #1280 commit3dd7fe5983c0133703ee72f57bced9a25270eb6f; JAR SHA-25692803fb011f5071900f5c3b1b637cf39f6254e86b4e29f77f1256ecc96dde755. This is source-build evidence for the local run; released immutable coordinates remain a gate.Stack and review gates
The repaired order is
staged/develop-> #1739 -> #1740 -> #1741. #1741 remains draft for final-stack review. The coordinate work in #1750 and follow-ups #1745/#1746 are unchanged.Wire #1280 merged on 2026-09-07. Successful CI on the published heads, independent review and immutable release/BOM coordinates remain outstanding. Previous-head results do not qualify the new heads.