[ 
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]

Reply via email to