Skip to content

test(core): clear two quarantine entries by fixing what they were about, not by waiving them - #473

Merged
astubbs merged 4 commits into
masterfrom
fix/clear-the-quarantine-registry
Sep 8, 2026
Merged

astubbs merged 4 commits into
masterfrom
fix/clear-the-quarantine-registry

Conversation

@astubbs

@astubbs astubbs commented Sep 7, 2026 •

Copy link
Copy Markdown
Owner

Clears two of the three entries in docs/quarantined-tests.md by fixing what they were about, not by
waiving anything. The 0.6.0.0 release guard blocks while that file is non-empty.

After this PR the registry is empty. A third entry, ProducerManagerTest.aRevokeTimeCommitIncludesTheOffsetOfEveryRecordItAlreadyProduced, stood in the registry when this work was scoped; #466 fixed that defect on master while this PR was in review, and master is merged in here. With the two entries below gone, no @Quarantined annotation remains in the tree, and the release workflow's "no release while tests are quarantined" block clears.

Description

1. RegistrationRaceStaleResidentIT - diagnosed, fixed, un-quarantined

Quarantined by #440 on a sighting ledger with no mechanism. It failed on its
own SETUP guard - control thread must reach the mid-loop pause point (offset 25) - and never on the
confluentinc#909 assertion it exists to make, so every failure was evidence about
nothing.

The mechanism is the test's staging, not PC. The test saturates the pipeline by gating the user
function so nothing ever completes, which makes whatever stage 1 produced permanent - a record out at
a parked worker is still counted in shards. Stage 1 produced 12 records against an out-for-processing
target of 8 ("with a margin", said the comment), so records-in-shards sat at 12 against
WorkManager.isSufficientlyLoaded()'s threshold of 8 for the rest of the run. BrokerPollSystem
paused the partition for back pressure and nothing could resume it - both resumeIfPaused and
maybeWakeupPoller are conditioned on !isSufficientlyLoaded(). The stage-2 records carrying offset
25 were never fetched. It passed at all only by racing a consumer.poll() already in flight when the
gate closed, which kept delivering for up to the 2s long-poll timeout.

Control arms, predictions stated before running (M-series desktop, Docker):

Arm The one term that moved Result
baseline nothing PASS, 15.6s
A wait for isSufficientlyLoaded() before stage 2 3/3 PASS - prediction refuted
A' wait for isSubscriptionsPausedForBackPressure() before stage 2 3/3 FAIL, 36.8-37.4s, exact CI signature
B stage 1 produces 8 rather than 12 10/10 PASS, 13.6-14.3s
C arm B, ProcessingShard stale replacement disabled FAIL on the 909 signature after 104s, naming exactly k-25..k-49

Arm A is worth reading: forcing the intake gate shut did not reproduce the failure, because the gate
closing is not the same event as the partition being paused. The refuted arm is what located the real
window. A' and B differ by one record either side of the threshold and the outcome flips. C is what
says the repair did not cost the reproduction.

The fix: STAGE_1_RECORDS is derived from MESSAGE_BUFFER_SIZE so the two cannot drift; the
precondition is asserted before the stage-2 produce instead of left implicit; the guard reports the
intake state after its wait, so a future failure says which of "slow broker" and "records never
fetched" it was. Write-up:
docs/solutions/test-flakiness/the-setup-guard-was-waiting-on-records-back-pressure-had-stopped-fetching-2026-09-07.md.

2. MultiInstanceRebalanceTest.largeNumberOfInstances - measured, so it leaves the gate

Nothing here is repaired, because nothing is broken. #444 measured the
residual as the Kafka consumer group protocol under this profile's churn rate - 4 in 60 on the Linux
runner, 0 in 22 on an M2 desktop, no coordinator request ever slow, every PC-side candidate refuted.
Its legitimate output is a pass rate, and a required check that fails one run in fifteen for a reason
no change to PC can move blocks merges while carrying no information about the change being merged.

This implements the decision already recorded in
docs/inflight/test-largenumberofinstances-cannot-gate-a-merge.md (option 1): a second tag,
@Tag("capacity"), on all three capacity profiles; bin/performance-test.sh excludes it; the
experiment runners, which pass an empty exclusion, still select them. @Quarantined and the registry
entry come off in the same commit - a profile that no longer gates does not need quarantining, and
"quarantined" reads as "broken".

Verified by what the lanes actually selected, because the failure mode is a lane that selects
nothing and passes:

gating flags,     -Dit.test=MultiInstanceRebalanceTest                   No tests to run, Tests run: 0
gating flags,     -Dit.test=LargeVolumeInMemoryTests                     Tests run: 6  (lane still measures)
experiment flags, MultiInstanceRebalanceTest#largeNumberOfInstances      Tests run: 1, PASS in 164.4s

A bug the tag split would otherwise have introduced silently: capacityProfileVerdict read
m.getAnnotation(Tag.class), and @Tag is @Repeatable - that returns null once a second one is
present, so every capacity profile would have been reclassified as a correctness gate and
-Dperf.scale would have thrown on exactly the tests it exists for, with nothing red to say so. It
now reads getAnnotationsByType.

scriptedChurnRoundsCompleteWithoutStall is untouched and is what keeps these code paths gated. The
profiles' parameters and churn are unchanged, deliberately - the measured rate is the baseline.

Not done, and named rather than implied: the rate is not yet compared against a rolling median the
way bin/check-throughput-regression.mjs does for throughput. That is option 1's second half and wants
its own change.

3. Codex review follow-ups, and the master merge

The Codex review raised four P1 threads, all verified and applied, each answered in its thread with the commit:

  • The two capacity profiles the tag split left unrun. Only largeNumberOfInstances had a scheduled runner, so cooperativeStickyRebalanceShouldNotStall and gentleChaosRebalance would have run nowhere. bin/exp-measure-capacity-profiles-failure-rate.sh and a second weekly slot in experiments.yml now measure them on the same cadence, sharing bin/lib/chaos-experiment-common.sh with the existing runner.
  • Two closed notes retired. The solved RegistrationRace entry leaves the open flake register for its solutions write-up, and the residual-failures note, which said its own subject was acted on, is migrated into docs/solutions/test-flakiness/large-instances-residual-is-a-join-phase-held-open-by-churn-2026-09-05.md and deleted, with every citation repointed.
  • One contradictory contract bullet in the cannot-gate note rewritten to the current exclusion flags.

The branch was re-cut at merge prep into two atomic commits, one per workstream above, with the review fix-ups folded in; the pre-re-cut tip is preserved as backup/pre-recut-473. Master is merged, not rebased, whenever it moves under the branch.

Second review round: the collect step in experiments.yml did not scan the two directories the new runner writes to, so the new schedule slot would have uploaded an empty artifact with a warning that reads as a clean result. Both directories are in the loop now, and the cannot-gate note's vetted marker is refreshed to say the decision is implemented. The latest master merge carries master's new soak tag beside capacity in the four exclusion lists.

Same-defect-class sweep

The class is "a test that saturates PC's pipeline and then expects more records from the broker".
One instance, the one fixed. Checked and dismissed: BrokerPollerBackpressureTest (the inverse -
asserts the pause, then releases the gate and waits for the resume before producing 10 more);
RetriesTest and PartitionOrderProcessingTest (buffer overrides, no second-stage produce while
workers are blocked); DrainCloseTest, DrainingMemberRebalanceIT, TransactionTimeoutsTest,
TransactionalEagerProcessingIT, Rebalance857CommitSyncDeadlockProbeBase (latch plus multiple
produces, but no pinned static load factor and no permanently held surplus).

Prior art, including what returned nothing

node bin/inflight.mjs prior-art RegistrationRaceStaleResidentIT awaitPausePoint "pause point" over
646 refs returned the 909 third-precondition solution doc, the integration-gate wall-time plan, and
four in-flight notes - all read. node bin/inflight.mjs codecov test returned nothing for both
RegistrationRaceStaleResidentIT and largeNumberOfInstances in a 1446-test corpus, while the same
command lists 226 integration tests and resolves the tool's own worked example - so the gap is
specific to those two, most likely because the quarantine and performance lanes do not upload.
docs/quarantined-tests.md cited that command as this test's ledger; the ledger note now records that
it returns nothing.

Checklist

  • Docs updated - docs/quarantined-tests.md, docs/ci.md, docs/refactoring.md, docs/todo-index.md (regenerated), two docs/inflight/ notes, and a new docs/solutions/test-flakiness/ write-up
  • N/A - no user-facing feature; both changes are test and CI-lane only
  • Tests added/updated - RegistrationRaceStaleResidentIT (the fix plus its precondition assertion), and MultiInstanceRebalanceTest#capacityProfilesAreOutOfTheGatingLane is new
  • N/A - the two docs/inflight/ notes this work resolves already existed and are updated in place with the diagnosis and the outcome, which is what a working note is for; a third note would be a duplicate
  • Title & body reflect the final content of this PR
  • N/A - asked for @claude review this on the PR instead

Verification

  • bin/check-all.sh - 16 passed, 0 failed (3 nothing-in-scope, 5 PR-scoped skips)
  • bin/check-quarantine-registry.sh and bin/check-quarantine-owners.sh green on each commit's
    tree, not just the tip - the registry edit is split so neither commit leaves it inconsistent
  • bin/ci-unit-test.sh - full suite green across all 11 modules
  • RegistrationRaceStaleResidentIT 10/10 on the fixed build; 3/3 red on the forced control arm; red
    on the 909 signature with the defect reinstated

🤖 Generated with Claude Code

https://claude.ai/code/session_01Q99GxTheRQL6d7TDt1bUum

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@github-actions

github-actions Bot commented Sep 7, 2026 •

Copy link
Copy Markdown

✅ Duplicate Code Report

Two engines run in parallel for cross-validation. Each has its own thresholds tuned to its baseline - the real safety net is the per-engine "max increase vs base" check.

✅ PMD CPD

PR Base Change
Clones 26 26 ➖ 0
Duplicated lines 857 857 ➖ 0
Duplication 0.35% 0.35% ➖ 0
Rule Limit Status
Max duplication 0.5% ✅ Pass (0.35%)
Max increase vs base +0.1% ✅ Pass (+0.00%)

No new clones introduced by this PR.

✅ jscpd (language-agnostic)

PR Base Change
Clones 101 101 ➖ 0
Duplicated lines 1398 1398 ➖ 0
Duplication 0.80% 0.79% 🫤 +0.01%
Rule Limit Status
Max duplication 2% ✅ Pass (0.80%)
Max increase vs base +0.1% ✅ Pass (+0.01%)

No new clones introduced by this PR.

Powered by astubbs/duplicate-code-cross-check

@github-actions

github-actions Bot commented Sep 7, 2026 •

Copy link
Copy Markdown

[superseded - the quarantine lane is now empty] 🧪🔒 Quarantine Lane Report

The superseded report, collapsed because it no longer applies
Quarantined test Outcome Owner Meaning
ProducerManagerTest.aRevokeTimeCommitIncludesTheOffsetOfEveryRecordItAlreadyProduced 🔴 failing (expected) ⚠️ unowned quarantine holding

🔴 expected while the owner PR is open · 🟡🎲 flapper, pass proves nothing · 🚨 a deterministic quarantined test passing means its fix landed: delete its @Quarantined annotation + docs/quarantined-tests.md entry (a merge-blocking review thread has been opened). Lane: non-gating; rules: see the Quarantine Audit check.

No quarantined test changed outcome since the previous push.

Updated for 342d899 · run 34161439113 · 2026-09-07 21:01 UTC

Superseded by a newer quarantine lane report.

@github-actions

github-actions Bot commented Sep 7, 2026 •

Copy link
Copy Markdown

📌 Duplicate code detection tool report

The tool analyzed your source code and found the following degree of similarity between the files:

🔺 Increased similarities

File A File B Base (%) PR (%) Change
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkCooperativeDrainIT.java parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkDrainIT.java 38.6 38.6 +0.0
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CheckQuarantineOwnersScriptTest.java parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/QuarantineRegistryScriptTest.java 43.4 43.4 +0.0
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/archfixture/BlockingReachThroughAMethodReference.java parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/archfixture/ControllerThreadOnlyReachFromARebalanceCallback.java 44.9 45.0 +0.0
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelEoSStreamProcessor.java parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/PCModule.java 32.1 32.1 +0.0
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelStreamProcessor.java parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java 34.6 34.6 +0.0
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/AbstractParallelEoSStreamProcessor.java parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ExternalEngine.java 37.7 37.7 +0.0
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/DispatchScanMeter.java parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/OrderingModeDispatchParityTest.java 41.5 41.6 +0.0
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/ProcessingShard.java parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/WorkManager.java 36.2 36.2 +0.0
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionalEagerProcessingIT.java parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ProducerManagerTest.java 32.4 32.4 +0.0
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/AbstractRevokeUnderWorkScenario.java parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosChurnStormIT.java 43.0 43.0 +0.0
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/AbstractRevokeUnderWorkScenario.java parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosScenarioBase.java 33.1 33.1 +0.0
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelStreamProcessor.java parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/VertxParallelStreamProcessor.java 30.0 30.1 +0.0
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionTimeoutsTest.java parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ProducerManagerTest.java 30.8 30.8 +0.0
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessor.java parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/PCModule.java 34.2 34.2 +0.0
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessor.java parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java 33.1 33.1 +0.0
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/PartitionStateManager.java parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/WorkManager.java 42.6 42.6 +0.0
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosChurnStormIT.java parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosKeyOrderIT.java 44.2 44.2 +0.0
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PollContext.java parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/RecordContextInternal.java 46.9 47.0 +0.0
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/VeryLargeMessageVolumeTest.java parallel-consumer-vertx/src/test-integration/java/bz/stub/parallelconsumer/vertx/integrationTests/VertxConcurrencyIT.java 36.5 36.5 +0.0
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/AbstractRevokeUnderWorkScenario.java parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkKeyOrderIT.java 40.5 40.6 +0.0

