You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "Siyao Meng (Jira)" <ji...@apache.org> on 2026/08/11 09:09:00 UTC

[jira] [Updated] (HDDS-16131) Intermittent failure in TestBlockDeletingService#testBlockDeletionMetricsUpdatedProperlyAfterEachExecution

     [ https://issues.apache.org/jira/browse/HDDS-16131?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Siyao Meng updated HDDS-16131:
------------------------------
    Attachment: HDDS-16131.001.patch

> Intermittent failure in TestBlockDeletingService#testBlockDeletionMetricsUpdatedProperlyAfterEachExecution
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: HDDS-16131
>                 URL: https://issues.apache.org/jira/browse/HDDS-16131
>             Project: Apache Ozone
>          Issue Type: Sub-task
>          Components: test
>            Reporter: Siyao Meng
>            Priority: Major
>         Attachments: HDDS-16131.001.patch
>
>
> {code}
> [ERROR] Tests run: 72, Failures: 0, Errors: 1, Skipped: 4, Time elapsed: 25.55 s <<< FAILURE! -- in org.apache.hadoop.ozone.container.common.TestBlockDeletingService
> [ERROR] org.apache.hadoop.ozone.container.common.TestBlockDeletingService.testBlockDeletionMetricsUpdatedProperlyAfterEachExecution(ContainerTestVersionInfo)[5] -- Time elapsed: 0.686 s <<< ERROR!
> java.lang.IllegalArgumentException: refCount: [1]
> 	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:206)
> 	at org.apache.hadoop.ozone.container.common.utils.ContainerCache.shutdownCache(ContainerCache.java:94)
> 	at org.apache.hadoop.ozone.container.keyvalue.helpers.BlockUtils.shutdownCache(BlockUtils.java:170)
> 	at org.apache.hadoop.ozone.container.common.TestBlockDeletingService.cleanup(TestBlockDeletingService.java:153)
> {code}
> The error is thrown from the {{@AfterEach cleanup()}}, not the test body. {{testBlockDeletionMetricsUpdatedProperlyAfterEachExecution}} is the only service-starting test in the class that never calls {{svc.shutdown()}}. The block-deleting run is asynchronous, so when {{deleteAndWait(svc, 3)}} returns the last {{BlockDeletingTask}} may still be executing and holding a container DB reference ({{refCount == 1}}). {{cleanup()}} then calls {{BlockUtils.shutdownCache()}}, whose {{ContainerCache.shutdownCache()}} asserts every handle has {{refCount == 0}}. Timing-dependent, so it fails intermittently under CI load. Adding {{svc.shutdown()}} in a {{finally}} (as the other tests here already do) awaits executor termination and makes teardown deterministic.
> Seen in:
>  - https://github.com/adoroszlai/ozone-build-results/blob/master/2026/08/05/51982/integration-container/hadoop-hdds/container-service/org.apache.hadoop.ozone.container.common.TestBlockDeletingService.txt



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org