[
https://issues.apache.org/jira/browse/HDFS-7475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14240322#comment-14240322
]
Arpit Agarwal commented on HDFS-7475:
-------------------------------------
Hi Xiaoyu, I think {{countPendingLazyPersistTasks}} will be usually inaccurate
since its counting over multiple executors without any synchronization.
Perhaps the simplest fix is to just move the validation logic in
{{testLazyPersistBlocksAreSaved}} into a separate function and periodically
check all replicas are persisted either until success or test timeout.
> Make TestLazyPersistFiles#testLazyPersistBlocksAreSaved deterministic
> ----------------------------------------------------------------------
>
> Key: HDFS-7475
> URL: https://issues.apache.org/jira/browse/HDFS-7475
> Project: Hadoop HDFS
> Issue Type: Test
> Components: test
> Affects Versions: 2.6.0
> Reporter: Xiaoyu Yao
> Assignee: Xiaoyu Yao
> Attachments: HDFS-7475.0.patch
>
>
> TestLazyPersistFiles#testLazyPersistBlocksAreSaved verifies that the memory
> block is saved in lazy persist directory after some sleep with the following
> code.
> {code}
> // Sleep for a short time to allow the lazy writer thread to do its job
> Thread.sleep(6 * LAZY_WRITER_INTERVAL_SEC * 1000);
> {code}
> However, the sleep only guarantees an async lazy persist task is scheduled.
> The task running on a per volume thread pool thread can take longer to finish
> persisting. It will be more deterministic to wait the pending lazy persist
> task count reduce to 0 before verifying the block file exist in lazy persist
> dir.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)