...and 40 more

Full similarity report
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/BootstrapResetTripleWriteProbes.java

📄 jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/BootstrapResetTripleWriteProbes.java

File Similarity (%)
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/CommitPathVisibilityProbes.java 37.98
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/SeenSucceededOrderingProbes.java 34.21
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/CalibrationProbes.java

📄 jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/CalibrationProbes.java

File Similarity (%)
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/CommitPathVisibilityProbes.java 37.93
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/SeenSucceededOrderingProbes.java 36.78
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/CommitPathVisibilityProbes.java

📄 jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/CommitPathVisibilityProbes.java

File Similarity (%)
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/SeenSucceededOrderingProbes.java 55.27 ⚠️
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/BootstrapResetTripleWriteProbes.java 37.98
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/CalibrationProbes.java 37.93
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/SeenSucceededOrderingProbes.java

📄 jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/SeenSucceededOrderingProbes.java

File Similarity (%)
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/CommitPathVisibilityProbes.java 55.27 ⚠️
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/CalibrationProbes.java 36.78
jcstress-poc/src/main/java/bz/stub/parallelconsumer/jcstress/BootstrapResetTripleWriteProbes.java 34.21
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ExceptionInUserFunctionException.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ExceptionInUserFunctionException.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelConsumerException.java 55.73 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalException.java 37.54
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetDecodingError.java 32.27
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java 30.13
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java 30.02
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelEoSStreamProcessor.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelEoSStreamProcessor.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelStreamProcessor.java 55.72 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessor.java 54.4 ⚠️
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java 43.2
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelStreamProcessor.java 41.74
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/TestParallelEoSStreamProcessor.java 33.72
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelStreamProcessor.java 33.17
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/PCModule.java 32.1
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelStreamProcessor.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelStreamProcessor.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelEoSStreamProcessor.java 55.72 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessor.java 47.21
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelStreamProcessor.java 41.5
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelStreamProcessor.java 38.89
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java 34.6
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/PCModule.java 30.07
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PCRetriableException.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PCRetriableException.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/PCRetriableExceptionTest.java 32.3
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/utils/ThrowableUtils.java 30.25
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelConsumerException.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelConsumerException.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ExceptionInUserFunctionException.java 55.73 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalException.java 46.23
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelConsumerOptions.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelConsumerOptions.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/AbstractParallelEoSStreamProcessor.java 31.83
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessor.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessor.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelEoSStreamProcessor.java 54.4 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelStreamProcessor.java 51.69 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelStreamProcessor.java 47.21
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/TestParallelEoSStreamProcessor.java 39.06
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/PCModule.java 34.19
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java 33.12
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PollContextInternal.java 33.02
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/AbstractParallelEoSStreamProcessor.java 32.62
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelStreamProcessor.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelStreamProcessor.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessor.java 51.69 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelEoSStreamProcessor.java 41.74
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelStreamProcessor.java 39.15
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelStreamProcessor.java 38.89
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/VertxParallelStreamProcessor.java 30.05
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PollContext.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PollContext.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/RecordContextInternal.java 46.95
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PollContextInternal.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PollContextInternal.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/PollContextInternalTest.java 39.23
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessor.java 33.02
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/RecordContext.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/RecordContext.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/RecordContextInternal.java 30.31
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/RecordContextInternal.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/RecordContextInternal.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PollContext.java 46.95
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/RecordContext.java 30.31
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/AbstractParallelEoSStreamProcessor.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/AbstractParallelEoSStreamProcessor.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/SubmitWorkToPoolShutdownRaceTest.java 38.86
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ExternalEngine.java 37.7
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/WorkManager.java 36.61
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/BrokerPollSystem.java 34.66
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/PartitionState.java 34.58
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ProducerManager.java 34.19
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/PartitionStateManager.java 34.1
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ProducerManagerTest.java 33.48
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessor.java 32.62
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelConsumerOptions.java 31.83
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ConsumerManager.java 31.65
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ConsumerOffsetCommitter.java 31.49
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/BrokerPollSystem.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/BrokerPollSystem.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/AbstractParallelEoSStreamProcessor.java 34.66
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ConsumerManager.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ConsumerManager.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/AbstractParallelEoSStreamProcessor.java 31.65
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ConsumerOffsetCommitter.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ConsumerOffsetCommitter.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/AbstractParallelEoSStreamProcessor.java 31.49
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/EpochAndRecordsMap.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/EpochAndRecordsMap.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/PartitionStateManager.java 31.41
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ExternalEngine.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ExternalEngine.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ExternalEnginePipelineBufferTest.java 39.87
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/AbstractParallelEoSStreamProcessor.java 37.7
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/VertxParallelEoSStreamProcessor.java 35.12
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalException.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalException.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetDecodingError.java 49.71
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/NoEncodingPossibleException.java 48.61
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelConsumerException.java 46.23
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/PCInternalRuntimeException.java 37.88
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ExceptionInUserFunctionException.java 37.54
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/EncodingNotSupportedException.java 36.69
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java 31.12
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/PCInternalRuntimeException.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/PCInternalRuntimeException.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalException.java 37.88
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/PCModule.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/PCModule.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessor.java 34.19
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelEoSStreamProcessor.java 32.1
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelStreamProcessor.java 30.07
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ProducerManager.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ProducerManager.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/AbstractParallelEoSStreamProcessor.java 34.19
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ProducerManagerTest.java 30.65
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/utils/Java8StreamUtils.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/utils/Java8StreamUtils.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/Java8StreamUtilsTest.java 35.33
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/utils/JavaUtils.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/utils/JavaUtils.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/CollectionUtils.java 33.47
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/utils/ThrowableUtils.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/utils/ThrowableUtils.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/ThrowableUtilsTest.java 32.22
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PCRetriableException.java 30.25
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/metrics/PCMetrics.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/metrics/PCMetrics.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/metrics/PCMetrics859Test.java 40.41
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java 31.51
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalException.java 31.12
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java 30.71
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ExceptionInUserFunctionException.java 30.13
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/CorruptOffsetMetadataException.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/CorruptOffsetMetadataException.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/UnsupportedOffsetEncodingException.java 36.98
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/UnknownOffsetMetadataMagicException.java 31.61
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/EncodedOffsetPair.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/EncodedOffsetPair.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetMapCodecManager.java 35.86
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetEncoding.java 30.11
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/EncodingNotSupportedException.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/EncodingNotSupportedException.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalException.java 36.69
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/NoEncodingPossibleException.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/NoEncodingPossibleException.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalException.java 48.61
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetDecodingError.java 45.25
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java 33.95
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java 33.09
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetDecodingError.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetDecodingError.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/InternalException.java 49.71
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/NoEncodingPossibleException.java 45.25
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ExceptionInUserFunctionException.java 32.27
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetEncoding.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetEncoding.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/UnknownOffsetMetadataMagicException.java 37.87
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/offsets/WorkManagerOffsetMapCodecManagerTest.java 31.15
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/EncodedOffsetPair.java 30.11
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetMapCodecManager.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetMapCodecManager.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/EncodedOffsetPair.java 35.86
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java 57.89 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/NoEncodingPossibleException.java 33.95
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java 31.51
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ExceptionInUserFunctionException.java 30.02
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV2EncodingNotSupported.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/RunLengthV1EncodingNotSupported.java 57.89 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/NoEncodingPossibleException.java 33.09
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/BitSetEncodingNotSupportedException.java 30.71
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/UnknownOffsetMetadataMagicException.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/UnknownOffsetMetadataMagicException.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/UnsupportedOffsetEncodingException.java 49.98
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetEncoding.java 37.87
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/CorruptOffsetMetadataException.java 31.61
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/UnsupportedOffsetEncodingException.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/UnsupportedOffsetEncodingException.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/UnknownOffsetMetadataMagicException.java 49.98
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/CorruptOffsetMetadataException.java 36.98
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/ControllerThreadOnly.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/ControllerThreadOnly.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/ArchitectureTest.java 30.32
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/DispatchScanMeter.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/DispatchScanMeter.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/OrderingModeDispatchParityTest.java 41.57
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/PartitionState.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/PartitionState.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/PartitionStateManager.java 37.4
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/AbstractParallelEoSStreamProcessor.java 34.58
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/WorkManager.java 33.6
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/PartitionStateManager.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/PartitionStateManager.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/WorkManager.java 42.61
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/PartitionState.java 37.4
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/AbstractParallelEoSStreamProcessor.java 34.1
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/PartitionStateManagerRevokeAfterFailedAssignmentTest.java 31.7
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/EpochAndRecordsMap.java 31.41
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/RemovedPartitionState.java 30.71
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/ProcessingShard.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/ProcessingShard.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/ShardManager.java 44.26
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ShardStaleSweepReplacementEvictionTest.java 41.64
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ShardPopulationRaceTest.java 37.98
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/WorkManager.java 36.25
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/WorkContainer.java 34.51
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ShardAvailableCountOwnershipTest.java 33.03
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/RetryQueueRequeueWindowTest.java 30.07
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/RemovedPartitionState.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/RemovedPartitionState.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/PartitionStateManager.java 30.71
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/ShardManager.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/ShardManager.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/ProcessingShard.java 44.26
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/RetryQueueRequeueWindowTest.java 39.09
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ShardPopulationRaceTest.java 36.34
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/WorkManager.java 36.28
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/WorkContainer.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/WorkContainer.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/WorkClaimStateMachineTest.java 48.38
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/TransactionalBulkCommitTest.java 35.78
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/ProcessingShard.java 34.51
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/WorkManager.java

