[ https://issues.apache.org/jira/browse/HDDS-347?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16581249#comment-16581249 ]
Hudson commented on HDDS-347: ----------------------------- SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #14775 (See [https://builds.apache.org/job/Hadoop-trunk-Commit/14775/]) HDDS-347. TestCloseContainerByPipeline#testCloseContainerViaStandaAlone (xyao: rev f2315f2e9c31879b8c30eb9028f1959dfe48e5f4) * (edit) hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/TestCloseContainerByPipeline.java > TestCloseContainerByPipeline#testCloseContainerViaStandaAlone sometimes fails > ----------------------------------------------------------------------------- > > Key: HDDS-347 > URL: https://issues.apache.org/jira/browse/HDDS-347 > Project: Hadoop Distributed Data Store > Issue Type: Bug > Reporter: LiXin Ge > Assignee: LiXin Ge > Priority: Major > Fix For: 0.2.1 > > Attachments: HDDS-347.000.patch, HDDS-347.001.patch > > > This issue was finded in the automatic JenKins unit test of HDDS-265. > The container life cycle state is : Open -> Closing -> closed, this test > submit the container close command and wait for container state change to > *not equal to open*, actually even when the state condition(not equal to > open) is satisfied, the container may still in process of closing, so the LOG > which will printf after the container closed can't be find sometimes and the > test fails. > {code:java|title=KeyValueContainer.java|borderStyle=solid} > try { > writeLock(); > containerData.closeContainer(); > File containerFile = getContainerFile(); > // update the new container data to .container File > updateContainerFile(containerFile); > } catch (StorageContainerException ex) { > {code} > Looking at the code above, the container state changes from CLOSING to CLOSED > in the first step, the remaining *updateContainerFile* may take hundreds of > milliseconds, so even we modify the test logic to wait for the *CLOSED* state > will not guarantee the test success, too. > These are two way to fix this: > 1, Remove one of the double check which depends on the LOG. > 2, If we have to preserve the double check, we should wait for the *CLOSED* > state and sleep for a while to wait for the LOG appears. > patch 000 is based on the second way. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org