Repository navigation
Conversation
Introduce bounded keyed admission and versioned state notifications with deterministic concurrency tests and explicit caller ownership contracts. Signed-off-by: Andre Kurait <AndreKurait@gmail.com>
5 tasks done
AndreKurait
marked this pull request as ready for review
October 25, 2026 20:54
[Low impact] The PR appears safe to merge; the previous finding is fixed and no new issues were found.
|
Await each submitted producer future before asserting queue convergence so producer exceptions cannot silently reduce the workload. Signed-off-by: Andre Kurait <AndreKurait@gmail.com>
pgermosen
approved these changes
Oct 25, 2026
pgermosen
left a comment
Member
There was a problem hiding this comment.
@AndreKurait thanks, this holds up. A key stays in pending while it runs, so no second worker picks it up, and a notification during the pass puts it back at the tail. VersionedSignal has the caller read the version before the state, so a signal in between isn't lost.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add two internal JDK coordination primitives for the separately retained service notification changes.
KeyedWorkQueuebounds active workers and retained keys, coalesces duplicate notifications, prevents same-key overlap and returns dirty keys to the queue tail.VersionedSignalpreserves notifications between an authoritative state read and waiting.This foundation changes no service scheduling by itself. Callers retain responsibility for account/region identity, authoritative state, periodic recovery, cancellation and resource draining. Callbacks execute outside the admission monitor. The concurrency guide documents these contracts and is linked from MkDocs.
Type of change
refactor:) supporting bounded background workValidation
10 focused Java 25 cases passed with zero failures, errors or skips across
KeyedWorkQueueTestandVersionedSignalTestat tree31a480c79650c11d46f2db0490d2597ea6411a72. Packaging and cached offline Checkstyle passed in that qualification; the online Checkstyle attempt was stopped after a remote metadata certificate failure.Before publication on main
857d312a45419372327c116ea41ef4980abca518, all six feature files, the concurrency source/test directories and Checkstyle configuration were compared with that qualification and remain identical. The only POM delta is an unrelated test-scoped Global Accelerator SDK dependency using the existing SDK version. Docs, partition and diff gates passed again at treeafd1b6b599ddec9db7b6783bf431590e88ec9871. This is source-equivalence evidence, not another test execution.No new dependency, endpoint, wire format, storage or configuration behavior is introduced. Dependent service runtime validation, benchmarks, AWS, Docker, native and full-suite qualification are outside this foundation's evidence.
Checklist
./mvnw testpasses locally (focused selection above passed; full suite not run)Before ready promotion, the complete patch replayed cleanly onto main
7c9c8ee3981326be4356634567a1681f23890561as treebab9320d2b6b5b45d10f77959f1456e8267e80ae. All six feature files, POM, test configuration, Maven configuration and Checkstyle files are identical to the qualified draft. Current Jackson PRs #6555 and #6481 have no changed-file overlap. No tests were repeated for this source-equivalent promotion.Review follow-up: the stress test now awaits every producer future so task exceptions cannot hide a partial workload. Both concurrency classes passed again (10 cases, zero failures/errors/skips), with Checkstyle passing at tree
8ddeae8e96579571075880813aa5c10fdbbb9a28. Production sources are unchanged.