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-656 Do not retry exceptions such as unknown scanner or illegal argument
HBASE-659 HLog#cacheFlushLock not cleared; hangs a region
HBASE-663 Incorrect sequence number for cache flush
IMPROVEMENTS
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
// goes into the HLog after we've flushed all these snapshots also goes
// into the info file that sits beside the flushed files.
long sequenceId = -1L;
this.updatesLock.writeLock().lock();
try {
for (HStore s: stores.values()) {
s.snapshot();
}
sequenceId = log.startCacheFlush();
} finally {
this.updatesLock.writeLock().unlock();
}
long sequenceId = log.startCacheFlush();
// Any failure from here on out will be catastrophic requiring server
// restart so hlog content can be replayed and put back into the memcache.