[
https://issues.apache.org/jira/browse/HDFS-1597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12986770#action_12986770
]
Todd Lipcon commented on HDFS-1597:
-----------------------------------
Actually in trunk there's a second bug that affects this area of the code. As
of HDFS-119 {{syntxid}} is set in the {{finally}} block, even if the sync was
batched. So, in this case if there are two threads acting like "Thread A" in my
example, then the second one will actually fall past the batching check and
trigger the assertion later as well (or even lose edits!)
> Misplaced assertion in FSEditLog.logSync
> ----------------------------------------
>
> Key: HDFS-1597
> URL: https://issues.apache.org/jira/browse/HDFS-1597
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 0.22.0
> Reporter: Todd Lipcon
> Assignee: Todd Lipcon
> Priority: Critical
> Fix For: 0.22.0
>
> Attachments: illustrate-test-failure.txt
>
>
> The top of FSEditLog.logSync has the following assertion:
> {code}
> assert editStreams.size() > 0 : "no editlog streams";
> {code}
> which should actually come after checking to see if the sync was already
> batched in by another thread.
> Will describe the race in a comment.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.