hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ted Yu (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-7329) remove flush-related records from WAL and make locking more granular
Date Sun, 20 Jan 2013 07:36:16 GMT

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

Ted Yu updated HBASE-7329:

    Release Note: 
memstore flush WAL record is removed.
Previously, there existed cacheFlushLock which was used for 4 distinct purposes:
1) Make sure the WAL record for memstore flush ends up in the same WAL that was active when
the flush started. In other words, log rolling is prevented during memstore flush.
2) Make sure only one log rolling operation happens at a time.
3) Control access to "lastSeqWritten" map for any operation that is not covered by SynchronizedMap.
4) Make sure that close() waits for all the flushes and rolls, by virtue of doing work under
this lock and setting .closed = true for potential future callers.
Nothing prevented startCacheFlush from proceeding after close is done, since it doesn't perform
the check of closed.
cacheFlushLock was replaced by more granular/appropriate locking:
1) No longer needed/relevant, in fact there's HBASE-7011 to get rid of this too.
2) rollWriter is made "synchronized".
3) Control of the map is under its own small-scope lock.
4) Added a simple barrier class to be able to block close on outstanding operations, and drain
existing ones.

> remove flush-related records from WAL and make locking more granular
> --------------------------------------------------------------------
>                 Key: HBASE-7329
>                 URL: https://issues.apache.org/jira/browse/HBASE-7329
>             Project: HBase
>          Issue Type: Improvement
>          Components: wal
>    Affects Versions: 0.96.0
>            Reporter: Sergey Shelukhin
>            Assignee: Sergey Shelukhin
>             Fix For: 0.96.0
>         Attachments: 7329-findbugs.diff, HBASE-7329-v0.patch, HBASE-7329-v0.patch, HBASE-7329-v0-tmp.patch,
HBASE-7329-v1.patch, HBASE-7329-v1.patch, HBASE-7329-v2.patch, HBASE-7329-v3.patch, HBASE-7329-v4.patch,
> Comments from many people in HBASE-6466 and HBASE-6980 indicate that flush records in
WAL are not useful. If so, they should be removed.

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

View raw message