hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Colin Patrick McCabe (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-10267) Extra "synchronized" on FsDatasetImpl#recoverAppend and FsDatasetImpl#recoverClose
Date Wed, 06 Apr 2016 21:57:25 GMT

    [ https://issues.apache.org/jira/browse/HDFS-10267?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15229216#comment-15229216

Colin Patrick McCabe commented on HDFS-10267:

* Refactor {{testStopWorker}} so that it accepts (essentially) a function pointer as an argument.
 This avoids the need to have clunky if statements in {{testStopWorker}}.

* There are now three tests: {{testInitReplicaRecoveryDoesNotHoldLock}}, {{testRecoverAppendDoesNotHoldLock}},
and {{testRecoverCloseDoesNotHoldLock}}.  Previously we were combining the test of {{initReplicaRecovery}}
with testing other functions, which was awkward.

* Check that the {{stopWriter}} thread has attempted to stop the writer before proceeding
in the main thread.  This makes test failures reproducible when the bad synchronization is
present.  Previously, the test could randomly succeed even when there were bugs, due to a
race condition.

* Add a timeout to our calls to {{Semaphore#acquire}}, so that junit's test timeout logic
works as intended.

> Extra "synchronized" on FsDatasetImpl#recoverAppend and FsDatasetImpl#recoverClose
> ----------------------------------------------------------------------------------
>                 Key: HDFS-10267
>                 URL: https://issues.apache.org/jira/browse/HDFS-10267
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: datanode
>    Affects Versions: 2.8.0
>            Reporter: Colin Patrick McCabe
>            Assignee: Colin Patrick McCabe
>         Attachments: HDFS-10267.001.patch, HDFS-10267.002.patch, HDFS-10267.003.patch
> There is an extra "synchronized" on FsDatasetImpl#recoverAppend and FsDatasetImpl#recoverClose
that prevents the HDFS-8496 fix from working as intended.  This should be removed.

This message was sent by Atlassian JIRA

View raw message