CAMEL-24024: Improve reliability of InOutQueueProducerAsyncLoadTest#24629
Open
gbhavya07 wants to merge 1 commit into
Open
CAMEL-24024: Improve reliability of InOutQueueProducerAsyncLoadTest#24629gbhavya07 wants to merge 1 commit into
gbhavya07 wants to merge 1 commit into
Conversation
gnodet
approved these changes
Jul 12, 2026
gnodet
left a comment
Contributor
There was a problem hiding this comment.
Good fix — the changes are well-reasoned and the test improvements are solid:
- Message count 5000→500: Sufficient to validate async InOut behavior without overwhelming CI
- CountDownLatch: Precise completion tracking instead of Awaitility polling on
executor.isTerminated() - AtomicInteger failure tracking: Previously failures inside executor threads were silently swallowed — now they're caught and asserted
- Lambda modernization and
MESSAGE_COUNTconstant: Clean readability improvements
Note: This PR overlaps with PR #24626 (gnodet, CAMEL-24027) which makes the same fix to the same test. The changes are nearly identical — only one should be merged. This PR uses 30s for both timeouts and a named constant for the message count; PR #24626 uses 60s for the latch and 10s for termination. Either approach works; the maintainer should pick one and close the other.
LGTM ✅
Claude Code review on behalf of @gnodet
Contributor
|
there is a merge conflict now |
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.
Description
This PR addresses CAMEL-24024 by improving the reliability of
InOutQueueProducerAsyncLoadTest, which was reported as flaky in CI due to high load and timeout-based synchronization.Previously, the test submitted 5000 asynchronous requests using a 2-thread executor and relied on Awaitility to wait for executor termination. Under resource-constrained CI environments, the large workload could exceed the 30-second timeout, resulting in intermittent failures.
To make the test more deterministic while preserving its intent, this change:
CountDownLatchto reliably track completion of all submitted tasks.AtomicIntegerto track asynchronous request failures and verifies that all requests complete successfully.These changes preserve the purpose of the test while reducing its susceptibility to CI timing and resource constraints.
Target
mainbranch)Tracking
Apache Camel coding standards and style
I checked that each commit in the pull request has a meaningful subject line and body.
I have run
mvn clean install -DskipTestslocally from root folder and I have committed all auto-generated changes.I ran mvn clean install -DskipTests from the project root. The build reached camel-kserve and failed due to an unrelated protobuf-maven-plugin/protoc generation error. The modified camel-sjms module builds successfully.
AI-assisted contributions
Co-authored-bytrailers) and the PR description identifies the AI tool used.