[
https://issues.apache.org/jira/browse/HDDS-17516?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated HDDS-17516:
----------------------------------
Labels: pull-request-available (was: )
> Intermittent failure in TestReconAndAdminContainerCLI#testMissingContainer:
> Recon has not picked up new container
> -----------------------------------------------------------------------------------------------------------------
>
> Key: HDDS-17516
> URL: https://issues.apache.org/jira/browse/HDDS-17516
> Project: Apache Ozone
> Issue Type: Sub-task
> Components: Ozone Recon, test
> Reporter: Siyao Meng
> Assignee: Siyao Meng
> Priority: Major
> Labels: pull-request-available
>
> {code}
> Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 31.49 s <<<
> FAILURE! -- in org.apache.hadoop.ozone.recon.TestReconAndAdminContainerCLI
> org.apache.hadoop.ozone.recon.TestReconAndAdminContainerCLI.testMissingContainer
> -- Time elapsed: 0.058 s <<< FAILURE!
> org.opentest4j.AssertionFailedError: expected: <[ContainerInfo{id=#1,
> state=OPEN, ...}, ContainerInfo{id=#2, state=OPEN,
> stateEnterTime=2026-10-28T05:05:13.980Z, ...}]> but was:
> <[ContainerInfo{id=#1, state=OPEN, ...}]>
> at org.junit.jupiter.api.Assertions.assertEquals(Assertions.java:1145)
> at
> org.apache.hadoop.ozone.recon.TestReconAndAdminContainerCLI.setupRatisKey(TestReconAndAdminContainerCLI.java:414)
> at
> org.apache.hadoop.ozone.recon.TestReconAndAdminContainerCLI.testMissingContainer(TestReconAndAdminContainerCLI.java:203)
> {code}
> h3. Root cause
> {{setupRatisKey}} writes a key and then immediately asserts that Recon's
> container list equals SCM's. SCM knows the new container as soon as it
> allocates it, but Recon only learns about it from the datanode container
> report sent with a Recon heartbeat. Since HDDS-17314 the datanode heartbeats
> Recon on its own interval ({{hdds.heartbeat.recon.interval}}, 1s in this
> test), so a triggered heartbeat right after the container is created can skip
> Recon, and the report arrives up to about a second later. In the failing run
> container #2 was allocated about 50ms before the assertion.
> h3. Fix
> Wait for Recon's container list to match SCM's instead of asserting it once.
> - https://github.com/apache/ozone/actions/runs/40633118285/job/122637731111
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]