HBASE-663 Incorrect sequence number for cache flush

git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@662865 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Jim Kellerman 2008-06-03 19:27:30 +00:00
parent eb13bf8b42
commit 2a543ce103
2 changed files with 4 additions and 2 deletions

View File

@ -35,6 +35,7 @@ Hbase Change Log
HBASE-650 Add String versions of get, scanner, put in HTable HBASE-650 Add String versions of get, scanner, put in HTable
HBASE-656 Do not retry exceptions such as unknown scanner or illegal argument HBASE-656 Do not retry exceptions such as unknown scanner or illegal argument
HBASE-659 HLog#cacheFlushLock not cleared; hangs a region HBASE-659 HLog#cacheFlushLock not cleared; hangs a region
HBASE-663 Incorrect sequence number for cache flush
IMPROVEMENTS IMPROVEMENTS
HBASE-559 MR example job to count table rows HBASE-559 MR example job to count table rows

View File

@ -980,15 +980,16 @@ public class HRegion implements HConstants {
// to do this for a moment. Its quick. The subsequent sequence id that // to do this for a moment. Its quick. The subsequent sequence id that
// goes into the HLog after we've flushed all these snapshots also goes // goes into the HLog after we've flushed all these snapshots also goes
// into the info file that sits beside the flushed files. // into the info file that sits beside the flushed files.
long sequenceId = -1L;
this.updatesLock.writeLock().lock(); this.updatesLock.writeLock().lock();
try { try {
for (HStore s: stores.values()) { for (HStore s: stores.values()) {
s.snapshot(); s.snapshot();
} }
sequenceId = log.startCacheFlush();
} finally { } finally {
this.updatesLock.writeLock().unlock(); this.updatesLock.writeLock().unlock();
} }
long sequenceId = log.startCacheFlush();
// Any failure from here on out will be catastrophic requiring server // Any failure from here on out will be catastrophic requiring server
// restart so hlog content can be replayed and put back into the memcache. // restart so hlog content can be replayed and put back into the memcache.