📄 parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/WorkManager.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/PartitionStateManager.java 42.61
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/AbstractParallelEoSStreamProcessor.java 36.61
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/ShardManager.java 36.28
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/ProcessingShard.java 36.25
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/PartitionState.java 33.6
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/KafkaSanityTests.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/KafkaSanityTests.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/LoopingResumingIteratorTest.java 34.71
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/MultiInstanceHighVolumeTest.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/MultiInstanceHighVolumeTest.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/VeryLargeMessageVolumeTest.java 58.37 ⚠️
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionAndCommitModeTest.java 45.48
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/Rebalance857CommitSyncDeadlockProbeBase.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/Rebalance857CommitSyncDeadlockProbeBase.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/RebalanceEoSDeadlockTest.java 32.32
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/RebalanceEoSDeadlockTest.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/RebalanceEoSDeadlockTest.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/Rebalance857CommitSyncDeadlockProbeBase.java 32.32
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionAndCommitModeTest.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionAndCommitModeTest.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/VeryLargeMessageVolumeTest.java 53.58 ⚠️
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/MultiInstanceHighVolumeTest.java 45.48
parallel-consumer-vertx/src/test-integration/java/bz/stub/parallelconsumer/vertx/integrationTests/VertxConcurrencyIT.java 30.26
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionTimeoutsTest.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionTimeoutsTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ProducerManagerTest.java 30.83
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionalBatchVisibilityIT.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionalBatchVisibilityIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionalCrashReplayIT.java 45.34
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionalPartialResultSetIT.java 35.73
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TransactionalClaim.java 33.89
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionalVisibilityIT.java 31.96
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionalEagerProcessingIT.java 30.22
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionalCrashReplayIT.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionalCrashReplayIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionalBatchVisibilityIT.java 45.34
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TransactionalClaim.java 35.85
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionalEagerProcessingIT.java 32.04
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionalEagerProcessingIT.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionalEagerProcessingIT.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TransactionalClaim.java 32.68
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ProducerManagerTest.java 32.39
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionalCrashReplayIT.java 32.04
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionalBatchVisibilityIT.java 30.22
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionalPartialResultSetIT.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionalPartialResultSetIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionalBatchVisibilityIT.java 35.73
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionalVisibilityIT.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionalVisibilityIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionalBatchVisibilityIT.java 31.96
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/VeryLargeMessageVolumeTest.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/VeryLargeMessageVolumeTest.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/MultiInstanceHighVolumeTest.java 58.37 ⚠️
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionAndCommitModeTest.java 53.58 ⚠️
parallel-consumer-vertx/src/test-integration/java/bz/stub/parallelconsumer/vertx/integrationTests/VertxConcurrencyIT.java 36.52
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/AbstractRevokeUnderWorkScenario.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/AbstractRevokeUnderWorkScenario.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosChurnStormIT.java 42.99
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkKeyOrderIT.java 40.56
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosKeyOrderIT.java 36.9
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosScenarioBase.java 33.14
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkIT.java 32.55
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosChurnStormIT.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosChurnStormIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosKeyOrderIT.java 44.23
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/AbstractRevokeUnderWorkScenario.java 42.99
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosScenarioBase.java 38.43
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosKeyOrderIT.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosKeyOrderIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkKeyOrderIT.java 50.78 ⚠️
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosChurnStormIT.java 44.23
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/AbstractRevokeUnderWorkScenario.java 36.9
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosScenarioBase.java 33.21
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkCooperativeDrainIT.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkCooperativeDrainIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkDrainIT.java 38.6
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkCooperativeIT.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkCooperativeIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkIT.java 39.3
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkDrainIT.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkDrainIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkCooperativeDrainIT.java 38.6
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkIT.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkCooperativeIT.java 39.3
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/AbstractRevokeUnderWorkScenario.java 32.55
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkKeyOrderIT.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosRevokeUnderWorkKeyOrderIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosKeyOrderIT.java 50.78 ⚠️
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/AbstractRevokeUnderWorkScenario.java 40.56
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosScenarioBase.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosScenarioBase.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosChurnStormIT.java 38.43
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ChaosKeyOrderIT.java 33.21
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/AbstractRevokeUnderWorkScenario.java 33.14
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/DiagnosticQuietCap.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/DiagnosticQuietCap.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/DiagnosticQuietCapIT.java 51.02 ⚠️
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/DiagnosticQuietCapIT.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/DiagnosticQuietCapIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/DiagnosticQuietCap.java 51.02 ⚠️
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/InstanceProgressView.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/InstanceProgressView.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/InstanceStallDetector.java 30.54
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/InstanceStallDetector.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/InstanceStallDetector.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/InstanceProgressView.java 30.54
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ProgressProbe.java 30.1
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/KeyOrderLedger.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/KeyOrderLedger.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/KeyOrderLedgerIT.java 30.19
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/KeyOrderLedgerIT.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/KeyOrderLedgerIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/KeyOrderLedger.java 30.19
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ProgressProbe.java

📄 parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/ProgressProbe.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/chaostests/InstanceStallDetector.java 30.1
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/AbstractParallelEoSStreamProcessorConfigurationTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/AbstractParallelEoSStreamProcessorConfigurationTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/SubmitWorkToPoolShutdownRaceTest.java 36.44
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/AbstractParallelEoSStreamProcessorTestBase.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/AbstractParallelEoSStreamProcessorTestBase.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessorTest.java 31.33
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/ArchitectureTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/ArchitectureTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/RebalanceCallbackRuleControlTest.java 34.37
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/archfixture/ControllerThreadOnlyReachFromARebalanceCallback.java 31.15
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/archfixture/BlockingReachThroughAMethodReference.java 30.85
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/ControllerThreadOnly.java 30.32
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/BatchTestBase.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/BatchTestBase.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CoreBatchTest.java 30.04
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CheckQuarantineOwnersScriptTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CheckQuarantineOwnersScriptTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/QuarantineRegistryScriptTest.java 43.38
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/QuarantineLaneReportScriptTest.java 39.18
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CommitRejectionTestBase.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CommitRejectionTestBase.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CommitResponseTimeoutSymptomTest.java 30.54
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CommitResponseTimeoutSymptomTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CommitResponseTimeoutSymptomTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerTestBase.java 31.62
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CommitRejectionTestBase.java 30.54
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CoreBatchTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CoreBatchTest.java

File Similarity (%)
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/ReactorBatchTest.java 52.34 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/MutinyBatchTest.java 50.55 ⚠️
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/VertxBatchTest.java 45.38
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/BatchTestBase.java 30.04
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/ForeignThread.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/ForeignThread.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ThreadConfinedConsumerTestBase.java 34.58
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MdcBoundaryProbe.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MdcBoundaryProbe.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MdcContextPropagationTest.java 34.85
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MdcContextPropagationTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MdcContextPropagationTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MdcBoundaryProbe.java 34.85
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerCommitTimeoutTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerCommitTimeoutTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerSaslAuthenticationTest.java 44.65
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerSaslAuthenticationTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerSaslAuthenticationTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerCommitTimeoutTest.java 44.65
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerTestBase.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/MockConsumerTestBase.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CommitResponseTimeoutSymptomTest.java 31.62
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/PCRetriableExceptionTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/PCRetriableExceptionTest.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PCRetriableException.java 32.3
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/ParallelEoSSStreamProcessorRebalancedTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/ParallelEoSSStreamProcessorRebalancedTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessorTest.java 32.56
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessorTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessorTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/ParallelEoSSStreamProcessorRebalancedTest.java 32.56
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/AbstractParallelEoSStreamProcessorTestBase.java 31.33
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/QuarantineLaneReportScriptTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/QuarantineLaneReportScriptTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CheckQuarantineOwnersScriptTest.java 39.18
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/QuarantineRegistryScriptTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/QuarantineRegistryScriptTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CheckQuarantineOwnersScriptTest.java 43.38
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/RebalanceCallbackRuleControlTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/RebalanceCallbackRuleControlTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/WorkContainerSortedCollectionRuleControlTest.java 55.04 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/archfixture/BlockingReachThroughAMethodReference.java 34.65
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/ArchitectureTest.java 34.37
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/archfixture/ControllerThreadOnlyReachFromARebalanceCallback.java 31.3
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/RunTagFilter.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/RunTagFilter.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/RunTagFilterTest.java 34.79
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/RunTagFilterTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/RunTagFilterTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/RunTagFilter.java 34.79
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TestConventionsArchTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TestConventionsArchTest.java

File Similarity (%)
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/TestConventionsArchTest.java 87.77 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/TestConventionsArchTest.java 86.48 ⚠️
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/TestConventionsArchTest.java 86.48 ⚠️
parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/TestConventionsArchTest.java 83.09 ⚠️
parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/TestConventionsArchTest.java 83.09 ⚠️
parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/TestConventionsArchTest.java 83.09 ⚠️
parallel-consumer-examples/parallel-consumer-example-metrics/src/test/java/bz/stub/parallelconsumer/examples/metrics/TestConventionsArchTest.java 81.6 ⚠️
parallel-consumer-examples/parallel-consumer-example-streams/src/test/java/bz/stub/parallelconsumer/examples/streams/TestConventionsArchTest.java 81.6 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TransactionalClaim.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TransactionalClaim.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionalCrashReplayIT.java 35.85
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionalBatchVisibilityIT.java 33.89
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionalEagerProcessingIT.java 32.68
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/archfixture/BlockingReachThroughAMethodReference.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/archfixture/BlockingReachThroughAMethodReference.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/archfixture/ControllerThreadOnlyReachFromARebalanceCallback.java 44.95
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/RebalanceCallbackRuleControlTest.java 34.65
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/ArchitectureTest.java 30.85
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/archfixture/ControllerThreadOnlyReachFromARebalanceCallback.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/archfixture/ControllerThreadOnlyReachFromARebalanceCallback.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/archfixture/BlockingReachThroughAMethodReference.java 44.95
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/RebalanceCallbackRuleControlTest.java 31.3
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/ArchitectureTest.java 31.15
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/archfixture/SortedCollectionOfWorkContainers.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/archfixture/SortedCollectionOfWorkContainers.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/WorkContainerIsNeverInASortedCollectionArchTest.java 40.89
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/WorkContainerSortedCollectionRuleControlTest.java 30.18
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ConsumerManagerCloseOwnershipTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ConsumerManagerCloseOwnershipTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ThreadConfinedConsumerTest.java 34.76
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/EpochAndRecordsMapRaceTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/EpochAndRecordsMapRaceTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ShardManagerStaleContainerTest.java 36.24
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ExternalEnginePipelineBufferTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ExternalEnginePipelineBufferTest.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ExternalEngine.java 39.87
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/LastCommitTimeFenceTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/LastCommitTimeFenceTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/PartitionStateDirtyFlagFenceTest.java 38.55
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/MetricsTeardownCannotBreakCloseTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/MetricsTeardownCannotBreakCloseTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/metrics/PCMetrics859Test.java 34.69
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/PollContextInternalTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/PollContextInternalTest.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/PollContextInternal.java 39.23
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ProducerManagerTest.java 36.14
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ProduceLockHandover.java 32.72
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ProduceLockHandover.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ProduceLockHandover.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/PollContextInternalTest.java 32.72
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ProducerManagerTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ProducerManagerTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/TransactionalBulkCommitTest.java 42.72
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/PollContextInternalTest.java 36.14
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/AbstractParallelEoSStreamProcessor.java 33.48
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionalEagerProcessingIT.java 32.39
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionTimeoutsTest.java 30.83
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ProducerManager.java 30.65
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/SubmitWorkToPoolShutdownRaceTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/SubmitWorkToPoolShutdownRaceTest.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/AbstractParallelEoSStreamProcessor.java 38.86
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/AbstractParallelEoSStreamProcessorConfigurationTest.java 36.44
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/TestParallelEoSStreamProcessor.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/TestParallelEoSStreamProcessor.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessor.java 39.06
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelEoSStreamProcessor.java 33.72
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ThreadConfinedConsumerTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ThreadConfinedConsumerTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ConsumerManagerCloseOwnershipTest.java 34.76
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ThreadConfinedConsumerTestBase.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ThreadConfinedConsumerTestBase.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/ForeignThread.java 34.58
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/TransactionalBulkCommitTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/TransactionalBulkCommitTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/WorkClaimStateMachineTest.java 73.2 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/WorkManagerTest.java 43.59
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/ProducerManagerTest.java 42.72
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/WorkContainer.java 35.78
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/CollectionUtils.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/CollectionUtils.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/utils/JavaUtils.java 33.47
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/Java8StreamUtilsTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/Java8StreamUtilsTest.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/utils/Java8StreamUtils.java 35.33
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/LoopingResumingIteratorTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/LoopingResumingIteratorTest.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/KafkaSanityTests.java 34.71
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/ThrowableUtilsTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/utils/ThrowableUtilsTest.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/utils/ThrowableUtils.java 32.22
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/metrics/PCMetrics859Test.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/metrics/PCMetrics859Test.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/metrics/PCMetrics.java 40.41
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/MetricsTeardownCannotBreakCloseTest.java 34.69
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/offsets/OffsetCodecTestUtils.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/offsets/OffsetCodecTestUtils.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/offsets/WorkManagerOffsetMapCodecManagerTest.java 30.16
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/offsets/OffsetEncodingBackPressureTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/offsets/OffsetEncodingBackPressureTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/offsets/OffsetEncodingBackPressureUnitTest.java 36.86
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/offsets/OffsetEncodingBackPressureUnitTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/offsets/OffsetEncodingBackPressureUnitTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/offsets/OffsetEncodingBackPressureTest.java 36.86
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/offsets/WorkManagerOffsetMapCodecManagerTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/offsets/WorkManagerOffsetMapCodecManagerTest.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/offsets/OffsetEncoding.java 31.15
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/offsets/OffsetCodecTestUtils.java 30.16
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/OffsetEncoderWidenedRangeRaceTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/OffsetEncoderWidenedRangeRaceTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/PartitionStateCommitEncodeShift894Test.java 43.26
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/RacingEncodeWindowState.java 35.66
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/OrderingModeDispatchParityTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/OrderingModeDispatchParityTest.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/DispatchScanMeter.java 41.57
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/PartitionStateCommitEncodeShift894Test.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/PartitionStateCommitEncodeShift894Test.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/OffsetEncoderWidenedRangeRaceTest.java 43.26
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/PartitionStateCommitShiftCompounding894Test.java 39.14
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/PartitionStateCommitShiftCompounding894Test.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/PartitionStateCommitShiftCompounding894Test.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/PartitionStateCommitEncodeShift894Test.java 39.14
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/PartitionStateDirtyFlagFenceTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/PartitionStateDirtyFlagFenceTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/LastCommitTimeFenceTest.java 38.55
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/PartitionStateLincheckTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/PartitionStateLincheckTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ShardManagerLincheckTest.java 31.34
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/PartitionStateManagerRevokeAfterFailedAssignmentTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/PartitionStateManagerRevokeAfterFailedAssignmentTest.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/PartitionStateManager.java 31.7
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ProcessingShardStaleReplacement909Test.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ProcessingShardStaleReplacement909Test.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ShardManagerStaleContainerTest.java 44.38
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/RacingCommitCycleState.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/RacingCommitCycleState.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/RacingEncodeWindowState.java 58.51 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/RacingEncodeWindowState.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/RacingEncodeWindowState.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/RacingCommitCycleState.java 58.51 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/OffsetEncoderWidenedRangeRaceTest.java 35.66
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/RetryQueueLincheckTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/RetryQueueLincheckTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ShardManagerLincheckTest.java 38.71
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/RetryQueueRequeueWindowTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/RetryQueueRequeueWindowTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/WorkManagerStaleCheckDoubleLookupTest.java 43.15
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/ShardManager.java 39.09
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ShardPopulationRaceTest.java 33.46
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/ProcessingShard.java 30.07
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ShardAvailableCountOwnershipTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ShardAvailableCountOwnershipTest.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/ProcessingShard.java 33.03
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ShardManagerLincheckTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ShardManagerLincheckTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/RetryQueueLincheckTest.java 38.71
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/PartitionStateLincheckTest.java 31.34
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/WorkManagerLincheckTest.java 30.89
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ShardManagerStaleContainerTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ShardManagerStaleContainerTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ProcessingShardStaleReplacement909Test.java 44.38
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/EpochAndRecordsMapRaceTest.java 36.24
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ShardPopulationRaceTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ShardPopulationRaceTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ShardStaleSweepReplacementEvictionTest.java 39.48
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/ProcessingShard.java 37.98
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/ShardManager.java 36.34
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/RetryQueueRequeueWindowTest.java 33.46
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ShardStaleSweepReplacementEvictionTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ShardStaleSweepReplacementEvictionTest.java

