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/10/14 03:46:00 UTC
[jira] [Updated] (HDDS-16987) Intermittent failure in TestLeaseRecovery#testGetCommittedBlockLength*
[ https://issues.apache.org/jira/browse/HDDS-16987?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Siyao Meng updated HDDS-16987:
------------------------------
Status: Patch Available (was: Open)
> Intermittent failure in TestLeaseRecovery#testGetCommittedBlockLength*
> ----------------------------------------------------------------------
>
> Key: HDDS-16987
> URL: https://issues.apache.org/jira/browse/HDDS-16987
> Project: Apache Ozone
> Issue Type: Sub-task
> Components: test
> Reporter: Siyao Meng
> Assignee: Siyao Meng
> Priority: Major
>
> {{TestLeaseRecovery#testGetCommittedBlockLengthTimeout}} and {{#testGetCommittedBlockLengthWithException}} fail on the first run in almost every {{integration (flaky)}} job, and pass on the rerun. In the last 214 master runs (2026-09-20 to 2026-10-14), every job needed a rerun of {{TestLeaseRecovery}}:
> {code}
> TestLeaseRecovery.testGetCommittedBlockLengthTimeout(boolean)[1]
> closeIgnoringOMException:119 expected: <KEY_UNDER_LEASE_RECOVERY> but was: <KEY_NOT_FOUND>
> TestLeaseRecovery.testGetCommittedBlockLengthTimeout(boolean)[2]
> testGetCommittedBlockLengthTimeout:386 expected: <3> but was: <0>
> TestLeaseRecovery.testGetCommittedBlockLengthWithException
> testGetCommittedBlockLengthWithException:435 expected: <2> but was: <1>
> {code}
> {{closeLatestContainer()}} closes the last container returned by {{ContainerManager#getContainers}}, assuming it holds the block just written by the test. That only holds on a fresh cluster. After earlier test methods have run, SCM has several open containers across pipelines, and the block is often allocated to a different one. The test then closes an unrelated pipeline, the block's pipeline stays open, and lease recovery finalizes the block through {{FinalizeBlock}} instead of falling back to {{GetCommittedBlockLength}}, so the assertions on {{GetCommittedBlockLength}} fail. The rerun passes because it starts a new cluster and runs only the failed methods.
> Fix: close the container of the last block written by the test's output stream.
--
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