You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by "gnodet (via GitHub)" <gi...@apache.org> on 2026/07/04 15:17:11 UTC
[PR] CAMEL-23900: Fix flaky RecipientListParallelStreamingTest [camel]
gnodet opened a new pull request, #24415:
URL: https://github.com/apache/camel/pull/24415
## Summary
_Claude Code on behalf of Guillaume Nodet_
Fix flaky `RecipientListParallelStreamingTest#testRecipientListParallel` that fails on both JDK 17 and JDK 25.
- **Split** the single test method into two isolated methods (`testRecipientListParallel` and `testRecipientListParallelStreaming`) to eliminate mock state contamination via `reset()`
- **Increase delay gaps** from 100ms/500ms to 500ms/2000ms so the completion ordering for the streaming case is deterministic even on busy CI systems (matching the pattern used in `MulticastParallelStreamingTest`)
- **Replace** `assertMockEndpointsSatisfied()` with Awaitility `await().untilAsserted()` per project testing guidelines
### Root cause
The streaming test relies on `direct:b` (previously 500ms delay) being the last recipient to complete so that `UseLatestAggregationStrategy` picks body `"b"`. With only a 400ms gap over `direct:a` (100ms delay), CI thread scheduling jitter could collapse the gap and produce the wrong aggregation result.
## Test plan
- [x] `RecipientListParallelStreamingTest` passes reliably (verified 5 consecutive runs)
- [ ] CI build passes
π€ Generated with [Claude Code](https://claude.com/claude-code)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] CAMEL-23900: Fix flaky RecipientListParallelStreamingTest [camel]
Posted by "Copilot (via GitHub)" <gi...@apache.org>.
Copilot commented on code in PR #24415:
URL: https://github.com/apache/camel/pull/24415#discussion_r3523482238
##########
core/camel-core/src/test/java/org/apache/camel/processor/RecipientListParallelStreamingTest.java:
##########
@@ -49,8 +56,8 @@ public void configure() {
from("direct:streaming").recipientList(header("foo")).parallelProcessing().streaming().to("mock:result");
- from("direct:a").delay(100).syncDelayed().transform(constant("a"));
- from("direct:b").delay(500).syncDelayed().transform(constant("b"));
+ from("direct:a").delay(500).syncDelayed().transform(constant("a"));
+ from("direct:b").delay(2000).syncDelayed().transform(constant("b"));
Review Comment:
With the delays increased to 500ms/2000ms to stabilize the streaming ordering, the non-streaming route now also pays that delay cost because it reuses the same `direct:a`/`direct:b` routes. To keep the test suite fast, consider adding non-delayed variants for the non-streaming test and reserving the delayed routes for the streaming scenario.
##########
core/camel-core/src/test/java/org/apache/camel/processor/RecipientListParallelStreamingTest.java:
##########
@@ -30,14 +34,17 @@ public void testRecipientListParallel() throws Exception {
template.sendBodyAndHeader("direct:start", "Hello World", "foo", "direct:a,direct:b,direct:c");
Review Comment:
The increased delays on `direct:a`/`direct:b` make this non-streaming test wait for the slowest recipient as well, which likely adds ~2s to the runtime even though ordering isnβt timing-dependent here. Consider using separate (non-delayed) endpoints for this test and keep the delayed ones only for the streaming case.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] CAMEL-23900: Fix flaky RecipientListParallelStreamingTest [camel]
Posted by "gnodet (via GitHub)" <gi...@apache.org>.
gnodet merged PR #24415:
URL: https://github.com/apache/camel/pull/24415
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] CAMEL-23900: Fix flaky RecipientListParallelStreamingTest [camel]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #24415:
URL: https://github.com/apache/camel/pull/24415#issuecomment-4882901825
<!-- ci-tested-modules -->
:test_tube: **CI tested the following changed modules:**
- `core/camel-core`
---
<details><summary>:microscope: Scalpel shadow comparison β Scalpel: 23 tested, 0 compile-only β current: 0 all tested</summary>
[Maveniverse Scalpel](https://github.com/maveniverse/scalpel) detected **23 affected modules** (current approach: 0).
<details><summary>:warning: Modules only in Scalpel (23)</summary>
- `camel-console`
- `camel-core`
- `camel-csimple-joor`
- `camel-datasonnet`
- `camel-groovy`
- `camel-hl7`
- `camel-javascript`
- `camel-joor`
- `camel-jq`
- `camel-jsonpath`
- `camel-main`
- `camel-management`
- `camel-mvel`
- `camel-ognl`
- `camel-platform-http-jolokia`
- `camel-python`
- `camel-saxon`
- `camel-spring-xml`
- `camel-stax`
- `camel-xml-io-dsl`
- `camel-xml-jaxb-dsl`
- `camel-xml-jaxb-dsl-test-definition`
- `camel-xml-jaxb-dsl-test-spring`
</details>
**Skip-tests mode would test 23 modules** (1 direct + 22 downstream), **skip tests for 0** (generated code, meta-modules)
<details><summary>Modules Scalpel would test (23)</summary>
- `camel-console`
- `camel-core`
- `camel-csimple-joor`
- `camel-datasonnet`
- `camel-groovy`
- `camel-hl7`
- `camel-javascript`
- `camel-joor`
- `camel-jq`
- `camel-jsonpath`
- `camel-main`
- `camel-management`
- `camel-mvel`
- `camel-ognl`
- `camel-platform-http-jolokia`
- `camel-python`
- `camel-saxon`
- `camel-spring-xml`
- `camel-stax`
- `camel-xml-io-dsl`
- `camel-xml-jaxb-dsl`
- `camel-xml-jaxb-dsl-test-definition`
- `camel-xml-jaxb-dsl-test-spring`
</details>
> :information_source: Shadow mode β Scalpel observes but does not affect test execution. [Learn more](https://github.com/maveniverse/scalpel)
</details>
:warning: **Some tests are disabled on GitHub Actions** (`@DisabledIfSystemProperty(named = "ci.env.name")`) and require manual verification:
- `core/camel-core`: 2 test(s) disabled on GitHub Actions
<details><summary>All tested modules (23 modules)</summary>
- Camel :: Console
- Camel :: Core
- Camel :: DataSonnet
- Camel :: Groovy
- Camel :: HL7
- Camel :: JQ
- Camel :: JSon Path
- Camel :: JavaScript
- Camel :: MVEL
- Camel :: Main
- Camel :: Management
- Camel :: OGNL (deprecated)
- Camel :: Platform HTTP :: Jolokia
- Camel :: Python
- Camel :: Saxon
- Camel :: Spring XML
- Camel :: StAX
- Camel :: XML DSL Jaxb :: Test :: Definition
- Camel :: XML DSL Jaxb :: Test :: Spring
- Camel :: XML DSL with camel-xml-io
- Camel :: XML DSL with camel-xml-jaxb
- Camel :: csimple jOOR (deprecated)
- Camel :: jOOR
</details>
---
:gear: [View full build and test results](https://github.com/apache/camel/actions/runs/28710541270)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
Re: [PR] CAMEL-23900: Fix flaky RecipientListParallelStreamingTest [camel]
Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #24415:
URL: https://github.com/apache/camel/pull/24415#issuecomment-4882683822
:star2: Thank you for your contribution to the Apache Camel project! :star2:
:robot: CI automation will test this PR automatically.
:camel: Apache Camel Committers, please review the following items:
* First-time contributors **require MANUAL approval** for the GitHub Actions to run
* You can use the command `/component-test (camel-)component-name1 (camel-)component-name2..` to request a test from the test bot although they are normally detected and executed by CI.
* You can label PRs using `skip-tests` and `test-dependents` to fine-tune the checks executed by this PR.
* Build and test logs are available in the summary page. **Only** [Apache Camel committers](https://camel.apache.org/community/team/#committers) have access to the summary.
:warning: Be careful when sharing logs. Review their contents before sharing them publicly.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@camel.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org