File Similarity (%)
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/ProcessingShard.java 41.64
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ShardPopulationRaceTest.java 39.48
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/WorkClaimStateMachineTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/WorkClaimStateMachineTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/TransactionalBulkCommitTest.java 73.2 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/WorkManagerTest.java 52.49 ⚠️
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/state/WorkContainer.java 48.38
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/WorkContainerIsNeverInASortedCollectionArchTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/WorkContainerIsNeverInASortedCollectionArchTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/archfixture/SortedCollectionOfWorkContainers.java 40.89
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/WorkContainerSortedCollectionRuleControlTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/WorkContainerSortedCollectionRuleControlTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/RebalanceCallbackRuleControlTest.java 55.04 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/archfixture/SortedCollectionOfWorkContainers.java 30.18
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/WorkManagerLincheckTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/WorkManagerLincheckTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/ShardManagerLincheckTest.java 30.89
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/WorkManagerStaleCheckDoubleLookupTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/WorkManagerStaleCheckDoubleLookupTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/RetryQueueRequeueWindowTest.java 43.15
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/WorkManagerTest.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/WorkManagerTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/state/WorkClaimStateMachineTest.java 52.49 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/internal/TransactionalBulkCommitTest.java 43.59
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/truth/CommitHistorySubject.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/truth/CommitHistorySubject.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/truth/LongPollingMockConsumerSubject.java 36.19
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/truth/LongPollingMockConsumerSubject.java

📄 parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/truth/LongPollingMockConsumerSubject.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/truth/CommitHistorySubject.java 36.19
parallel-consumer-examples/parallel-consumer-example-core/src/main/java/bz/stub/parallelconsumer/examples/core/CoreApp.java

📄 parallel-consumer-examples/parallel-consumer-example-core/src/main/java/bz/stub/parallelconsumer/examples/core/CoreApp.java

File Similarity (%)
parallel-consumer-examples/parallel-consumer-example-reactor/src/main/java/bz/stub/parallelconsumer/examples/reactor/ReactorApp.java 35.74
parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/CoreAppTest.java

📄 parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/CoreAppTest.java

File Similarity (%)
parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/ReactorAppTest.java 39.16
parallel-consumer-examples/parallel-consumer-example-metrics/src/test/java/bz/stub/parallelconsumer/examples/metrics/integrationTests/CoreAppMetricsIntegrationTest.java 36.64
parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/VertxAppTest.java 35.0
parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/TestConventionsArchTest.java

📄 parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/TestConventionsArchTest.java

File Similarity (%)
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/TestConventionsArchTest.java 83.17 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TestConventionsArchTest.java 83.09 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/TestConventionsArchTest.java 81.95 ⚠️
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/TestConventionsArchTest.java 81.95 ⚠️
parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/TestConventionsArchTest.java 78.73 ⚠️
parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/TestConventionsArchTest.java 78.73 ⚠️
parallel-consumer-examples/parallel-consumer-example-metrics/src/test/java/bz/stub/parallelconsumer/examples/metrics/TestConventionsArchTest.java 77.32 ⚠️
parallel-consumer-examples/parallel-consumer-example-streams/src/test/java/bz/stub/parallelconsumer/examples/streams/TestConventionsArchTest.java 77.32 ⚠️
parallel-consumer-examples/parallel-consumer-example-metrics/src/test/java/bz/stub/parallelconsumer/examples/metrics/TestConventionsArchTest.java

📄 parallel-consumer-examples/parallel-consumer-example-metrics/src/test/java/bz/stub/parallelconsumer/examples/metrics/TestConventionsArchTest.java

File Similarity (%)
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/TestConventionsArchTest.java 81.67 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TestConventionsArchTest.java 81.6 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/TestConventionsArchTest.java 80.48 ⚠️
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/TestConventionsArchTest.java 80.48 ⚠️
parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/TestConventionsArchTest.java 77.32 ⚠️
parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/TestConventionsArchTest.java 77.32 ⚠️
parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/TestConventionsArchTest.java 77.32 ⚠️
parallel-consumer-examples/parallel-consumer-example-streams/src/test/java/bz/stub/parallelconsumer/examples/streams/TestConventionsArchTest.java 75.94 ⚠️
parallel-consumer-examples/parallel-consumer-example-metrics/src/test/java/bz/stub/parallelconsumer/examples/metrics/integrationTests/CoreAppMetricsIntegrationTest.java

📄 parallel-consumer-examples/parallel-consumer-example-metrics/src/test/java/bz/stub/parallelconsumer/examples/metrics/integrationTests/CoreAppMetricsIntegrationTest.java

File Similarity (%)
parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/CoreAppTest.java 36.64
parallel-consumer-examples/parallel-consumer-example-reactor/src/main/java/bz/stub/parallelconsumer/examples/reactor/ReactorApp.java

📄 parallel-consumer-examples/parallel-consumer-example-reactor/src/main/java/bz/stub/parallelconsumer/examples/reactor/ReactorApp.java

File Similarity (%)
parallel-consumer-examples/parallel-consumer-example-vertx/src/main/java/bz/stub/parallelconsumer/examples/vertx/VertxApp.java 64.08 ⚠️
parallel-consumer-examples/parallel-consumer-example-core/src/main/java/bz/stub/parallelconsumer/examples/core/CoreApp.java 35.74
parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/ReactorAppTest.java

📄 parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/ReactorAppTest.java

File Similarity (%)
parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/VertxAppTest.java 45.52
parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/CoreAppTest.java 39.16
parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/TestConventionsArchTest.java

📄 parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/TestConventionsArchTest.java

File Similarity (%)
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/TestConventionsArchTest.java 83.17 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TestConventionsArchTest.java 83.09 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/TestConventionsArchTest.java 81.95 ⚠️
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/TestConventionsArchTest.java 81.95 ⚠️
parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/TestConventionsArchTest.java 78.73 ⚠️
parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/TestConventionsArchTest.java 78.73 ⚠️
parallel-consumer-examples/parallel-consumer-example-metrics/src/test/java/bz/stub/parallelconsumer/examples/metrics/TestConventionsArchTest.java 77.32 ⚠️
parallel-consumer-examples/parallel-consumer-example-streams/src/test/java/bz/stub/parallelconsumer/examples/streams/TestConventionsArchTest.java 77.32 ⚠️
parallel-consumer-examples/parallel-consumer-example-streams/src/test/java/bz/stub/parallelconsumer/examples/streams/TestConventionsArchTest.java

📄 parallel-consumer-examples/parallel-consumer-example-streams/src/test/java/bz/stub/parallelconsumer/examples/streams/TestConventionsArchTest.java

File Similarity (%)
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/TestConventionsArchTest.java 81.67 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TestConventionsArchTest.java 81.6 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/TestConventionsArchTest.java 80.48 ⚠️
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/TestConventionsArchTest.java 80.48 ⚠️
parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/TestConventionsArchTest.java 77.32 ⚠️
parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/TestConventionsArchTest.java 77.32 ⚠️
parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/TestConventionsArchTest.java 77.32 ⚠️
parallel-consumer-examples/parallel-consumer-example-metrics/src/test/java/bz/stub/parallelconsumer/examples/metrics/TestConventionsArchTest.java 75.94 ⚠️
parallel-consumer-examples/parallel-consumer-example-vertx/src/main/java/bz/stub/parallelconsumer/examples/vertx/VertxApp.java

📄 parallel-consumer-examples/parallel-consumer-example-vertx/src/main/java/bz/stub/parallelconsumer/examples/vertx/VertxApp.java

File Similarity (%)
parallel-consumer-examples/parallel-consumer-example-reactor/src/main/java/bz/stub/parallelconsumer/examples/reactor/ReactorApp.java 64.08 ⚠️
parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/TestConventionsArchTest.java

📄 parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/TestConventionsArchTest.java

File Similarity (%)
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/TestConventionsArchTest.java 83.17 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TestConventionsArchTest.java 83.09 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/TestConventionsArchTest.java 81.95 ⚠️
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/TestConventionsArchTest.java 81.95 ⚠️
parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/TestConventionsArchTest.java 78.73 ⚠️
parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/TestConventionsArchTest.java 78.73 ⚠️
parallel-consumer-examples/parallel-consumer-example-metrics/src/test/java/bz/stub/parallelconsumer/examples/metrics/TestConventionsArchTest.java 77.32 ⚠️
parallel-consumer-examples/parallel-consumer-example-streams/src/test/java/bz/stub/parallelconsumer/examples/streams/TestConventionsArchTest.java 77.32 ⚠️
parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/VertxAppTest.java

📄 parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/VertxAppTest.java

File Similarity (%)
parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/ReactorAppTest.java 45.52
parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/CoreAppTest.java 35.0
parallel-consumer-mutiny/src/main/java/bz/stub/parallelconsumer/mutiny/MutinyProcessor.java

📄 parallel-consumer-mutiny/src/main/java/bz/stub/parallelconsumer/mutiny/MutinyProcessor.java

File Similarity (%)
parallel-consumer-reactor/src/main/java/bz/stub/parallelconsumer/reactor/ReactorProcessor.java 42.63
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/MutinyBatchTest.java

📄 parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/MutinyBatchTest.java

File Similarity (%)
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/ReactorBatchTest.java 81.33 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CoreBatchTest.java 50.55 ⚠️
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/VertxBatchTest.java 49.22
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/MutinyMdcPropagationTest.java

📄 parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/MutinyMdcPropagationTest.java

File Similarity (%)
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/ReactorMdcPropagationTest.java 47.28
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/MutinyPCTest.java

📄 parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/MutinyPCTest.java

File Similarity (%)
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/ReactorPCTest.java 69.5 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/TestConventionsArchTest.java

📄 parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/TestConventionsArchTest.java

File Similarity (%)
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/TestConventionsArchTest.java 86.56 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TestConventionsArchTest.java 86.48 ⚠️
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/TestConventionsArchTest.java 85.3 ⚠️
parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/TestConventionsArchTest.java 81.95 ⚠️
parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/TestConventionsArchTest.java 81.95 ⚠️
parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/TestConventionsArchTest.java 81.95 ⚠️
parallel-consumer-examples/parallel-consumer-example-metrics/src/test/java/bz/stub/parallelconsumer/examples/metrics/TestConventionsArchTest.java 80.48 ⚠️
parallel-consumer-examples/parallel-consumer-example-streams/src/test/java/bz/stub/parallelconsumer/examples/streams/TestConventionsArchTest.java 80.48 ⚠️
parallel-consumer-reactor/src/main/java/bz/stub/parallelconsumer/reactor/ReactorProcessor.java

📄 parallel-consumer-reactor/src/main/java/bz/stub/parallelconsumer/reactor/ReactorProcessor.java

File Similarity (%)
parallel-consumer-mutiny/src/main/java/bz/stub/parallelconsumer/mutiny/MutinyProcessor.java 42.63
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/ReactorBatchTest.java

📄 parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/ReactorBatchTest.java

File Similarity (%)
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/MutinyBatchTest.java 81.33 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CoreBatchTest.java 52.34 ⚠️
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/VertxBatchTest.java 50.94 ⚠️
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/ReactorMdcPropagationTest.java

📄 parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/ReactorMdcPropagationTest.java

File Similarity (%)
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/MutinyMdcPropagationTest.java 47.28
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/ReactorPCTest.java

