/[Apache-SVN]
ViewVC logotype

Revision 650298


Jump to revision: Previous Next
Author: stack
Date: Mon Apr 21 22:19:30 2008 UTC (16 years, 6 months ago)
Changed paths: 12
Log Message:
HBASE-586 HRegion runs HStore memcache snapshotting -- fix it so only HStore
knows about workings of memcache

HStore knows about workings of memcache

This patch moves the running of mecache snapshots out of the control
of HRegion and hides the memcache details in HStore.   This patch also
does a bunch of work on the merge tool fixing a bug in the metautils along
the way.  The merge tool test was failing.  We weren't setting into the
HLog the maximum sequence id after we'd opened a region -- as HRS does --
so were losing edits. On the way, refactored the merge tool test to get
rid of duplicated code.  Finally, cleans up logging in HStore to aid
debugging; e.g. we always refer to the sequence id as the 'sequence id'
in log messages rather than as seqId or 'sequence record' so can sort
log as see state of sequence id transitions.

Version 2 changes the order in which things are run in memcache.  532
made it so flushing did snapshot and then cleared the snapshot.  Now,
we snapshot before we flush a store, then inside in the store flush,
we call getSnapshot and then clearSnapshot.

M  src/test/org/apache/hadoop/hbase/regionserver/TestHMemcache.java
  How snapshotting changed.  Change test in accordance.
M  src/test/org/apache/hadoop/hbase/regionserver/TestHLog.java
  Use accessor to get file number.
M  src/test/org/apache/hadoop/hbase/util/TestMergeTool.java
  Refactored to remove duplicated code so could tell what was going on.
  (mergeAndVerify, verifyMerge): Addd.
M  src/java/org/apache/hadoop/hbase/regionserver/Memcache.java
  (snapshot): Changed so it no longer returns snapshot.
M  src/java/org/apache/hadoop/hbase/regionserver/HStore.java
  Changed log messages removing the useless and adding info to others.
  (this.maxSeqId): We used to add 1 to this in here in HStore.  Let
  HRegion do it.  Its the one that does the machinations w/ sequenceids
  anyways.  Make flushes return the amount flushed.  Use this updating
  the regions memcacheSize accounting.
  (snapshot): Added method for the region to call.
M  src/java/org/apache/hadoop/hbase/regionserver/HLog.java
  Made data members private.
  (getFileNum): Added accessor for tests.
M  src/java/org/apache/hadoop/hbase/regionserver/HRegion.java
  Added info to logs..
  (snapshotMemcaches): removed.
  (internalFlushcache): No longer takes startime.  Internally now does
  some of what used happen in snapshotMemcaches including sending of
  message to stores to snapshot.
  (getEntrySize): Added method for calculating size of an update. Used
  by HRegion and flushing so both come up w/ same answer.
M  src/java/org/apache/hadoop/hbase/util/Merge.java
  Add logging of whats happening during merges and fail earlier than we
  used if stuff is not right.
  Renamed local variables from region1 to r1, etc., so didn't clash
  with data members of same name.
M  src/java/org/apache/hadoop/hbase/util/MetaUtils.java
  Added a TODO



Changed paths

Path Details
Directoryhadoop/hbase/trunk/CHANGES.txt modified , text changed
Directoryhadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HLog.java modified , text changed
Directoryhadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java modified , text changed
Directoryhadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HStore.java modified , text changed
Directoryhadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HStoreFile.java modified , text changed
Directoryhadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/Memcache.java modified , text changed
Directoryhadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/FSUtils.java modified , text changed
Directoryhadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/Merge.java modified , text changed
Directoryhadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/MetaUtils.java modified , text changed
Directoryhadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/regionserver/TestHLog.java modified , text changed
Directoryhadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/regionserver/TestHMemcache.java modified , text changed
Directoryhadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/util/TestMergeTool.java modified , text changed

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26