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

Reply via email to