📄 parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/ReactorPCTest.java

File Similarity (%)
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/MutinyPCTest.java 69.5 ⚠️
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/TestConventionsArchTest.java

📄 parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/TestConventionsArchTest.java

File Similarity (%)
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/TestConventionsArchTest.java 86.56 ⚠️
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TestConventionsArchTest.java 86.48 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/TestConventionsArchTest.java 85.3 ⚠️
parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/TestConventionsArchTest.java 81.95 ⚠️
parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/TestConventionsArchTest.java 81.95 ⚠️
parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/TestConventionsArchTest.java 81.95 ⚠️
parallel-consumer-examples/parallel-consumer-example-metrics/src/test/java/bz/stub/parallelconsumer/examples/metrics/TestConventionsArchTest.java 80.48 ⚠️
parallel-consumer-examples/parallel-consumer-example-streams/src/test/java/bz/stub/parallelconsumer/examples/streams/TestConventionsArchTest.java 80.48 ⚠️
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java

📄 parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java

File Similarity (%)
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelStreamProcessor.java 43.68
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelEoSStreamProcessor.java 43.2
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/VertxParallelStreamProcessor.java 38.44
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/VertxParallelEoSStreamProcessor.java 37.73
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelStreamProcessor.java 34.6
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelEoSStreamProcessor.java 33.12
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelStreamProcessor.java

📄 parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelStreamProcessor.java

File Similarity (%)
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java 43.68
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/VertxParallelStreamProcessor.java 43.42
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelStreamProcessor.java 41.5
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelStreamProcessor.java 39.15
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/JStreamParallelEoSStreamProcessor.java 33.17
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/VertxParallelEoSStreamProcessor.java

📄 parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/VertxParallelEoSStreamProcessor.java

File Similarity (%)
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/VertxParallelStreamProcessor.java 37.94
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java 37.73
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/internal/ExternalEngine.java 35.12
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/VertxBaseUnitTest.java 31.21
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/VertxParallelStreamProcessor.java

📄 parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/VertxParallelStreamProcessor.java

File Similarity (%)
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelStreamProcessor.java 43.42
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/JStreamVertxParallelEoSStreamProcessor.java 38.44
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/VertxParallelEoSStreamProcessor.java 37.94
parallel-consumer-core/src/main/java/bz/stub/parallelconsumer/ParallelStreamProcessor.java 30.05
parallel-consumer-vertx/src/test-integration/java/bz/stub/parallelconsumer/vertx/integrationTests/VertxConcurrencyIT.java

📄 parallel-consumer-vertx/src/test-integration/java/bz/stub/parallelconsumer/vertx/integrationTests/VertxConcurrencyIT.java

File Similarity (%)
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/VeryLargeMessageVolumeTest.java 36.52
parallel-consumer-core/src/test-integration/java/bz/stub/parallelconsumer/integrationTests/TransactionAndCommitModeTest.java 30.26
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/TestConventionsArchTest.java

📄 parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/TestConventionsArchTest.java

File Similarity (%)
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/TestConventionsArchTest.java 87.77 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/TestConventionsArchTest.java 86.56 ⚠️
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/TestConventionsArchTest.java 86.56 ⚠️
parallel-consumer-examples/parallel-consumer-example-core/src/test/java/bz/stub/parallelconsumer/examples/core/TestConventionsArchTest.java 83.17 ⚠️
parallel-consumer-examples/parallel-consumer-example-reactor/src/test/java/bz/stub/parallelconsumer/examples/reactor/TestConventionsArchTest.java 83.17 ⚠️
parallel-consumer-examples/parallel-consumer-example-vertx/src/test/java/bz/stub/parallelconsumer/examples/vertx/TestConventionsArchTest.java 83.17 ⚠️
parallel-consumer-examples/parallel-consumer-example-metrics/src/test/java/bz/stub/parallelconsumer/examples/metrics/TestConventionsArchTest.java 81.67 ⚠️
parallel-consumer-examples/parallel-consumer-example-streams/src/test/java/bz/stub/parallelconsumer/examples/streams/TestConventionsArchTest.java 81.67 ⚠️
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/VertxBaseUnitTest.java

📄 parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/VertxBaseUnitTest.java

File Similarity (%)
parallel-consumer-vertx/src/main/java/bz/stub/parallelconsumer/vertx/VertxParallelEoSStreamProcessor.java 31.21
parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/VertxBatchTest.java

📄 parallel-consumer-vertx/src/test/java/bz/stub/parallelconsumer/vertx/VertxBatchTest.java

File Similarity (%)
parallel-consumer-reactor/src/test/java/bz/stub/parallelconsumer/reactor/ReactorBatchTest.java 50.94 ⚠️
parallel-consumer-mutiny/src/test/java/bz/stub/parallelconsumer/mutiny/MutinyBatchTest.java 49.22
parallel-consumer-core/src/test/java/bz/stub/parallelconsumer/CoreBatchTest.java 45.38

@codecov

codecov Bot commented Sep 7, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.78%. Comparing base (6aab3ff) to head (3653c6c).
⚠️ Report is 2 commits behind head on master.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@             Coverage Diff              @@
##             master     #473      +/-   ##
============================================
+ Coverage     82.17%   82.78%   +0.60%     
- Complexity     1536     1545       +9     
============================================
  Files            96       96              
  Lines          5353     5343      -10     
  Branches        533      529       -4     
