[
https://issues.apache.org/jira/browse/HDFS-7475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14238153#comment-14238153
]
Xiaoyu Yao commented on HDFS-7475:
----------------------------------
Thanks [~wheat9] for reviewing the patch. Agree that using
ThreadPoolExecutor.shutdown() and awaitTermination() will be simpler. I had
another patch ready by slightly modifying existing
RamDiskAsyncLazyPersistService#shutdown(). The current patch is preferred
because it is more flexible for test cases that need repetitive file
create/write and verification, where we don't want to completely stop the async
lazy persist thread pools for the volumes in the middle of the test.
> 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)