hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nicolas Spiegelberg (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (HBASE-2593) Race Between Log Splitting and Log Writing
Date Fri, 21 May 2010 22:08:16 GMT

     [ https://issues.apache.org/jira/browse/HBASE-2593?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Nicolas Spiegelberg resolved HBASE-2593.

    Resolution: Duplicate


tlipcon: you can't append after you rename, cuz the lease follows through the rename
[2:40pm] tlipcon: it still holds the lease
[2:40pm] tlipcon:       changeLease(src, dst, dinfo);    // update lease with new filename
nspiegelberg: hmm.  I think [we were] of the opinion that this caused a kill lease rpc.  looks
like that's wrong
[2:46pm] nspiegelberg: or rather, that the rename didn't persist the lease and append would
then cause a kill lease
tlipcon: I think most importantly, it means that on a restart or lease expiry, the NN side
will have the correct record to find that thing in the directory and finalize it, etc
[2:52pm] nspiegelberg: I think that was [the] intention.  Hlog.new = no new files, rename()
= no new block, append() = wait for RS to give up
tlipcon: nspiegelberg: what was proposed before was: list files, find last file, open for
append. when that succeeds, list again, see if there any new ones
tlipcon: (this relies on writer not closing the prior file until the next one has been created)
tlipcon: but I think we should collapse the two tickets - seems like the same fix will fix
all the problems
nspiegelberg: I think they're solving the same problem.  Just trying to think if we can make
an active lease takeover vs current passive approaches
[3:02pm] tlipcon: nspiegelberg: yea, I don't know that there is any active lease takeover
opportunity really

> 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.

View raw message