[
https://issues.apache.org/jira/browse/HBASE-7011?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13479612#comment-13479612
]
stack commented on HBASE-7011:
------------------------------
I like Todd's reasoning. Not sure that the original intent. It looks like
we've been writing special bytes on flush completion to the WAL since first
check in (See 'HADOOP-1045. Add contrib/hbase, a BigTable-like online
database.' Look in HLog#completeCacheFlush). It looks like the intent was
other than what Todd described going by comments at head of the class and the
described intent as never implemented. Grep CACHEFLUSH.
Your recounting of how things works now sounds good. You say the zombie RS
'should fail' when the dir is renamed under it. I haven't looked but if we
don't already, sounds like we should add a test that proves it.
Good on you Kannan.
> log rolling and cache flushing should be able to proceed in parallel
> --------------------------------------------------------------------
>
> Key: HBASE-7011
> URL: https://issues.apache.org/jira/browse/HBASE-7011
> Project: HBase
> Issue Type: Improvement
> Reporter: Kannan Muthukkaruppan
> Assignee: Kannan Muthukkaruppan
>
> Today, during a memstore flush (snapshot of memstore + flushing to disk), log
> rolling cannot happen. This seems like a bad design, and an unnecessary
> restriction.
> Possible reasons cited for this in code are:
> (i) maintenance of the lastSeqWritten map.
> (ii) writing a "completed-cache-flush" marker into the same log before the
> roll.
> It seems that we can implement a new design for (i) to avoid holding the lock
> for the entire duration of the flush. And the motivation for (ii) is not even
> clear. We should reason this out, and make sure we can relax the restriction.
> [See related discussion in HBASE-6980.]
--
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