[
https://issues.apache.org/jira/browse/HBASE-2593?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12870167#action_12870167
]
Todd Lipcon commented on HBASE-2593:
------------------------------------
I disagree with the above - rename() does not increment generation stamps, it
simply updates the FS metadata. What it will do is prevent the original writer
from allocating additional blocks or performing pipeline recovery, since
further checkLease() calls with the old filename will fail. But normal
fs.write/fs.flush calls to the existing pipeline will continue to succeed.
In order to actually break the lease, the old writer needs to reach the HDFS
soft limit period (which is similar to the ZK timeout period)
> Race Between Log Splitting and Log Writing
> ------------------------------------------
>
> Key: HBASE-2593
> URL: https://issues.apache.org/jira/browse/HBASE-2593
> Project: Hadoop HBase
> Issue Type: Bug
> Components: master, regionserver
> Affects Versions: 0.21.0
> Reporter: Nicolas Spiegelberg
> Assignee: Nicolas Spiegelberg
> Priority: Critical
> Fix For: 0.21.0
>
>
> The current method for recovering the lease in HLog.splitLog() is flawed.
> Between the time that the regionserver is marked as dead and fs.append is
> issued, the regionserver could exit a GC pause and maintain the lease. In
> this case, fs.append() would continually fail. The master needs to not only
> recover the lease in splitLog but also break the lease so regionserver writes
> will no longer pass.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.