[
https://issues.apache.org/jira/browse/HBASE-9420?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13774801#comment-13774801
]
Himanshu Vashishtha commented on HBASE-9420:
--------------------------------------------
Yeah, it is a CAS in a multithreaded environment here. Synchronizing on
flushLock rather than on updateLock would be better as the later is being used
by other ops, and syncer may block on this call. Anyway, it hurts to add this
synchronization in normal flow.
> Math.max() on syncedTillHere lacks synchronization
> --------------------------------------------------
>
> Key: HBASE-9420
> URL: https://issues.apache.org/jira/browse/HBASE-9420
> Project: HBase
> Issue Type: Bug
> Reporter: Ted Yu
> Assignee: Ted Yu
> Fix For: 0.98.0
>
> Attachments: 9420-v1.txt
>
>
> In FSHlog#syncer(), around line 1080:
> {code}
> this.syncedTillHere = Math.max(this.syncedTillHere, doneUpto);
> {code}
> Assignment to syncedTillHere after computing max value is not protected by
> proper synchronization.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira