Commit Graph

9531 Commits

Author SHA1 Message Date
Michael Stack cecc9e99ff HBASE-581 Allow adding filters to TableInputFormat (At same time, ensure TIF is subclassable)
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@651368 13f79535-47bb-0310-9956-ffa450edef68
2008-04-24 19:48:32 +00:00
Michael Stack fb2db8cdaa HBASE-588 Still a 'hole' in scanners, even after HBASE-532
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@651018 13f79535-47bb-0310-9956-ffa450edef68
2008-04-23 19:22:15 +00:00
Michael Stack e1da900df8 HBASE-588 Still a 'hole' in scanners, even after HBASE-532
Add a ChangedReadersObserver interface.  HStore notifies registered
observers when list of HStoreFile Readers changes -- at flush time
and at compaction time.  Scanners are only current observers.

Also fix a deadlock flushing by changing lock types and moving flush
request out from under lock.

M  src/test/org/apache/hadoop/hbase/MultiRegionTable.java
    (getCacheFlushListern): Renamed as getFlushRequester
M  src/java/org/apache/hadoop/hbase/regionserver/HStore.java
    Added synchronizations on this.storefiles.
    (activeScanners, newScannerLock): Removed.  We no longer try to
    block out scanners when compacting (Turns out same functionality
    for blocking scanners is up in HRegion used around closing/split).
    (changedReadersObservers): Added.
    (updateReaders): New method that manages the insertion of new
    reader on flush.  Also calls new notifyChangedReadersObservers.
    (notifyChagnedReadersObservers, addChangedReadersObserver,
      deleteChangedReadersObservers): Added.
    (completeCompaction): Previous deleting old store files, we'd
    remove from this.storefiles and delete all in one step; now we
    do the remove first, notify all observers of readers, and then
    do the delete so observers have a chance to clean up any old
    references to files about to be deleted.  Removed all the lockout
    of new scanner creation and wait on old scanners to come int.
    (updateActiveScanners): Removed.
    (getStorefiles): Accessor.  Added.
M  src/java/org/apache/hadoop/hbase/regionserver/StoreFileScanner.java
    Added implementation of new ChangedReadersObserver interface.
    Added a lock that we hold when 'nexting' and when changing the
    set of readers out from under the scanner.
    Changed the constructor moving bulk into new openReaders method
    that we reuse when list of Readers changes.
    (next): Moved head of this method into new getNextViableRow (used
    to be called chosenRow and chosenTimestamp).  New method returns
    simple datastructure of row and timestamp (ViableRow).
    (close): On close, remove ourselves as ChangedReadersObserver (we
    added ourselves in the constructor).
    (updateReaders): Changed the set of Readers out from under the
    Scanner.
A  src/java/org/apache/hadoop/hbase/regionserver/ChangedReadersObserver.java
    Added.
M  src/java/org/apache/hadoop/hbase/regionserver/Flusher.java
    Changed name of the interface we implement from CacheFlushListener to
    FlushRequester.
D  src/java/org/apache/hadoop/hbase/regionserver/CacheFlushListener.java
    Renamed as FlushRequester.
M  src/java/org/apache/hadoop/hbase/regionserver/HStoreScanner.java
    Remove update of activeScanners.
A  src/java/org/apache/hadoop/hbase/regionserver/FlushRequester.java
    Added.  Rename of CacheFlushListener.
M  src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
    Renamed method getCacheFlushListener as getFlushRequester.
M src/java/org/apache/hadoop/hbase/regionserver/HAbstractScanner.java
    Formatting.
M  src/java/org/apache/hadoop/hbase/regionserver/HRegion.java
    CacheFlushListener was renamed as FlushListener.


git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@651017 13f79535-47bb-0310-9956-ffa450edef68
2008-04-23 19:21:26 +00:00
Jim Kellerman 3607d3e0db HBASE-584 Names in the filter interface are confusing (Clint Morgan via Jim Kellerman) (API change for filters)
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@650711 13f79535-47bb-0310-9956-ffa450edef68
2008-04-23 01:03:38 +00:00
Michael Stack 2bf301a4df HBASE-596 DemoClient.py
Added licenses to examples along w/ committing new Python example.


git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@650333 13f79535-47bb-0310-9956-ffa450edef68
2008-04-22 00:39:02 +00:00
Michael Stack cffa3a254e 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



git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@650298 13f79535-47bb-0310-9956-ffa450edef68
2008-04-21 22:19:30 +00:00
Michael Stack e411d3c61f HBASE-595 RowFilterInterface.rowProcessed() is called *before* fhe final
filtering decision is made


git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@650202 13f79535-47bb-0310-9956-ffa450edef68
2008-04-21 16:46:31 +00:00
Michael Stack 66e545adf0 HBASE-598 Loggging, no .log file; all goes into .out
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@649938 13f79535-47bb-0310-9956-ffa450edef68
2008-04-20 15:40:07 +00:00
Michael Stack e31af6a288 HBASE-598 Loggging, no .log file; all goes into .out
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@649937 13f79535-47bb-0310-9956-ffa450edef68
2008-04-20 15:32:29 +00:00
Jim Kellerman 628124f7ed HBASE-590 HBase migration tool does not get correct FileSystem or root directory if configuration is not correct.
Commit change to trunk.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@649668 13f79535-47bb-0310-9956-ffa450edef68
2008-04-18 19:47:21 +00:00
Jim Kellerman 5af9719de3 HBASE-10 HRegionServer hangs upon exit due to DFSClient Exception
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@649373 13f79535-47bb-0310-9956-ffa450edef68
2008-04-18 05:32:23 +00:00
Michael Stack ef5bb6f316 HBASE-532 Odd interaction between HRegion.get, HRegion.deleteAll and compactions
Found an issue in the 532 commit.  The MemcacheScanner had a flipped isWildcardScanner
test; fixing it returned wrong columns because using okCols rather than the literals
passed in.


git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@648912 13f79535-47bb-0310-9956-ffa450edef68
2008-04-17 01:01:50 +00:00
Michael Stack 373761483f HBASE-532 Odd interaction between HRegion.get, HRegion.deleteAll and compactions
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@648850 13f79535-47bb-0310-9956-ffa450edef68
2008-04-16 21:07:32 +00:00
Michael Stack dbd74f2f9a Add note that we bundle junit
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@648816 13f79535-47bb-0310-9956-ffa450edef68
2008-04-16 19:46:21 +00:00
Michael Stack 961597af2a Add LICENSE for junit.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@648814 13f79535-47bb-0310-9956-ffa450edef68
2008-04-16 19:44:37 +00:00
Michael Stack 9ad3122021 HBASE-582 HBase 554 forgot to clear results on each iteration caused by a filter
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@648798 13f79535-47bb-0310-9956-ffa450edef68
2008-04-16 19:23:41 +00:00
Michael Stack ebbdb04cc9 Add to 'getting started' note about hbase being file handles hog.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@648746 13f79535-47bb-0310-9956-ffa450edef68
2008-04-16 16:45:00 +00:00
Jim Kellerman baa84cb4a1 HBASE-575 master dies with stack overflow error if rootdir isn't qualified
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@648427 13f79535-47bb-0310-9956-ffa450edef68
2008-04-15 21:45:28 +00:00
Michael Stack 863ac0c605 HBASE-559 MR example job to count table rows
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@648422 13f79535-47bb-0310-9956-ffa450edef68
2008-04-15 21:39:20 +00:00
Michael Stack 82901024c9 HBASE-12 when hbase regionserver restarts, it says "impossible state for createLease()"
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@648110 13f79535-47bb-0310-9956-ffa450edef68
2008-04-15 03:36:39 +00:00
Jim Kellerman 9a80650d97 HBASE-11 Unexpected exits corrupt DFS
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@648030 13f79535-47bb-0310-9956-ffa450edef68
2008-04-14 22:07:11 +00:00
Michael Stack 73f126dbe9 HBASE-573 HBase does not read hadoop-*.xml for dfs configuration after moving out hadoop/contrib
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@647989 13f79535-47bb-0310-9956-ffa450edef68
2008-04-14 20:33:03 +00:00
Jim Kellerman bc4b9b2c1c Update CHANGES.txt - bug fix was listed in wrong section
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@647963 13f79535-47bb-0310-9956-ffa450edef68
2008-04-14 19:36:44 +00:00
Michael Stack 1475f271cf HBASE-574 HBase does not load hadoop native libs
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@647959 13f79535-47bb-0310-9956-ffa450edef68
2008-04-14 19:34:11 +00:00
Jim Kellerman 278bd7e772 NPE getting scanner
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@647953 13f79535-47bb-0310-9956-ffa450edef68
2008-04-14 19:27:17 +00:00
Bryan Duxbury fd202765c9 HBASE-523 package-level javadoc should have example client
-updated docs

git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@646105 13f79535-47bb-0310-9956-ffa450edef68
2008-04-08 22:22:45 +00:00
Bryan Duxbury efce1b3d09 HBASE-521 Improve client scanner interface
-Removed HScannerInterface and HInternalScannerInterface
-Created new interfaces Scanner for clients and InternalScanner for internal consumers
-Internal and client scanners no longer share common interface
-Client scanner's next() method and iterables are in RowResults
-Updated tests and internal consumers to use Scanner in place of HScannerInterface
-HTable obtainScanner(*) are now renamed getScanner(*)
-Tests have ScannerIncommon to turn Scanners into InternalScanners for some tests
-Fixed a bug in HMaster that was eating TableExistsExceptions (unrelated)
-Updated TableInputFormat to provide RowResults instead of MapWritables
-Updated TableOutputFormat to take BatchUpdates instead of MapWritables
-Updated TableMap, TableReduce, and friends to correctly hook up to new input/output formats

HBASE-567   Reused BatchUpdate instances accumulate BatchOperations
- Fix to BatchUpdate that allows correct reuse of BatchUpdate instances (readFields didn't clear BatchOperation map)
- Update TestSerialization to prove above is fixed


git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@646104 13f79535-47bb-0310-9956-ffa450edef68
2008-04-08 22:17:51 +00:00
Jim Kellerman 53563c5586 HBASE-554 filters generate StackOverflowException - fix typo other commit went to 544
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@646033 13f79535-47bb-0310-9956-ffa450edef68
2008-04-08 18:59:06 +00:00
Jim Kellerman 6410feb071 HBASE-544 filters generate StackOverflowException
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@646031 13f79535-47bb-0310-9956-ffa450edef68
2008-04-08 18:56:36 +00:00
Bryan Duxbury 49e0eaf8d9 HBASE-512 Add configuration for global aggregate memcache size
-Refactored Flusher slightly, added reclaimMemcacheMemory method
-HRegionServer calls reclaimMemcacheMemory during batchUpdates
-Added TestGlobalMemcacheLimit to verify new functionality 
-Added new config parameter defaults to hbase-default.xml

git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@645740 13f79535-47bb-0310-9956-ffa450edef68
2008-04-08 00:09:20 +00:00
Jim Kellerman 7813444a9b HBASE-564 Don't do a cache flush if there are zero entries in the cache.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@645690 13f79535-47bb-0310-9956-ffa450edef68
2008-04-07 21:08:48 +00:00
Jim Kellerman 2da5e018af HBASE-507 Use Callable pattern to sleep between retries
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@645014 13f79535-47bb-0310-9956-ffa450edef68
2008-04-05 02:15:34 +00:00
Jim Kellerman 9c3fba564c HBASE-563 TestRowFilterAfterWrite erroneously sets master address to 0.0.0.0:60100 rather than relying on conf
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@644948 13f79535-47bb-0310-9956-ffa450edef68
2008-04-04 21:55:47 +00:00
Jim Kellerman 1e3705f750 HBASE-541 Update hadoop jars.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@644905 13f79535-47bb-0310-9956-ffa450edef68
2008-04-04 20:48:46 +00:00
Bryan Duxbury 9ea7aec67d HBASE-452 "region offline" should throw IOException, not IllegalStateException
-HConnectionManager#locateRegionInMeta no longer throws ISE, instead throws new RegionOfflineException
-Removed duplicated code for catching exceptions for retries

git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@644854 13f79535-47bb-0310-9956-ffa450edef68
2008-04-04 19:44:46 +00:00
Bryan Duxbury bb8dce00f2 HBASE-557 HTable.getRow() should receive RowResult objects
-Updated HRegionInterface, HRegionServer, HRegion, HStore to provide RowResults as the return of getRow methods
-Updated HTable to expect RowResult objects
-Updated ThriftServer to expect RowResults
-Cleaned up HConnectionManager's interaction with region servers

git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@644828 13f79535-47bb-0310-9956-ffa450edef68
2008-04-04 19:13:56 +00:00
Bryan Duxbury 0c3d5abbc8 HBASE-544 Purge startUpdate from all internal code and test cases
Removes startUpdate calls from all but a few places. TestBatchUpdate and TestMultipleUpdates both stay the same, but TMU will be removed when startUpdate is. Parts of TBU will also be whacked when we remove the deprecated methods. HTable still has its startUpdate methods.

Changed the Incommon interface to remove the startUpdate, put, delete, and commit methods, and made a new commit(BatchUpdate).

git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@644811 13f79535-47bb-0310-9956-ffa450edef68
2008-04-04 18:22:56 +00:00
Michael Stack 589a407f0c HBASE-561 HBase package does not include LICENSE.txt nor build.xml
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@644536 13f79535-47bb-0310-9956-ffa450edef68
2008-04-03 22:39:46 +00:00
Bryan Duxbury 228fd03bac HBASE-71 [hbase] Master should rebalance region assignments periodically
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@644441 13f79535-47bb-0310-9956-ffa450edef68
2008-04-03 19:03:59 +00:00
Michael Stack 2a38a13eaa HBASE-547 UI shows hadoop version, not hbase version
We now show hadoop and hbase versions in master. Also cleaned up how
the jsp is generated moving it into main build.xml done as a pre-compile
step.
D src/java/org/apache/hadoop/hbase/generated
  Removed this directory. No longer check in jsps. Generate them every time.
M src/webapps/regionserver/regionserver.jsp
  Use the hbase VersionInfo so we get hbase version, not hadoop's.
M src/webapps/master/master.jsp
  Output hadoop and hbase versions.
D build-webapps.xml
  Remove. Integrated into main build.xml. Reason we were doing this
  distinct  C --CLASSPATH issues when compiling in hadoop context  --
  no longer prevail.
M build.xml
  (jspc): Added target and made it a prereq of compile.


git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@644034 13f79535-47bb-0310-9956-ffa450edef68
2008-04-02 20:21:22 +00:00
Michael Stack 2cea25052c Add apache license
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@643969 13f79535-47bb-0310-9956-ffa450edef68
2008-04-02 16:50:13 +00:00
Michael Stack 21e657001c Edit
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@643966 13f79535-47bb-0310-9956-ffa450edef68
2008-04-02 16:43:07 +00:00
Jim Kellerman 6e225dd7f1 HBASE-469 Streamline HStore startup and compactions
HMerge, HRegionServer

- changes that reflect changes to HRegion, CompactSplitThread and Flusher methods

ServerManager

- Return zero length array to region server if it is exiting or quiesced and Master is not yet ready to shut down.

QueueEntry

- removed. no longer used.

CompactSplitThread

- make compactionQueue a queue of HRegion.
- Add Set<HRegion> so we can quickly determine if a region is in the queue. BlockingQueue.contains() does a linear scan of the queue.
- Add a lock and interruptPolitely methods so that compactions/splits in progress are not interrupted.
- Don't add a region to the queue if it is already present.

Flusher

- change queue from DelayQueue to BlockingQueue, with HRegion entries instead of QueueEntry.
- Add Set<HRegion> to quickly determine if a region is already in the queue to avoid linear scan of BlockingQueue.contains().
- Only put regions in the queue for optional cache flush if the last time they were flushed is older than now - optionalFlushInterval.
- Only add regions to the queue if it is not already present.

HRegion

- don't request a cache flush if one has already been requested.
- Add setLastFlushTime so flusher can set it once it has queued an optional flush.
- Replace largestHStore with getLargestHStoreSize: returns long instead of HStoreSize object.
- Add midKey as parameter to splitRegion.
- Reorder start of splitRegion so it doesn't do any work before validating parameters.
- Remove needsSplit and compactIfNeeded - no longer needed.
- compactStores now returns midKey if split is needed.
- snapshotMemcaches now sets flushRequested to false and sets lastFlushTime to now.
- update does not request a cache flush if one has already been requested.
- Override equals and hashCode so HRegions can be stored in a HashSet.

HStore

- loadHStoreFiles now computes max sequence id and the initial size of the store.
- Add getter for family.
- internalCacheFlush updates store size, and logs both size of cache flush and resulting map file size (with debug logging enabled).
- Remove needsCompaction and hasReferences - no longer needed.
- compact() returns midKey if store needs to be split.
- compact() does all checking before actually starting a compaction.
- If store size is greater than desiredMaxFileSize, compact returns the midKey for the store regardless of whether a compaction was actually done.
- Added more synchronization in completeCompaction while iterating over storeFiles.
- completeCompaction computes new store size.
- New method checkSplit replaces method size. Returns midKey if store needs to be split and can be split.

HStoreSize

- removed. No longer needed.

HBaseTestCase

- only set fs if it has not already been set by a subclass.

TestTableIndex, TestTableMapReduce

- call FSUtil.deleteFully to clean up cruft left in local fs, by MapReduce


git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@643761 13f79535-47bb-0310-9956-ffa450edef68
2008-04-02 06:58:26 +00:00
Michael Stack 0e825ebaff Doc for the mapreduce package
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@643740 13f79535-47bb-0310-9956-ffa450edef68
2008-04-02 05:03:26 +00:00
Michael Stack 92a8e04b85 git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@643621 13f79535-47bb-0310-9956-ffa450edef68 2008-04-01 22:12:23 +00:00
Michael Stack 6c124cd285 HBASE-548 Tool to online single region
M    branches/0.1/src/java/org/apache/hadoop/hbase/util/MetaUtils.java
M    trunk/src/java/org/apache/hadoop/hbase/util/MetaUtils.java
    (changeOnlineStatus): Added.



git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@643486 13f79535-47bb-0310-9956-ffa450edef68
2008-04-01 17:52:46 +00:00
Michael Stack f15048d4d0 HBASE-505 Region assignments should never time out so long as the region
server reports that it is processing the open request

This is patch reviewed with Jim but with the number of edits between
reports made into a configurable.

Have the HRegionServer pass down a Progressable implementation down into
Region and then down int Store where edits are replayed. Call progress
after every couple of thousand edits.

M src/java/org/apache/hadoop/hbase/HStore.java
  Take a Progessable in the constructor. Call it when applying edits.
M src/java/org/apache/hadoop/hbase/HMaster.java
  Update commment around MSG_REPORT_PROCESS_OPEN so its expected
  that we can get more than one of these messages during a region open.
M src/java/org/apache/hadoop/hbase/HRegion.java
  New constructor that takes a Progressable. Pass it to Stores on construction.
M src/java/org/apache/hadoop/hbase/HRegionServer.java
  On open of a region, pass in a Progressable that adds a
MSG_REPORT_PROCESS_OPEN every time its called.


git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@643223 13f79535-47bb-0310-9956-ffa450edef68
2008-04-01 00:09:25 +00:00
Michael Stack 198a156334 HBASE-551 Master stuck splitting server logs in shutdown loop;
on eachiteration, edits are aggregated up into the millions
M src/java/org/apache/hadoop/hbase/HLog.java
    (splitLog): If an exception processing a split, catch it.
    In finally, close and delete the split. Don't try retrying.
    While in some circumstance, we might recover, its also
    likely that we just get same exception again. If so, and
    multiple files, we'll just accumulate edits until the
    kingdom comes.


git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@643142 13f79535-47bb-0310-9956-ffa450edef68
2008-03-31 20:47:47 +00:00
Michael Stack 1197d65839 HBASE-550 EOF trying to read reconstruction log stops region deployment
M CHANGES.txt
    Fix mis-committed changelog.


git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@643113 13f79535-47bb-0310-9956-ffa450edef68
2008-03-31 19:34:09 +00:00
Michael Stack 53a6abfe6e HBASE-550 EOF trying to read reconstruction log stops region deployment
M  src/java/org/apache/hadoop/hbase/HStore.java
    (Constructor) If an exception out of reconstructionLog method, log it and
    keep going.  Presumption is that its result of a lack of HADOOP--1700.
    (reconstructionLog): Check for empty log file.


git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@643110 13f79535-47bb-0310-9956-ffa450edef68
2008-03-31 19:26:47 +00:00