============================================
+ Hits           4399     4423      +24     
+ Misses          758      729      -29     
+ Partials        196      191       -5     
Flag Coverage Δ
chaos 52.86% <ø> (?)
integration 61.60% <ø> (+0.35%) ⬆️
performance 47.69% <ø> (?)
unit 78.92% <ø> (+0.09%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions

github-actions Bot commented Sep 7, 2026 •

Copy link
Copy Markdown

⚪ Throughput — no comparable reference

What Value
This run 70292 rec/s
Subject time 56.6s

10 baseline run(s) were found and none ran the same set of test cases as this run, so none is comparable. This is usually the PR's own doing: enabling or disabling a test in this lane changes the matrix.

Run Rate Subject Comparable?
this run 70292 rec/s 56.6s —
0d5cbadbb 84650 rec/s 43.7s ⚠️ different test set - not a control
7c95b75ce 86615 rec/s 41.4s ⚠️ different test set - not a control
6aab3ff5a 68626 rec/s 53.2s ⚠️ different test set - not a control
745b1f6a5 64304 rec/s 55.2s ⚠️ different test set - not a control
49f81f155 69576 rec/s 51.2s ⚠️ different test set - not a control
bb73082fe 79893 rec/s 44.9s ⚠️ different test set - not a control
16b2e89e1 69670 rec/s 53.3s ⚠️ different test set - not a control
ed82e7fcc 79128 rec/s 49.7s ⚠️ different test set - not a control
c562df4ab 66774 rec/s 53.9s ⚠️ different test set - not a control
f50220262 75887 rec/s 45.8s ⚠️ different test set - not a control

The baseline rows are shown for orientation only. They ran a different workload, so a difference between them and this run is not a measurement of anything - do not read one as a regression or an improvement.

Refusing to compare against a run whose workload differs, rather than averaging the difference in and calling the result a verdict.

Updated for 3653c6c · run 34181460919 · 2026-09-08 02:56 UTC

@github-actions

github-actions Bot commented Sep 7, 2026 •

Copy link
Copy Markdown

⚠️ SpotBugs Report

350 bug(s) found (rule-level exclusions only - see docs/inflight/static-spotbugs-rule-registry.md). See the annotations on the Files Changed tab for details.

Updated for 3653c6c · run 34181460919 · 2026-09-08 02:56 UTC

@astubbs
astubbs marked this pull request as draft September 7, 2026 10:42
@astubbs

astubbs commented Sep 7, 2026

Copy link
Copy Markdown
Owner Author

@claude review this

@claude

claude Bot commented Sep 7, 2026 •

Copy link
Copy Markdown

Claude finished @astubbs's task in 4m 4s —— View job


Review

  • Gather context (PR body, branch context, comments)
  • Read the diff (both commits, git show <sha>)
  • Review test changes: RegistrationRaceStaleResidentIT, MultiInstanceRebalanceTest
  • Review script/CI changes: bin/performance-test.sh, bin/ci-*.sh, pom.xml
  • Review docs/registry changes: docs/quarantined-tests.md, inflight notes
  • Post review findings

This is a well-evidenced PR — the control-arm methodology on the RegistrationRaceStaleResidentIT diagnosis (arms A/A'/B/C with stated predictions) and the measured-not-guessed residual on largeNumberOfInstances are exactly the kind of rigor AGENTS.md/docs/testing.md ask for. The tag-flow for capacity is consistent everywhere it needs to be (pom default, all three CI wrapper scripts, bin/performance-test.sh, and the new capacityProfilesAreOutOfTheGatingLane pinning test), and the getAnnotation → getAnnotationsByType fix for the @Repeatable @Tag is a real bug caught before it could bite. One finding from actually reading the committed files:

docs/todo-index.md now contains a phantom TODO entry — parallel-consumer-core/.../MultiInstanceRebalanceTest.java:

- question that used to carry a {@code TODO(refactor)} here is settled by that measurement, and

This isn't a real marker. The old, genuine TODO(refactor): settle the residual-failure attribution — see ... was correctly removed from the javadoc (the measurement settled it). But the replacement prose at MultiInstanceRebalanceTest.java:481 mentions the literal string {@code TODO(refactor)} while describing history, and bin/todo-index.sh's marker regex (\b(TODO|FIXME|XXX)\b, see bin/todo-index.sh:104) matches on the word alone — its NOT_A_MARKER_RE exclusion list doesn't cover "mentions the marker word inside {@code} markup, past tense". The generator faithfully reproduced this into the committed index (it's self-consistent, so --check won't catch it), but the entry itself is meaningless noise in a document AGENTS.md describes as "Generated inventory of every marker in the tree" used for docs/refactoring.md triage — someone triaging TODOs will hit a sentence fragment instead of an actionable item.

Fix is simple: reword the javadoc sentence so it doesn't contain the bare marker word (e.g. "the attribution question this comment used to flag as unsettled is now answered by that measurement"), then re-run bin/todo-index.sh.
Fix this →

Minor, non-blocking nit: in docs/ci.md the new link's backticked label reads `../docs/inflight/test-largenumberofinstances-cannot-gate-a-merge.md` while the actual target is inflight/test-largenumberofinstances-cannot-gate-a-merge.md — both resolve to the same file (so bin/check-file-refs.sh is fine with it), but the label doesn't match the sibling citations added elsewhere in this same PR (docs/quarantined-tests.md, docs/refactoring.md), which write the label as the plain repo-relative path. Cosmetic only.

Everything else checked out: the quarantine registry edits leave a single, well-justified remaining entry; the sighting-ledger updates in docs/inflight/test-untracked-ci-flakes.md are consistent with the new diagnosis; imports in MultiInstanceRebalanceTest.java are covered by the existing java.util.* wildcard; brokerPoller/isSubscriptionsPausedForBackPressure/describePauseObservation referenced in the new RegistrationRaceStaleResidentIT probe module all exist with the right visibility.

Note on tooling: I could not execute bin/todo-index.sh or other scripts myself in this session (git/bash operations beyond read-only inspection required approval that wasn't available here), so the todo-index finding above is based on static reading of the generator's regex and the committed output, not a live re-run.

astubbs added a commit that referenced this pull request Sep 7, 2026
The automated review on #473 found that
docs/todo-index.md carried a sentence fragment as an entry: the javadoc
in MultiInstanceRebalanceTest described the history of a removed
TODO(refactor) marker by quoting the marker word, and the index
generator matches on the word alone. Reworded so the sentence says the
same thing without the word, and the index regenerated. Also aligns one
link label in docs/ci.md with how the sibling citations in this PR
write theirs.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q99GxTheRQL6d7TDt1bUum

@astubbs astubbs left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@astubbs
astubbs marked this pull request as ready for review September 7, 2026 23:48
@astubbs

astubbs commented Sep 7, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@astubbs

astubbs commented Sep 7, 2026

Copy link
Copy Markdown
Owner Author

Response to the automated review.

The phantom TODO entry is gone (342d899). The javadoc sentence in MultiInstanceRebalanceTest now describes the settled question without quoting the marker word, and docs/todo-index.md is regenerated; bin/todo-index.sh --check is clean. The reading of the generator's regex was right: it matches on the word alone.

The link label in docs/ci.md now matches the sibling citations in this PR, same commit.

Nothing else changed. Both quarantine gates and bin/check-all.sh are green on the new head.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 342d8998d2

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/inflight/test-untracked-ci-flakes.md Outdated
Comment thread docs/inflight/test-largenumberofinstances-cannot-gate-a-merge.md Outdated
astubbs added a commit that referenced this pull request Sep 8, 2026
Codex review on #473: moving cooperativeStickyRebalanceShouldNotStall and
gentleChaosRebalance onto @tag("capacity") took them out of the required Performance Tests lane, but
no scheduled or dispatchable runner ever targeted them - every pc_run_performance caller in
bin/exp-*.sh and every choice in .github/workflows/experiments.yml names only
MultiInstanceRebalanceTest#largeNumberOfInstances. Verified by grep: neither method appears in any
workflow or bin/ script before this change. So the two profiles ran nowhere at all, silently -
exactly the "test that never runs is not a passing test" trap AGENTS.md names.

bin/exp-measure-capacity-profiles-failure-rate.sh gives both the same weekly cadence
largeNumberOfInstances already has, reusing pc_run_performance and the same failsafe-report
classification (both share MultiInstanceRebalanceTest's runScenario/ProgressTracker plumbing, so the
same "No progress beyond N records" / "missing keys" extraction applies unchanged). Wired into
experiments.yml as a second weekly schedule slot, routed via github.event.schedule since a scheduled
run carries no workflow_dispatch input. Never added to a gating lane - it is a scheduled, non-required
measurement, same as largeNumberOfInstances.

docs/testing.md's experiment-runner table gets a row for the new script.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q99GxTheRQL6d7TDt1bUum
astubbs added a commit that referenced this pull request Sep 8, 2026
…lag bullet

Three more Codex findings on #473, all in docs:

- docs/inflight/test-untracked-ci-flakes.md kept a SOLVED table row and a full "Closed" section for
  RegistrationRaceStaleResidentIT even though the durable diagnosis already lives under
  docs/solutions/. docs/inflight/AGENTS.md is explicit that a closed item does not get rewritten into
  a "FIXED/DONE" narrative - it gets removed, with what outlives it migrated first. Removed the row
  and the whole section (its own sighting-history subsection included); the file's own convention for
  a closed item (see the ProducerManagerTest/MDC entries in the intro paragraph) is a one-line mention
  with a link, which is what replaces it.

- docs/inflight/test-largenumberofinstances-residual-failures-measured-not-explained.md said outright
  that its own subject had been acted on and that it stayed open only for the sibling
  cannot-gate-a-merge note's tracked items - the same "closed item kept open" shape. Migrated its
  durable content (the mechanism chain, the two refuted candidate fixes with their measured control
  arms, the deterministic reproducer, the generalisable lessons) into a new solutions write-up,
  docs/solutions/test-flakiness/large-instances-residual-is-a-join-phase-held-open-by-churn-2026-09-05.md,
  then deleted the note and repointed every citation (grepped the whole tree: bin/, .github/workflows,
  docs/inflight, docs/solutions, two Java files and a logback resource - ten citing locations besides
  the note itself). The @Quarantined annotation this note used to be tracked from is already gone
  from MultiInstanceRebalanceTest, removed earlier in this same PR.

- docs/inflight/test-largenumberofinstances-cannot-gate-a-merge.md's "what implementing it involved"
  section still said bin/performance-test.sh passes an empty -Dexcluded.groups= and told readers to
  preserve that - directly contradicting the "What landed" section above it, which correctly says the
  required lane now passes -Dexcluded.groups=quarantined,capacity. Rewrote the bullet to state the
  current contract instead of the pre-implementation one, and updated the "What landed" paragraph and
  "Still open" list to record the capacity-profile-scheduling gap this PR's sibling commit closes.

bin/check-file-refs.sh is clean; bin/check-all.sh's full sweep passes.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q99GxTheRQL6d7TDt1bUum
@github-actions

github-actions Bot commented Sep 8, 2026 •

Copy link
Copy Markdown

🧪🔒 Quarantine Lane Report

The quarantine lane is empty - no @Quarantined tests remain, so none ran.

Any earlier row on this PR asking for a @Quarantined annotation or a docs/quarantined-tests.md
entry to be deleted is withdrawn - there is nothing left to delete. A merge-blocking review
thread, if one was opened for that row, still has to be resolved by hand.

Lane: non-gating; rules: see the Quarantine Audit check.

No quarantined test changed outcome since the previous push.

Updated for 3653c6c · run 34181460947 · 2026-09-08 02:50 UTC

astubbs added a commit that referenced this pull request Sep 8, 2026
The capacity-profile runner added for the Codex finding on
#473 copied the iteration loop of
exp-measure-large-instances-failure-rate.sh verbatim - the maven call,
the DID-NOT-RUN guard, the progress and missing-keys extraction and the
tally row. Two copies of a classifier drift silently, which is the exact
history bin/lib/chaos-experiment-common.sh's header records for the
trajectory parser. The loop now lives there as
pc_measure_profile_failure_rate, with the row-stamping and
coordinator-logger reasoning moved with it, and both runners call it.

Exercised with stubbed pc_run_performance and pc_failsafe_stats: the
tally rows come out in the same shape as before.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q99GxTheRQL6d7TDt1bUum
astubbs added a commit that referenced this pull request Sep 8, 2026
…on to #408

#466 merged while the burn-down was being written: the revoke-path
commit now drains the work mailbox first in transactional mode, its proof
left quarantine with it, and the README caution is gone. The burn-down
ticks it and moves it from "fixed in the queue" to "fixed on master".

Its commit body records a collision with #408 on
tryCommitOffsetsOnRevoke, to be resolved by whichever landed second. That
is now #408, so its tier 2 line says so - it was already the one PR
in the queue needing work rather than a merge.

The #473 line no longer orders itself after #466; it clears
the two quarantine entries that remain, which the release guard blocks on.

Claude-Session: 460f7df9-dcc2-4b00-a9f9-62f3a2c6d5e4
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
astubbs added a commit that referenced this pull request Sep 8, 2026
…eave the gating lane and the quarantine

MultiInstanceRebalanceTest.largeNumberOfInstances was quarantined while its residual failure had no
mechanism. #444 measured one: the Kafka consumer group protocol under this profile's churn
rate, not a PC defect. The chaos monkey restarts members faster than a join phase completes, a
LeaveGroup sent while the member's own JoinGroup is pending is answered only when the phase
completes, and one phase was observed open for 17s - during which consumer.poll() returns nothing to
ANY member, which is the FLAT count the detector fires on at 12s. No coordinator request was ever
slow. Every PC-side candidate was refuted by measurement. 4 in 60 on the Linux runner, 0 in 22 on an
M2 desktop.

This implements what docs/inflight/test-largenumberofinstances-cannot-gate-a-merge.md decided
(option 1, 2026-09-07): nothing about the test is repaired, because nothing about it is broken. Its
legitimate output is a pass RATE over many runs, and a required check that fails one run in fifteen
for a reason no change to PC can move blocks merges while carrying no information about the change
being merged.

WHAT MOVED. A second tag, @tag("capacity"), on all three capacity profiles - largeNumberOfInstances,
cooperativeStickyRebalanceShouldNotStall and gentleChaosRebalance. They move together because they
share the profile shape, and leaving two behind would put the same measurement on both sides of a
gate. bin/performance-test.sh - the required Performance Tests check - now passes
-Dexcluded.groups=quarantined,capacity. The tag is also in the pom's default excluded.groups and in
the three CI wrappers' hardcoded copies of that list, so a future capacity profile that forgets the
performance tag is still out of the gating lanes.

The experiment runners are untouched and still select them: pc_run_performance passes
-Dincluded.groups=performance with an EMPTY exclusion, which is why the profiles keep their
performance tag rather than trading it for the new one.

@Quarantined and the docs/quarantined-tests.md entry come off in the same commit. A profile that no
longer gates does not need quarantining, and leaving both would say two different things about one
test - "quarantined" reads as "broken" and this test is not.

VERIFIED BY SELECTION, NOT BY THE FLAGS LOOKING RIGHT - the failure mode here is a lane that selects
nothing and passes, which this repo has already had once:

  gating flags,     -Dit.test=MultiInstanceRebalanceTest    "No tests to run", Tests run: 0
  gating flags,     -Dit.test=LargeVolumeInMemoryTests       Tests run: 6, the lane still measures
  experiment flags, MultiInstanceRebalanceTest#largeNumberOfInstances   Tests run: 1, PASS in 164.4s

A BUG THE TAG SPLIT WOULD OTHERWISE HAVE INTRODUCED SILENTLY. capacityProfileVerdict read
m.getAnnotation(Tag.class), and @tag is @repeatable - getAnnotation returns null once a second one is
present. Adding @tag("capacity") would therefore have reclassified every capacity profile as a
correctness gate, so -Dperf.scale would have thrown on exactly the tests it exists for, with nothing
red to say so until somebody ran a scaled measurement and read the AssertionError as a product
problem. It now reads getAnnotationsByType, and the guard keys on the capacity tag.

capacityProfilesAreOutOfTheGatingLane pins which profiles carry which tags, and is untagged so it
runs in the gating integration lane. It reads annotations, so it proves the labelling and not the
lane's flags - stated in its own javadoc, because the flags are the half no test can hold.

NOT DONE, and named rather than left implied: the rate is not yet compared against a rolling median
the way bin/check-throughput-regression.mjs does for throughput, so a drift would still have to be
noticed by a human reading two artifacts. That is option 1's second half and wants its own change; a
fixed bound must not be used for it.

scriptedChurnRoundsCompleteWithoutStall, the deterministic correctness twin, is untouched and is
what keeps these code paths gated. The profiles' parameters and churn are unchanged, deliberately:
the residual rate #444 measured is the baseline to compare against, and backing the churn off
would destroy it.

The TODO(refactor) asking for the residual-failure attribution is removed - that measurement
answered it - and docs/todo-index.md regenerated.

TWO FOLLOW-UPS FROM THE CODEX REVIEW ON #473, landed in the same
change because each is a consequence of the tag split above.

The tag took cooperativeStickyRebalanceShouldNotStall and gentleChaosRebalance out of the
required Performance Tests lane, but no scheduled or dispatchable runner ever targeted them -
every pc_run_performance caller in bin/exp-*.sh and every choice in experiments.yml named only
largeNumberOfInstances, verified by grep. So the two ran nowhere, silently - the "test that
never runs is not a passing test" trap. bin/exp-measure-capacity-profiles-failure-rate.sh
gives both the weekly cadence largeNumberOfInstances already has, wired into experiments.yml
as a second schedule slot routed via github.event.schedule, never a gating lane. The iteration
loop, the DID-NOT-RUN guard and the tally row live once, in bin/lib/chaos-experiment-common.sh
as pc_measure_profile_failure_rate, and both runners call it - a verbatim copy drifts silently,
which is the history that library's header records for the trajectory parser. Exercised with
stubbed pc_run_performance and pc_failsafe_stats: the rows keep their shape.

docs/inflight/test-largenumberofinstances-residual-failures-measured-not-explained.md said
outright that its subject had been acted on. Its durable content - the mechanism chain, the
two refuted candidate fixes with their control arms, the deterministic reproducer - is
migrated to docs/solutions/test-flakiness/large-instances-residual-is-a-join-phase-held-open-by-churn-2026-09-05.md
and the note deleted, every citation repointed (bin/, workflows, notes, two Java files and a
logback resource). The cannot-gate note's implementation bullet, which still told readers to
keep an empty -Dexcluded.groups= on bin/performance-test.sh, is rewritten to the contract the
lane now has. A javadoc sentence that quoted the removed TODO marker is reworded so
bin/todo-index.sh stops indexing it as one.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q99GxTheRQL6d7TDt1bUum
@astubbs
astubbs force-pushed the fix/clear-the-quarantine-registry branch from 0614e84 to 62fafd2 Compare September 8, 2026 01:22
astubbs and others added 2 commits September 8, 2026 13:43
…ack pressure had stopped fetching

RegistrationRaceStaleResidentIT failed across CI for a fortnight on its own SETUP guard -
"control thread must reach the mid-loop pause point (offset 25)" - never on the confluentinc#909
assertion it exists to make, so every failure was evidence about nothing. #440 quarantined it
on a sighting ledger with no mechanism. This is the mechanism, and it is the test's staging, not PC.

DIAGNOSIS. The test saturates the pipeline by gating the user function so nothing ever completes,
which makes whatever stage 1 produced permanent: RecordPopulation counts a record as in-shards from
insert until removal, and being out at a parked worker does not remove it. Stage 1 produced 12
records against an out-for-processing target of 8 ("with a margin", said the comment), so
records-in-shards sat at 12 against WorkManager.isSufficientlyLoaded()'s threshold of 8 for the rest
of the run. BrokerPollSystem paused the data partition for back pressure, and nothing could resume
it - both resumeIfPaused and maybeWakeupPoller are conditioned on !isSufficientlyLoaded(). The
stage-2 records carrying offset 25 were therefore never fetched.

It passed at all only by racing. Pausing takes effect at the top of a poll iteration, so a
consumer.poll() already in flight when the gate closed went on delivering for up to the 2s long-poll
timeout. Winning that race gave a ~14s pass; losing it gave the mute 30s timeout CI kept seeing on
unrelated branches, including documentation-only heads.

CONTROL ARMS, predictions stated before running.

  baseline (unchanged)                                          PASS 15.6s
  A  wait for isSufficientlyLoaded() before stage 2             3/3 PASS - PREDICTION REFUTED
  A' wait for isSubscriptionsPausedForBackPressure()            3/3 FAIL, 36.8-37.4s, exact CI signature
  B  stage 1 produces 8 rather than 12                          10/10 PASS, 13.6-14.3s
  C  arm B, ProcessingShard stale replacement disabled          FAIL on the 909 signature, 104s

Arm A is worth reading: forcing the intake gate shut did NOT reproduce the failure, because the gate
closing is not the same event as the partition being paused - only the second closes the window. The
refuted arm is what located it. Arms A' and B differ by one record either side of the threshold, in
the same position, and the outcome flips. Arm C is what says the repair did not cost the
reproduction: it still goes red against the defect, on the right assertion, naming exactly the 25
keys k-25..k-49 that the original write-up recorded.

THE FIX. STAGE_1_RECORDS is derived from MESSAGE_BUFFER_SIZE rather than written as a literal, so
the two cannot drift; at exactly the target the comparison is strictly greater-than and the gate
stays open. The precondition is asserted immediately before the stage-2 produce, naming the gate and
its arithmetic - it was implicit, and the failure was mute, which is why eleven sightings over three
weeks could establish only that it was master-state. The guard now reads the intake state AFTER its
wait and reports it either way, including the poller's own pause observation. The class javadoc
records this as a fourth precondition belonging to the staging rather than to the defect.

The anonymous PCModule is now a named local class so the test can reach BrokerPollSystem through the
module's protected seam for that diagnostic.

REJECTED. Raising messageBufferSize to 12 (same knife-edge, bigger numbers, and it moves the
scan-suppression arithmetic the reproduction depends on). Producing all 50 records up front (the
control thread would park before any work is taken, so saturation could never be established).
Loosening the 30s guard, which would have hidden the fact that the records could not arrive at all.

SAME-DEFECT-CLASS SWEEP - the class is "a test that saturates PC's pipeline and then expects more
records from the broker". One instance, the one fixed. Checked and dismissed: BrokerPollerBackpressureTest
(the inverse - it asserts the pause, then releases the gate and waits for the resume BEFORE producing
10 more); RetriesTest and PartitionOrderProcessingTest (buffer overrides but no second-stage produce
while workers are blocked); DrainCloseTest, DrainingMemberRebalanceIT, TransactionTimeoutsTest,
TransactionalEagerProcessingIT and Rebalance857CommitSyncDeadlockProbeBase (latch plus multiple
produces, but no pinned static load factor and no permanently-held surplus).

@Quarantined and the docs/quarantined-tests.md entry are deleted together, per rule 3.

The flake's row and its closed section leave docs/inflight/test-untracked-ci-flakes.md
in the same change: the durable diagnosis is the solutions write-up, and
docs/inflight/AGENTS.md says a closed item is removed with what outlives it migrated
first, not rewritten into a FIXED narrative. A one-line pointer, the file's own
convention for a closed entry, is what replaces it.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q99GxTheRQL6d7TDt1bUum
…eave the gating lane and the quarantine

MultiInstanceRebalanceTest.largeNumberOfInstances was quarantined while its residual failure had no
mechanism. #444 measured one: the Kafka consumer group protocol under this profile's churn
rate, not a PC defect. The chaos monkey restarts members faster than a join phase completes, a
LeaveGroup sent while the member's own JoinGroup is pending is answered only when the phase
completes, and one phase was observed open for 17s - during which consumer.poll() returns nothing to
ANY member, which is the FLAT count the detector fires on at 12s. No coordinator request was ever
slow. Every PC-side candidate was refuted by measurement. 4 in 60 on the Linux runner, 0 in 22 on an
M2 desktop.

This implements what docs/inflight/test-largenumberofinstances-cannot-gate-a-merge.md decided
(option 1, 2026-09-07): nothing about the test is repaired, because nothing about it is broken. Its
legitimate output is a pass RATE over many runs, and a required check that fails one run in fifteen
for a reason no change to PC can move blocks merges while carrying no information about the change
being merged.

WHAT MOVED. A second tag, @tag("capacity"), on all three capacity profiles - largeNumberOfInstances,
cooperativeStickyRebalanceShouldNotStall and gentleChaosRebalance. They move together because they
share the profile shape, and leaving two behind would put the same measurement on both sides of a
gate. bin/performance-test.sh - the required Performance Tests check - now passes
-Dexcluded.groups=quarantined,capacity. The tag is also in the pom's default excluded.groups and in
the three CI wrappers' hardcoded copies of that list, so a future capacity profile that forgets the
performance tag is still out of the gating lanes.

The experiment runners are untouched and still select them: pc_run_performance passes
-Dincluded.groups=performance with an EMPTY exclusion, which is why the profiles keep their
performance tag rather than trading it for the new one.

@Quarantined and the docs/quarantined-tests.md entry come off in the same commit. A profile that no
longer gates does not need quarantining, and leaving both would say two different things about one
test - "quarantined" reads as "broken" and this test is not.

VERIFIED BY SELECTION, NOT BY THE FLAGS LOOKING RIGHT - the failure mode here is a lane that selects
nothing and passes, which this repo has already had once:

  gating flags,     -Dit.test=MultiInstanceRebalanceTest    "No tests to run", Tests run: 0
  gating flags,     -Dit.test=LargeVolumeInMemoryTests       Tests run: 6, the lane still measures
  experiment flags, MultiInstanceRebalanceTest#largeNumberOfInstances   Tests run: 1, PASS in 164.4s

A BUG THE TAG SPLIT WOULD OTHERWISE HAVE INTRODUCED SILENTLY. capacityProfileVerdict read
m.getAnnotation(Tag.class), and @tag is @repeatable - getAnnotation returns null once a second one is
present. Adding @tag("capacity") would therefore have reclassified every capacity profile as a
correctness gate, so -Dperf.scale would have thrown on exactly the tests it exists for, with nothing
red to say so until somebody ran a scaled measurement and read the AssertionError as a product
problem. It now reads getAnnotationsByType, and the guard keys on the capacity tag.

capacityProfilesAreOutOfTheGatingLane pins which profiles carry which tags, and is untagged so it
runs in the gating integration lane. It reads annotations, so it proves the labelling and not the
lane's flags - stated in its own javadoc, because the flags are the half no test can hold.

NOT DONE, and named rather than left implied: the rate is not yet compared against a rolling median
the way bin/check-throughput-regression.mjs does for throughput, so a drift would still have to be
noticed by a human reading two artifacts. That is option 1's second half and wants its own change; a
fixed bound must not be used for it.

scriptedChurnRoundsCompleteWithoutStall, the deterministic correctness twin, is untouched and is
what keeps these code paths gated. The profiles' parameters and churn are unchanged, deliberately:
the residual rate #444 measured is the baseline to compare against, and backing the churn off
would destroy it.

The TODO(refactor) asking for the residual-failure attribution is removed - that measurement
answered it - and docs/todo-index.md regenerated.

TWO FOLLOW-UPS FROM THE CODEX REVIEW ON #473, landed in the same
change because each is a consequence of the tag split above.

The tag took cooperativeStickyRebalanceShouldNotStall and gentleChaosRebalance out of the
required Performance Tests lane, but no scheduled or dispatchable runner ever targeted them -
every pc_run_performance caller in bin/exp-*.sh and every choice in experiments.yml named only
largeNumberOfInstances, verified by grep. So the two ran nowhere, silently - the "test that
never runs is not a passing test" trap. bin/exp-measure-capacity-profiles-failure-rate.sh
gives both the weekly cadence largeNumberOfInstances already has, wired into experiments.yml
as a second schedule slot routed via github.event.schedule, never a gating lane. The iteration
loop, the DID-NOT-RUN guard and the tally row live once, in bin/lib/chaos-experiment-common.sh
as pc_measure_profile_failure_rate, and both runners call it - a verbatim copy drifts silently,
which is the history that library's header records for the trajectory parser. Exercised with
stubbed pc_run_performance and pc_failsafe_stats: the rows keep their shape.

docs/inflight/test-largenumberofinstances-residual-failures-measured-not-explained.md said
outright that its subject had been acted on. Its durable content - the mechanism chain, the
two refuted candidate fixes with their control arms, the deterministic reproducer - is
migrated to docs/solutions/test-flakiness/large-instances-residual-is-a-join-phase-held-open-by-churn-2026-09-05.md
and the note deleted, every citation repointed (bin/, workflows, notes, two Java files and a
logback resource). The cannot-gate note's implementation bullet, which still told readers to
keep an empty -Dexcluded.groups= on bin/performance-test.sh, is rewritten to the contract the
lane now has. A javadoc sentence that quoted the removed TODO marker is reworded so
bin/todo-index.sh stops indexing it as one.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q99GxTheRQL6d7TDt1bUum
@astubbs
astubbs force-pushed the fix/clear-the-quarantine-registry branch from 2f15f41 to 5e412c8 Compare September 8, 2026 01:44
@astubbs

astubbs commented Sep 8, 2026

Copy link
Copy Markdown
Owner Author

@claude review this

@claude

claude Bot commented Sep 8, 2026 •

Copy link
Copy Markdown

Claude finished @astubbs's task in 3m 2s —— View job


Review

  • Gather context (PR body, branch context, prior review rounds, comments)
  • Verify current HEAD (5e412c886) and confirm prior Codex findings are fixed in the tree
  • Read the changed files (quarantine registry, todo-index, inflight notes, new experiment script, workflow)
  • Re-check the four previously-raised P1 threads for regressions
  • Spot-check quarantine registry / capacity-tag consistency
  • Post final review

All four Codex P1 threads from the earlier round are genuinely resolved in the current tree, not just claimed: docs/quarantined-tests.md is empty, docs/todo-index.md has no phantom entry and bin/todo-index.sh --check passes clean, the RegistrationRaceStaleResidentIT SOLVED section is gone from test-untracked-ci-flakes.md (replaced with a pointer), the residual-failures note is deleted with its content migrated to docs/solutions/test-flakiness/large-instances-residual-is-a-join-phase-held-open-by-churn-2026-09-05.md, and test-largenumberofinstances-cannot-gate-a-merge.md no longer states the contradictory "empty exclusion" bullet — it now correctly says bin/performance-test.sh passes -Dexcluded.groups=quarantined,capacity. The capacityProfileVerdict/getAnnotationsByType fix for @Repeatable @Tag is real and well-caught. Overall this is exactly the standard of evidence AGENTS.md/docs/testing.md ask for.

One new, concrete finding from reading the fix for the "profiles ran nowhere" gap:

bin/exp-measure-capacity-profiles-failure-rate.sh's output will never be collected by experiments.yml. The new script writes its tally data to /tmp/cooperative-sticky-rebalance and /tmp/gentle-chaos-rebalance (bin/exp-measure-capacity-profiles-failure-rate.sh:41-44, via pc_measure_profile_failure_rate "$D" "$method" "/tmp/$dirname" ... in bin/lib/chaos-experiment-common.sh:290-308). But the "Collect the tally" step added in this same PR (.github/workflows/experiments.yml:168) still only scans:

for d in /tmp/large-instances /tmp/scale-sweep /tmp/detector-audit /tmp/async-answer; do

Neither of the two new directories is in that list, so on the new Sunday-05:00 schedule slot, the job will run the real test iterations, produce a real tally.tsv for each profile, and then silently fail to copy either into experiment-output/ — found stays 0, experiment-output/ stays empty, and the run ends with the ::warning::No experiment output directory was found line instead of any data. This is precisely the failure mode the workflow's own header and comments call out as the worst outcome ("a green job and an artifact with no data in it... indistinguishable from a clean result") — and it defeats the stated purpose of this exact change, which was to stop cooperativeStickyRebalanceShouldNotStall and gentleChaosRebalance from running nowhere. They'll now run, but their data goes nowhere instead.

Fix is a one-line addition to that loop: for d in /tmp/large-instances /tmp/scale-sweep /tmp/detector-audit /tmp/async-answer /tmp/cooperative-sticky-rebalance /tmp/gentle-chaos-rebalance; do.
Fix this →

Note: I could not modify .github/workflows/experiments.yml myself even if asked — the GitHub App permissions for this action do not allow workflow-file edits — so this needs a manual fix or a follow-up commit from a human/local session with workflow-write access.

Minor, non-blocking: docs/inflight/test-largenumberofinstances-cannot-gate-a-merge.md:5's inflight-vetted HTML comment still reads "still true, the decision recorded here is not yet implemented" — but the very next heading in the same file (line 29) now reads "DECIDED 2026-09-07: option 1. IMPLEMENTED 2026-09-07, except the trend line," with a full "What landed" section below it. The vetted marker predates this PR's implementation and wasn't refreshed when the implementation landed in the same commit, so it now contradicts the body it's supposed to summarize. Worth a follow-up inflight-vetted stamp update, not a blocker.

Everything else checked out: the sighting-ledger migrations are clean (bin/check-file-refs.sh-clean citations, confirmed by grep), the pom/CI-wrapper/bin/performance-test.sh exclusion-flag story is consistent everywhere it needs to be, and docs/testing.md's experiment-runner table has the required new row for the added script per bin/AGENTS.md's "exp- needs a row before merge" rule.

astubbs and others added 2 commits September 8, 2026 14:32
… the one runner's

The second review round on #473 read the fix for the
"profiles ran nowhere" gap and found that its output went nowhere instead: the
new runner writes tally.tsv under /tmp/cooperative-sticky-rebalance and
/tmp/gentle-chaos-rebalance, and the workflow's collect step scanned only the
four directories the older runners use. On the new schedule slot the job would
have run every iteration, produced both tallies, and uploaded an empty
artifact with the "No experiment output directory was found" warning - the
outcome the workflow's own header names as the worst one, because it is
indistinguishable from a clean result. Both directories are in the loop now.

The cannot-gate note's vetted marker still said the decision was not yet
implemented, one heading above the section saying it was; refreshed to what
is true on this branch.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q99GxTheRQL6d7TDt1bUum
…ntine-registry

# Conflicts:
#	bin/ci-build.sh
#	bin/ci-integration-test.sh
#	bin/ci-unit-test.sh
#	pom.xml
@astubbs

astubbs commented Sep 8, 2026

Copy link
Copy Markdown
Owner Author

Response to the second review round.

The collect loop now names both new tally directories (6795039). The finding was right and it was the worst shape: the new schedule slot would have run every iteration and uploaded an empty artifact with the "no output directory" warning, which reads as a clean result. /tmp/cooperative-sticky-rebalance and /tmp/gentle-chaos-rebalance are in the loop beside the four existing directories.

The vetted marker on the cannot-gate note is refreshed to say the decision is implemented and only the trend line stays open, same commit.

Nothing else changed. bin/check-all.sh is green on the new head.

@astubbs
astubbs merged commit ad482ec into master Sep 8, 2026
34 checks passed
@astubbs
astubbs deleted the fix/clear-the-quarantine-registry branch September 8, 2026 03:06
astubbs added a commit that referenced this pull request Sep 8, 2026
#473 promoted

#473 merged while this branch was open. It deleted
test-largenumberofinstances-residual-failures-measured-not-explained.md, having migrated the
mechanism to docs/solutions/test-flakiness/, which is the correct outcome under
docs/inflight/AGENTS.md - but it left this branch citing a file that no longer exists, and
bin/check-file-refs.sh caught it.

Repointed at the solutions write-up, which is now the durable owner, and reworded the two places
that spoke of #473 in the future tense. The merge itself was clean; only the citation needed
repair.

Co-authored-by: Claude Opus <noreply@anthropic.com>
astubbs added a commit that referenced this pull request Sep 8, 2026
…ntries

One conflict: the residual-failures note this branch had appended a dated
update to was deleted by #473, which migrated it to
docs/solutions/test-flakiness/. The note stays deleted; the update - that
#431 closed as superseded by this branch and the refutation stands
unchanged - follows the content as a citation note beside the #431
reference in the write-up, per docs/citations.md.

Claude-Session: 460f7df9-dcc2-4b00-a9f9-62f3a2c6d5e4
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
astubbs added a commit that referenced this pull request Sep 8, 2026
One conflict, inherited from the #481 tip this branch carries: the
residual-failures note #481 had appended to was deleted by
#473, which migrated it to docs/solutions/test-flakiness/. The note
stays deleted here; the dated update that followed it lives on #481
as a citation note in the write-up and arrives with that PR.

Claude-Session: 460f7df9-dcc2-4b00-a9f9-62f3a2c6d5e4
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
astubbs added a commit that referenced this pull request Sep 8, 2026
Master moved two further commits while the previous merge was being verified, both landing in this
branch's area: #470 (an async commit counts as committed when the broker
answers) and #473 (two quarantine entries cleared by fixing what they were
about). Two conflicts, both resolved keeping each side's intent.

- `state/PartitionState.java`, `onOffsetCommitSuccess` and `getCommitDataIfDirty`. #470 makes
  an acknowledgement record the offset always and mark the partition clean only when it answers the
  offer the partition last made; this branch had the completed-but-uncommitted ledger's
  `snapshotForCommit()` / `onCommitSuccess()` pair on the same two methods. Both kept. The ledger's
  snapshot is taken beside the offer, and the trim now sits INSIDE master's
  `committed.equals(offerLastMadeForCommit)` arm rather than running unconditionally: the snapshot
  belongs to that offer, so only the answer to that offer may retire what it carried - the same rule
  #470 introduces, applied to the ledger. This changes nothing in practice, because the
  ledger is a no-op outside transactional commit mode (`PartitionState`'s constructor gates it on
  `isUsingTransactionCommitMode`) and the transactional path acknowledges inline with the map it
  just collected, so that arm is always the one taken where the ledger is real. Said in a comment at
  the site.

- `docs/inflight/test-untracked-ci-flakes.md`. #473 fixed
  `RegistrationRaceStaleResidentIT`'s setup guard and removed its row and its prose section, adding
  the "also fixed and out" paragraph; that removal is taken. This branch's `AmbientProbeExtension`
  row - master's own, with this branch's #225 and 2026-09-03 measurements folded in by the
  previous merge - is kept, as is its corroboration paragraph in the surviving prose section, and so
  are the four rows master has never had.

Verification: `./mvnw -Pci -pl parallel-consumer-core -am` compiles; 170 unit tests across the
producer, transactional, `PartitionState*` and work-manager classes pass with 0 failures and 0
errors from fresh surefire reports - including #470's own
`PartitionStateAcknowledgedCommitOffsetTest` and `MockConsumerAsyncCommitCallbackFailsTest`.
`bin/check-all.sh`: 16 passed, 0 failed. No Docker-backed test was run.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018rEzrWYFr6oEzy6porczd3
astubbs added a commit that referenced this pull request Sep 8, 2026
Master landed the async-commit acknowledgement (#470, silent loss on
the default commit mode) and the quarantine clearance (#473), which
empties docs/quarantined-tests.md so the release guard no longer blocks on
it and moves the capacity profiles behind a measured tag. With #466
and #468 already in, tier 1 has four of its seven merged; what is
left is #469, #481, #480 and #477.

Claude-Session: 460f7df9-dcc2-4b00-a9f9-62f3a2c6d5e4
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
astubbs added a commit that referenced this pull request Sep 8, 2026
 and #473

Two conflicts. PartitionState: #470 counts an async commit as committed only when the
broker answers the latest offer, and #410's ledger trims on commit success; joined so the
ledger snapshots before the offer is made and is trimmed only on the answer to that offer - a stale
answer to an older offer leaves the newer snapshot in place, so a replay can only over-replay, never
under. The flake ledger takes master's updated rows and #473's retirement of the section it
fixed, and keeps this branch's three later sightings.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PVL2FEJ645T76PbybEBUZ6
astubbs added a commit that referenced this pull request Sep 8, 2026
…s test's calibration

Review finding on #486, raised as "worth knowing, not a defect":
ClosingMemberRebalanceIT's javadoc already records the identical sabotage shape and near-identical
numbers under its Proven red block, which arrived on this branch with #473's merge some
minutes after the entry here was written. Two records of one shape is how a duplicate starts
drifting, and the repo's rule is to name the owner in the pointer rather than let a reader who
found one stop looking.

So the entry now says which record owns what: the javadoc owns what the test is calibrated to
detect, and the rows here are an independent re-run on a later master answering a different
question - whether the PC-side story still holds now. It also warns the reader not to read the
agreement between them as one result cited twice, which is the misreading the two-places shape
invites.

No claim changed and no number moved.

Co-authored-by: Claude Opus <noreply@anthropic.com>
astubbs added a commit that referenced this pull request Sep 8, 2026
…-fix

Picks up #468, #470, #471 and #473. Read for whether any
of them moves the ground under this branch's evidence, since that is exactly what
#466 did to the 2026-08-31 grid and is why this branch had to re-calibrate:

- #470 is the one that looks like it might. It changes when an ASYNC commit
  counts as committed - AbstractOffsetCommitter, ConsumerOffsetCommitter and
  PartitionState - so it is the commit path, but not the revoke path. This branch's
  grid measures the poll-versus-control lock cycle in tryCommitOffsetsOnRevoke, under
  the synchronous consumer mode, and the probe's failing edge is the commit-response
  timeout rather than the clean-marking that #470 rewrites.
- #468 (WorkContainer identity equality), #471 (the commit-response
  timeout soak) and #473 (quarantine entries) touch neither.

Checked rather than assumed: the diff of
AbstractParallelEoSStreamProcessor.java across this merge contains no change to
tryCommitOffsetsOnRevoke, commitLock, onPartitionsRevoked or
commitOnRevokeViaTheControlThread - the file is not in the merged range's changed set
at all. So the re-calibration stays pinned at 6aab3ff, and the head it names is
still the right one to state.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
astubbs added a commit that referenced this pull request Sep 8, 2026
#486

The scope note still said the async-unordered rebalance stall was blocked
on progress-tracker instrumentation that did not exist. #486 shows it
was never blocked: the diagnostic has been wired since #444, the
mechanism was already measured and promoted to master by #473 (a
join phase the coordinator holds open, during which poll returns nothing
to any member, then recovers), and two claims in the family note were false
against master. The PC half was re-verified with a one-term control arm
after the revoke and close seam moved. Not a defect; struck from the list
and from the replay queue.

Claude-Session: 460f7df9-dcc2-4b00-a9f9-62f3a2c6d5e4
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
astubbs added a commit that referenced this pull request Sep 8, 2026
…nd the PC half is re-verified with a control arm (#486)

The 857 register's fifth open item - a rebalance stall in
MultiInstanceRebalanceTest.largeNumberOfInstances under PERIODIC_CONSUMER_ASYNCHRONOUS/UNORDERED -
read as blocked on progress-tracker instrumentation that does not exist. It is not blocked, and
has not been since #444: withDiagnostic is wired on master, and the stall has been
reproduced repeatedly since, not never. Both stale claims were still in the section, so anyone
picking the item up inherited an investigation that had already finished.

The mechanism is measured, and its durable owner is the docs/solutions/test-flakiness write-up
that #473 promoted: the chaos monkey restarts members faster than a join phase completes, a
LeaveGroup sent while the member's own JoinGroup is pending is not answered until that phase
completes, and one phase was observed held open for 17s. While it is open consumer.poll() returns
nothing to any member, survivors included - the FLAT count. No coordinator request was slow in any
failing run, and every PC-side candidate was refuted by measurement.

So the verdict is neither wedge nor harness artefact: the freeze is real and fleet-wide, it
recovers when the phase completes, and what turns it red is the detector's 12s window closing
inside a real protocol freeze.

Master has moved through the revoke and close seam since that measurement (#451,
#466, #468), so the PC half was re-asked rather than inherited. Two arms on
ClosingMemberRebalanceIT differing by exactly one term - a 20s sleep at the top of
BrokerPollSystem's doClose(), which holds a member not-polling and not-left, the defect shape
itself. Predictions written before each run:

  clean master   - predicted PASS - 5/5 pass, 35.4s, load average 5.1-7.1
  sabotaged      - predicted FAIL on the close bound - 5/5 fail,
                   "expected to be less than: 10.0 but was 20.009590667", load average 13.0

The sabotage arm is what makes the clean arm mean anything: every property this test asserts
already holds on master, so a green alone cannot say whether the test can see the failure - the
VOID-replay trap #485 recorded. The test's own javadoc records the same sabotage shape
under its Proven red block, and the register names it as the owner of what the test is calibrated
to detect; the rows here are an independent re-run on a later master answering a different
question - whether the PC-side story still holds now - and are not that result cited twice.

One finding that is new rather than a re-derivation: the sabotaged arm emits this section's own
signature line verbatim - ZOMBIE_MEMBER/REBALANCE_BLOCKED, dwelling in PreparingRebalance for 15s.
A PC-side hold produces it and so does a coordinator holding its join phase open with PC off the
critical path, so that line does not discriminate between the two stories, and a future sighting
has to be told apart by what the closing members' threads are in.

Deliberately not run: a local replay of the capacity profile. It reproduces at 0 in 22 on an M2
desktop against about 1 in 15 on the Linux runner, so a green here would have carried no
information, and the box was at load 5-14 throughout - a confound, not a control.

No product code changes. The vetted marker carries a PROPOSED close for the fifth item only, per
docs/inflight/AGENTS.md's owner gate for a stall-impact note, alongside #485's PROPOSED
close for the revoke-path deadlock line; the fourth item and #119 are untouched.

Co-authored-by: Claude Opus (1M context) <noreply@anthropic.com>
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