Commit Graph

582 Commits

Author SHA1 Message Date
Michael Stack ffa8d836cd HBASE-730 On startup, rinse STARTCODE and SERVER from .META.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@675659 13f79535-47bb-0310-9956-ffa450edef68
2008-07-10 17:44:47 +00:00
Michael Stack 1f13177b07 HBASE-735 hbase shell doesn't trap CTRL-C signal
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@675658 13f79535-47bb-0310-9956-ffa450edef68
2008-07-10 17:39:43 +00:00
Michael Stack f3549073a7 HBASE-736 Should have HTable.deleteAll(String row) and HTable.deleteAll(Text row)
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@675647 13f79535-47bb-0310-9956-ffa450edef68
2008-07-10 16:56:34 +00:00
Michael Stack 3862e988c6 HBASE-734 scan '.META.', {LIMIT => 10} crashes
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@675377 13f79535-47bb-0310-9956-ffa450edef68
2008-07-09 22:54:44 +00:00
Michael Stack 975af636e8 HBASE-731 delete, deletefc in HBase shell do not work correctly
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@675348 13f79535-47bb-0310-9956-ffa450edef68
2008-07-09 21:39:45 +00:00
Michael Stack b022dd6a56 HBASE-727 Client caught in an infinite loop when trying to connect to cached server locations
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@675048 13f79535-47bb-0310-9956-ffa450edef68
2008-07-08 23:20:02 +00:00
Michael Stack 6fe7bfb481 HBASE-706 On OOME, regionserver sticks around and doesn't go down with cluster
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@674958 13f79535-47bb-0310-9956-ffa450edef68
2008-07-08 21:10:33 +00:00
Michael Stack 9d87dd9088 HBASE-721 Add a meta refresh tag to the Web ui for master and region server
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@674889 13f79535-47bb-0310-9956-ffa450edef68
2008-07-08 17:17:23 +00:00
Michael Stack e157ffc9c6 HBASE-631 HTable.getRow() for only a column family
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@674724 13f79535-47bb-0310-9956-ffa450edef68
2008-07-08 05:24:36 +00:00
Michael Stack 20f56cc97d HBASE-726 Unit tests won't run because of a typo
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@674644 13f79535-47bb-0310-9956-ffa450edef68
2008-07-07 21:19:18 +00:00
Jim Kellerman 1f93bb5708 HBASE-674 Memcache size unreliable
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@674108 13f79535-47bb-0310-9956-ffa450edef68
2008-07-04 19:15:16 +00:00
Michael Stack d77d0432c1 HBASE-562 Move Exceptions to subpackages
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@673774 13f79535-47bb-0310-9956-ffa450edef68
2008-07-03 19:34:54 +00:00
Michael Stack 0423f172b5 HBASE-703 Invalid regions listed by regionserver.jsp
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@673770 13f79535-47bb-0310-9956-ffa450edef68
2008-07-03 19:27:09 +00:00
Michael Stack 94eba4e517 HBASE-710 Find out why users have network problems in HBase and not in Hadoop
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@673748 13f79535-47bb-0310-9956-ffa450edef68
2008-07-03 18:12:06 +00:00
Jim Kellerman 3224f18ba7 HBASE-712 midKey found compacting is the first, not necessarily the optimal
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@673524 13f79535-47bb-0310-9956-ffa450edef68
2008-07-02 22:13:41 +00:00
Jim Kellerman 48b561e734 Make changes.txt accurately reflect changes in trunk.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@673503 13f79535-47bb-0310-9956-ffa450edef68
2008-07-02 21:23:15 +00:00
Michael Stack 070112eef2 HBASE-717 alter table broke with new shell returns InvalidColumnNameException
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@673000 13f79535-47bb-0310-9956-ffa450edef68
2008-07-01 05:13:45 +00:00
Michael Stack 3d579b7beb HBASE-718 hbase shell help info
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@672988 13f79535-47bb-0310-9956-ffa450edef68
2008-07-01 04:15:50 +00:00
Jim Kellerman ee0ec62045 HBASE-715 Base HBase 0.2 on Hadoop 0.17.1
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@672457 13f79535-47bb-0310-9956-ffa450edef68
2008-06-28 02:36:24 +00:00
Jim Kellerman 1901b25365 HBASE-716 TestGet2.testGetClosestBefore fails with hadoop-0.17.1
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@672456 13f79535-47bb-0310-9956-ffa450edef68
2008-06-28 02:32:28 +00:00
Jim Kellerman acac3a8a95 HBASE-627 Disable table doesn't work reliably
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@672423 13f79535-47bb-0310-9956-ffa450edef68
2008-06-27 23:13:26 +00:00
Michael Stack bcbcbc79f4 HBASE-714 Showing bytes in log when should be string (2)
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@671951 13f79535-47bb-0310-9956-ffa450edef68
2008-06-26 17:06:31 +00:00
Michael Stack b33ad41da3 HBASE-709 Deadlock while rolling WAL-log while finishing flush
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@671711 13f79535-47bb-0310-9956-ffa450edef68
2008-06-26 03:29:02 +00:00
Michael Stack e00d548bcc HBASE-704 update new shell docs and commands on help menu
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@671614 13f79535-47bb-0310-9956-ffa450edef68
2008-06-25 17:49:40 +00:00
Michael Stack d09a697620 HBASE-702 deleteall doesn't
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@670701 13f79535-47bb-0310-9956-ffa450edef68
2008-06-23 18:19:54 +00:00
Michael Stack 3af4f2f2f5 HBASE-701 Showing bytes in log when should be String
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@670651 13f79535-47bb-0310-9956-ffa450edef68
2008-06-23 15:18:16 +00:00
Jim Kellerman 80fa33698f HBASE-613 Timestamp-anchored scanning fails to find all records
HBASE-681 NPE in Memcache

HAbstractScanner
- remove HAbstactScanner.iterator() - iterator is not a method on InternalScanner

HRegion
- make getScanner more efficient by iterating only once to find the stores we need to scan
- only pass columns relevant to a store to a HStoreScanner
- remove HScanner.iterator() - iterator is not a method on InternalScanner

Memcache, MemcacheScanner
- Fix NPE in Memcache
- never return HConstants.LATEST_TIMESTAMP as the timestamp value for a row. Instead use the largest timestamp from the cells being returned. This allows a scanner to determine a timestamp that can be used to fetch the same data again should new versions be inserted later.

StoreFileScanner
- getNextViableRow would find a row that matched the row key, but did not consider the requested timestamp. Now if the row it finds has a timestamp greater than the one desired it advances to determine if a row with a timestamp less than or equal to the requested one exists since timestamps are sorted descending.
- removed an unnecessary else

testScanMultipleVersions
- Test program that fails on current trunk but passes when this patch is applied.


git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@670124 13f79535-47bb-0310-9956-ffa450edef68
2008-06-21 02:52:35 +00:00
Bryan Duxbury d5b1dfe30c HBASE-615 Region balancer oscillates during cluster startup
-Change HServerLoad's getLoad method to ignore the number of requests, thus causing RegionManager to assign based merely on number of regions per server

git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@669533 13f79535-47bb-0310-9956-ffa450edef68
2008-06-19 16:30:24 +00:00
Michael Stack 94956b1e25 HBASE-672 Sort regions in the regionserver UI -- was committed a while ago
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@669394 13f79535-47bb-0310-9956-ffa450edef68
2008-06-19 06:03:41 +00:00
Michael Stack b3437875a6 HBASE-699 Fix TestMigrate up on Hudson
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@669392 13f79535-47bb-0310-9956-ffa450edef68
2008-06-19 05:55:09 +00:00
Michael Stack b01f2f1c87 Forgot to accredit HBASE-683 to Rong-En
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@669378 13f79535-47bb-0310-9956-ffa450edef68
2008-06-19 03:51:22 +00:00
Michael Stack 2f98213248 HBASE-683 can not get svn revision # at build time if locale is not english
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@669376 13f79535-47bb-0310-9956-ffa450edef68
2008-06-19 03:42:45 +00:00
Michael Stack bb637b6cc5 HBASE-652 dropping table fails silently if table isn't disabled
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@669336 13f79535-47bb-0310-9956-ffa450edef68
2008-06-18 23:52:48 +00:00
Michael Stack 1342ed9b5c HBASE-487 New shell....
Add in special handling of .META. table that we used have in HQL
(so it prints out the HRegionInfo pretty).  Also allow making a scanner
without specifying columns.

M  src/java/org/apache/hadoop/hbase/HTableDescriptor.java
   Allow getMetadata work if HTable is set against meta tables.
   Was failing on isLegalTableName if name was one of the catalog table names.
   Needed by shell.
M src/java/org/apache/hadoop/hbase/client/HTable.java
  Comment.
M  bin/hbase
  Remove commented out line.
M  bin/HBase.rb
  Allow passing just a table name to scanner; let it figure out all families
  Added in the special handling of .META. table cells that we used have in HQL
  so we can see start/end row, etc.  Added in extra testing.
M  bin/Formatter.rb
  Allow setting width of emitted table in console formatter
M  bin/hirb.rb
  Allow setting width of emitted table in console formatter
  Improved scanner help.:


git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@669318 13f79535-47bb-0310-9956-ffa450edef68
2008-06-18 22:24:34 +00:00
Bryan Duxbury de39e81f3a HBASE-694 HStore.rowAtOrBeforeFromMapFile() fails to locate the row if # of mapfiles >= 2
-Added new test to TestGet2 to highlight multi-storefile getClosestBefore issue
-Removed erroneous return that caused 2nd and subsequent mapfiles to be skipped
-Split HStore#rowKeyAtOrBeforeFromMapfile into two sub-methods for readability

git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@669211 13f79535-47bb-0310-9956-ffa450edef68
2008-06-18 16:28:23 +00:00
Michael Stack 542bff9b3b HBASE-691 get* and getScanner are different in how they treat column parameter
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@668830 13f79535-47bb-0310-9956-ffa450edef68
2008-06-17 21:07:50 +00:00
Jim Kellerman 132a644260 HBASE-686 MemcacheScanner didn't return the first row(if it exists), because HScannerInterface's output incorrect (LN via Jim Kellerman)
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@668822 13f79535-47bb-0310-9956-ffa450edef68
2008-06-17 20:49:10 +00:00
Michael Stack 1bc0a2a0a3 HBASE-682 unnecessary iteration in HMemcache.internalGet? got much better reading performance after break it.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@667631 13f79535-47bb-0310-9956-ffa450edef68
2008-06-13 19:53:23 +00:00
Michael Stack 4a04330d7f HBASE-682 Regularize toString
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@667295 13f79535-47bb-0310-9956-ffa450edef68
2008-06-12 23:53:56 +00:00
Michael Stack d2c38ff650 HBASE-680 config parameter hbase.io.index.interval should be hbase.index.interval, accroding to HBaseMapFile.HbaseWriter
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@667159 13f79535-47bb-0310-9956-ffa450edef68
2008-06-12 16:59:31 +00:00
Michael Stack 90719ebd62 HBASE-677 Make HTable, HRegion, HRegionServer, HStore, and HColumnDescriptor subclassable
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@666395 13f79535-47bb-0310-9956-ffa450edef68
2008-06-10 23:52:50 +00:00
Michael Stack a6457d7c04 HBASE-676 Bytes.getInt returns a long
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@666260 13f79535-47bb-0310-9956-ffa450edef68
2008-06-10 18:29:48 +00:00
Michael Stack c32f6e31bd HBASE-662 UI in table.jsp gives META locations, not the table's regions location
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@665994 13f79535-47bb-0310-9956-ffa450edef68
2008-06-10 07:46:14 +00:00
Michael Stack b5ae8db868 HBASE-665 server side scanner doesn't honor stop row
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@665928 13f79535-47bb-0310-9956-ffa450edef68
2008-06-09 22:45:24 +00:00
Michael Stack 2e0e750630 HBASE-672 Sort regions in the regionserver UI
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@664289 13f79535-47bb-0310-9956-ffa450edef68
2008-06-07 06:24:14 +00:00
Michael Stack ae83b2d6d5 HBASE-671 New UI page displaying all regions in a table should be sorted
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@664179 13f79535-47bb-0310-9956-ffa450edef68
2008-06-06 22:56:17 +00:00
Michael Stack a55aa0c517 HBASE-670 Historian deadlocks if regionserver is at global memory boundary and is hosting .META.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@664105 13f79535-47bb-0310-9956-ffa450edef68
2008-06-06 19:52:24 +00:00
Michael Stack be8ef48869 HBASE-668 HBASE-533 broke build
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@663764 13f79535-47bb-0310-9956-ffa450edef68
2008-06-05 22:22:13 +00:00
Jim Kellerman 1a7c2fc882 HBASE-666 UnmodifyableHRegionInfo gives the wrong encoded name
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@663350 13f79535-47bb-0310-9956-ffa450edef68
2008-06-04 19:24:40 +00:00
Michael Stack 3dec8def1c HBASE-533 Region Historian
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@663314 13f79535-47bb-0310-9956-ffa450edef68
2008-06-04 17:18:21 +00:00
Jim Kellerman f7dc508514 HBASE-639 Add HBaseAdmin.getTableDescriptor function
HBASE-632   HTable.getMetadata is very inefficient
HBASE-654   API HTable.getMetadata().addFamily shouldn't be exposed to user


git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@662975 13f79535-47bb-0310-9956-ffa450edef68
2008-06-04 04:54:47 +00:00
Jim Kellerman fc7351288a HBASE-655 Need programmatic way to add column family: need programmatic way to enable/disable table
Added HTable.isTableOnline and HTable.isTableOffline

git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@662905 13f79535-47bb-0310-9956-ffa450edef68
2008-06-03 22:16:43 +00:00
Jim Kellerman 2a543ce103 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
2008-06-03 19:27:30 +00:00
Michael Stack eb13bf8b42 HBASE-660 [Migration] addColumn/deleteColumn functionality in MetaUtils
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@662612 13f79535-47bb-0310-9956-ffa450edef68
2008-06-03 00:34:10 +00:00
Michael Stack 359fdf6238 HBASE-659 HLog#cacheFlushLock not cleared; hangs a region
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@662146 13f79535-47bb-0310-9956-ffa450edef68
2008-06-01 04:42:11 +00:00
Michael Stack f328681e00 HBASE-649 API polluted with default and protected access data members and methods
HBASE-650 Add String versions of get, scanner, put in HTable
HBASE-656 Do not retry exceptions such as unknown scanner or illegal argument
A  src/java/org/apache/hadoop/hbase/ColumnNameParseException.java
A  src/java/org/apache/hadoop/hbase/LeaseException.java
    Added.  Thrown instead of IllegalArgumentExceptions
M  src/java/org/apache/hadoop/hbase/Leases.java
    Use new LeaseException in place of IllegalArgument
M  src/java/org/apache/hadoop/hbase/HStoreKey.java
    Use new ColumnNameParse in place of IllegalArgument
M  src/java/org/apache/hadoop/hbase/master/ServerManager.java
    Log at debug if LeaseException (Not important if it happens).
A  src/java/org/apache/hadoop/hbase/DoNotRetryIOException.java
    An IOE that shouldn't be retried.
M  src/java/org/apache/hadoop/hbase/InvalidColumnNameException.java
M  src/java/org/apache/hadoop/hbase/UnknownScannerException.java
    Inherit from DoNotRetryIOException else we keep trying.
M  src/java/org/apache/hadoop/hbase/util/Bytes.java
    (toByteArrays): Added one to handle [] String.
M  src/java/org/apache/hadoop/hbase/client/HTable.java
    Make String overrides of all methods.  Made data members
    private (turns out a bunch arent' even used).  Stopped it
    inheriting from HConstants so we don't have big dump of
    all HConstants as first thing in javadoc.
M  src/java/org/apache/hadoop/hbase/client/HConnectionManager.java
    If instance of DoNotRetryIOException, let the exception out.
M  src/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
    Make String overrides of all methods.  Stopped it
    inheriting from HConstants so we don't have big dump of
    all HConstants as first thing in javadoc.


git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@661541 13f79535-47bb-0310-9956-ffa450edef68
2008-05-30 00:51:43 +00:00
Michael Stack f8c4649209 HBASE-651 table.commit should throw NoSuchColumnFamilyException if column family doesn't exist
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@661512 13f79535-47bb-0310-9956-ffa450edef68
2008-05-29 22:35:36 +00:00
Michael Stack f4d0096a06 HBASE-640 TestMigrate failing on hudson
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@661211 13f79535-47bb-0310-9956-ffa450edef68
2008-05-29 04:54:27 +00:00
Michael Stack 8d0665881e HBASE-648 If mapfile index is empty, run repair
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@661089 13f79535-47bb-0310-9956-ffa450edef68
2008-05-28 21:17:31 +00:00
Michael Stack 6061624031 HBASE-646 EOFException opening HStoreFile info file (spin on HBASE-645 and 550)
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@661040 13f79535-47bb-0310-9956-ffa450edef68
2008-05-28 18:38:46 +00:00
Michael Stack 8b292ae202 HBASE-645 and HBASE-642 Splitting log in a hostile environment -- bad hdfs -- we drop write-ahead-log edits
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@660727 13f79535-47bb-0310-9956-ffa450edef68
2008-05-27 21:42:14 +00:00
Michael Stack 6829ba8a01 HBASE-641 Improve master split logging
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@660686 13f79535-47bb-0310-9956-ffa450edef68
2008-05-27 20:26:44 +00:00
Michael Stack c37590cd99 HBASE-644 DroppedSnapshotException but RegionServer doesn't restart
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@660366 13f79535-47bb-0310-9956-ffa450edef68
2008-05-27 04:17:52 +00:00
Michael Stack cb9d586513 HBASE-487 Replace hql w/ a hbase-friendly jirb or jython shell, Part 1: Purge hql, added raw jirb
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@659445 13f79535-47bb-0310-9956-ffa450edef68
2008-05-23 06:21:16 +00:00
Michael Stack f63ecc9a06 HBASE-638 Purge \r from src
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@659249 13f79535-47bb-0310-9956-ffa450edef68
2008-05-22 20:49:25 +00:00
Jim Kellerman 192e438289 HBASE-589 Remove references to deprecated methods in Hadoop once hadoop-0.17.0 is released
HBASE-579 Add hadoop 0.17.0


git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@659245 13f79535-47bb-0310-9956-ffa450edef68
2008-05-22 20:32:25 +00:00
Michael Stack 64a2a3e505 HBASE-583 RangeRowFilter, allow to choose rows based on a (lexicographic) comparison to column's values
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@659164 13f79535-47bb-0310-9956-ffa450edef68
2008-05-22 17:17:07 +00:00
Michael Stack a000a20845 HBASE-504 Allow HMsg's carry a payload: e.g. exception that happened
over on the remote side.

M  src/test/org/apache/hadoop/hbase/TestSerialization.java
    Add test that HMsg with region and message serializes.
M  src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
    HMsg types have been enumified.  Also use some of the new
    static messages.  On split and close because of error,
    add message to the HMsg we pass back to the master.
M  src/java/org/apache/hadoop/hbase/HServerInfo.java
    (compareTo): Added.
M  src/java/org/apache/hadoop/hbase/HRegionInfo.java
    Allow null in compareTo.
M src/java/org/apache/hadoop/hbase/master/ServerManager.java
    Use the new HMsg.isType figuring message type.
    Redo message logging.  Use convenience HMsg statics.
M  src/java/org/apache/hadoop/hbase/master/RegionManager.java
    Pass back overloaded message if region shutdown because of balancing.
M  src/java/org/apache/hadoop/hbase/HServerAddress.java
    Make it so that two addresses equate even if one has hostname
    and the other IP.
M  src/java/org/apache/hadoop/hbase/ipc/HMasterRegionInterface.java
    Up the protocol version for regionserver reporting master messages.
M  src/java/org/apache/hadoop/hbase/HMsg.java
    Enumify the messge types.
    Define a few static HMsgs for convenience.
    Allow optional message. Improved toString.
    (isType, equals, hashCode): Added.


git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@658465 13f79535-47bb-0310-9956-ffa450edef68
2008-05-20 22:29:36 +00:00
Michael Stack bf4536f713 HBASE-621 Make MAX_VERSIONS work like TTL: In scans and gets, check MAX_VERSIONs setting and return that many only rather than wait on compaction
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@658419 13f79535-47bb-0310-9956-ffa450edef68
2008-05-20 20:40:47 +00:00
Michael Stack 7bbe456b0f HBASE-23 UI listing regions should be sorted by address and show additional region state
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@658356 13f79535-47bb-0310-9956-ffa450edef68
2008-05-20 17:29:33 +00:00
Michael Stack fc80b823c4 HBASE-626 Use Visitor pattern in MetaRegion to reduce code clones in HTable and HConnectionManager
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@658337 13f79535-47bb-0310-9956-ffa450edef68
2008-05-20 16:54:29 +00:00
Michael Stack 9cb0f8bdfb HBASE-630 Default hbase.rootdir is garbage
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@658098 13f79535-47bb-0310-9956-ffa450edef68
2008-05-20 04:30:18 +00:00
Michael Stack 274ed7384b HBASE-623 migration script for hbase-82
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@658016 13f79535-47bb-0310-9956-ffa450edef68
2008-05-19 22:46:50 +00:00
Jim Kellerman db289cb669 HBASE-629 Split reports incorrect elapsed time
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@657226 13f79535-47bb-0310-9956-ffa450edef68
2008-05-16 21:45:11 +00:00
Michael Stack 680343c2b2 HBASE-82 row keys should be array of bytes
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@656868 13f79535-47bb-0310-9956-ffa450edef68
2008-05-15 22:10:47 +00:00
Michael Stack bcdb066cae Another nothing change to provoke a build
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@656514 13f79535-47bb-0310-9956-ffa450edef68
2008-05-15 05:43:28 +00:00
Michael Stack 7ddd733236 HBASE-569 DemoClient.php
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@656511 13f79535-47bb-0310-9956-ffa450edef68
2008-05-15 05:26:47 +00:00
Michael Stack 100a1616d4 Nothing change to force build on hudson to see if ant changes will make it build again
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@656506 13f79535-47bb-0310-9956-ffa450edef68
2008-05-15 05:02:02 +00:00
Michael Stack 302997693a Add note about the 0.1.2 release
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@656500 13f79535-47bb-0310-9956-ffa450edef68
2008-05-15 03:56:43 +00:00
Jim Kellerman 595b75b105 HBASE-538 Improve exceptions that come out on client-side
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@656341 13f79535-47bb-0310-9956-ffa450edef68
2008-05-14 18:07:03 +00:00
Jim Kellerman 8d5e1e7025 HBASE-624 Master will shut down if number of active region servers is zero even if shutdown was not requested
M HMaster

- Moved HMaster.quiescedMetaServers to ServerManager.quiescedServers and changed name since only servers serving user regions get quiesced.
- Removed HMaster.tableInCreation - not used

M ServerManager

- Don't check if quiescedServers.get() >= serversToServerInfo.size() unless master.shutdownRequested is true.

M HRegionServer

- Change order of checks in main loop of HRegionServer.run, so that booleans are checked before we check the number of messages to process
- Don't break out of main loop if restart or stop requested - stop is checked at top of loop and we need to continue rather than break out of main loop if restart was requested



git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@655962 13f79535-47bb-0310-9956-ffa450edef68
2008-05-13 18:25:31 +00:00
Jim Kellerman 4e03053213 HBASE-622 Remove StaticTestEnvironment and put a log4j.properties in src/test
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@655650 13f79535-47bb-0310-9956-ffa450edef68
2008-05-12 21:22:38 +00:00
Jim Kellerman 8544e3d1f3 HBASE-614 Retiring regions is not used; exploit or remove
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@654653 13f79535-47bb-0310-9956-ffa450edef68
2008-05-08 23:41:47 +00:00
Michael Stack 7eddf55102 HBASE-620 testmergetool failing in branch and trunk since hbase-618 went in
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@654327 13f79535-47bb-0310-9956-ffa450edef68
2008-05-07 23:33:33 +00:00
Jim Kellerman 5a8da86833 HBASE-611 regionserver should do basic health check before reporting alls-well to the master
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@654301 13f79535-47bb-0310-9956-ffa450edef68
2008-05-07 22:08:21 +00:00
Jim Kellerman 4aa78f4f28 HBASE-453 undeclared throwable exception from HTable.get
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@654256 13f79535-47bb-0310-9956-ffa450edef68
2008-05-07 20:19:53 +00:00
Jim Kellerman eaa03f245b HBASE-600 Filters have excessive DEBUG logging
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@654229 13f79535-47bb-0310-9956-ffa450edef68
2008-05-07 19:35:47 +00:00
Jim Kellerman b3f4ddc1bc HBASE-478 offlining of table does not run reliably
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@654193 13f79535-47bb-0310-9956-ffa450edef68
2008-05-07 17:56:06 +00:00
Michael Stack cfefc60bac HBASE-619 Fix 'logs' link in UI
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@654184 13f79535-47bb-0310-9956-ffa450edef68
2008-05-07 17:31:29 +00:00
Michael Stack 20ee89aa4c HBASE-618 We always compact if 2 files, regardless of the compaction threshold setting
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@654169 13f79535-47bb-0310-9956-ffa450edef68
2008-05-07 16:58:10 +00:00
Michael Stack 2eef957d36 HBASE-47 option to set TTL for columns in hbase
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@653986 13f79535-47bb-0310-9956-ffa450edef68
2008-05-07 04:17:09 +00:00
Jim Kellerman 8df7f79781 HBASE-405 TIF and TOF use log4j directly rather than apache commons-logging
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@653941 13f79535-47bb-0310-9956-ffa450edef68
2008-05-06 22:18:24 +00:00
Jim Kellerman ab778e22e4 HBASE-607 MultiRegionTable.makeMultiRegionTable is not deterministic enough for regression tests
M MultiRegionTable

  Make deterministic by creating the regions directly and not rely on
  the asychronous nature of cache flushes, compactions and splits. The
  regions are small, but the point of this class is to generate a
  table with multiple regions so we can test map / reduce, region
  onlining / offlining, etc.

  Removed PUNCTUATION from row keys. Not sure why it was there in the
  first place, other than perhaps to verify that a row key can have
  punctuation in it provided it is not the first character. This will
  become moot when row keys change from Text to byte[] anyways.

  Incorporate repeated code
{code}
    region.close();
    region.getLog().closeAndDelete();
{code}
  into private method closeRegionAndDeleteLog

M TestSplit

  extends HBaseClusterTestCase instead of MultiRegionTable. It didn't
  use the output of MultiRegionTable, so all that work was just wasted
  by this test.

M TestTableIndex, TestTableMapReduce

  The only two tests that currently use MultiRegionTable. Minor
  modifications needed because MultiRegionTable now handles starting
  and stopping of the mini-DFS cluster. With the new MultiRegionTable
  class, if these tests fail now it will be because something they are
  testing has regressed and not because MultiRegionTable failed.



git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@652587 13f79535-47bb-0310-9956-ffa450edef68
2008-05-01 17:37:24 +00:00
Michael Stack c70e4fa984 HBASE-609 Master doesn't see regionserver edits because of clock skew
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@652436 13f79535-47bb-0310-9956-ffa450edef68
2008-05-01 06:05:58 +00:00
Michael Stack 0c08836299 HBASE-608 HRegionServer::getThisIP() checks hadoop config var for dns interface name
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@652428 13f79535-47bb-0310-9956-ffa450edef68
2008-05-01 04:22:56 +00:00
Michael Stack 9cd46728ff HBASE-604 Don't allow CLASSPATH from environment pollute the hbase CLASSPATH
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@652189 13f79535-47bb-0310-9956-ffa450edef68
2008-04-29 23:29:17 +00:00
Bryan Duxbury 1deedc318a HBASE-603 When an exception bubbles out of getRegionServerWithRetries, wrap the exception with a RetriesExhaustedException
-Added RetriesExhaustedException to client package
-HTable now throws REE when retries run out

git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@652185 13f79535-47bb-0310-9956-ffa450edef68
2008-04-29 23:03:20 +00:00
Michael Stack 21da84cfea HBASE-601 Just remove deprecated methods in HTable; 0.2 is not backward compatible anyways
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@652054 13f79535-47bb-0310-9956-ffa450edef68
2008-04-28 04:58:09 +00:00
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
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
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 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 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
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
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 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
Michael Stack 46ff7775f6 HBASE-534 Double-assignment at SPLIT-time
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@640625 13f79535-47bb-0310-9956-ffa450edef68
2008-03-24 22:42:14 +00:00
Bryan Duxbury 65d961ae78 HBASE-536 Remove MiniDFS startup from MiniHBaseCluster
-Changed MiniHBaseCluster to not start up a MiniDFS
-Changed HBaseClusterTestCase to do the work of starting up a MiniDFS.
-Added pre and post setup method to HBaseClusterTestCase so you can control what happen before MiniHBaseCluster is booted up
-Converted AbstractMergeTestCase to be a HBaseClusterTestCase
-Converted any test that used a raw MIniDFS or MiniHBaseCluster to use HBaseClusterTestCase instead
-Split TestTimestamp into two tests - one for clientside (now in o.a.h.h.client) and one for serverside (o.a.h.h.regionserver)
-Merged in Stack's changes to make bin/hbase have hadoop jars first on the classpath
-Updated PerformanceEvaluation (in --miniCluster mode) to start up a DFS first
-Fixed a bug in BaseScanner that would have allowed NPEs to be generated


git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@640526 13f79535-47bb-0310-9956-ffa450edef68
2008-03-24 19:13:56 +00:00
Jim Kellerman aabe9f09a9 HBASE-476 RegexpRowFilter behaves incorectly when there are multiple store files (Clint Morgan via Jim Kellerman)
HBASE-527   RegexpRowFilter does not work when there are columns from multiple families (Clint Morgan via Jim Kellerman)


git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@640106 13f79535-47bb-0310-9956-ffa450edef68
2008-03-22 22:35:36 +00:00
Jim Kellerman e7b705a808 HBASE-537 Wait for hdfs to exit safe mode
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@639858 13f79535-47bb-0310-9956-ffa450edef68
2008-03-21 21:31:23 +00:00
Jim Kellerman a9d8d51663 HBASE-531 Merge tool won't merge two overlapping regions (port HBASE-483 to trunk) (See HBASE-483 for list of changes)
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@639775 13f79535-47bb-0310-9956-ffa450edef68
2008-03-21 19:46:34 +00:00
Michael Stack 9fa72c0177 HBASE-526 Add documentation src and build to the 0.1 branch
Second part of documentation commit.


git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@638612 13f79535-47bb-0310-9956-ffa450edef68
2008-03-18 22:32:14 +00:00
Bryan Duxbury feb4f2d2b6 HBASE-528 table 'does not exist' when it does
-Changed HStore and Memcache methods for computing closest row at or before
-Added more test cases for verifying this functionality
-Simplified the getClosestRowBefore interface so that it does not take timestamps
-Noted that getClosestRowBefore is assumed to work correctly ONLY on tables where updates are always with ascending timestamps (method is still not a part of HTable interface, so not available to clients)

git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@638598 13f79535-47bb-0310-9956-ffa450edef68
2008-03-18 21:48:22 +00:00
Bryan Duxbury f66e157e5e HBASE-529 RegionServer needs to recover if datanode goes down
-HLog will now try to reopen the log twice on append failure before taking the region server down

git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@638597 13f79535-47bb-0310-9956-ffa450edef68
2008-03-18 21:44:02 +00:00
Bryan Duxbury ea1ac1f75c HBASE-524 Problems with getFull
-Added new test case to exercise the problems
-Fixed getFull implementation in HStore and Memcache

git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@638525 13f79535-47bb-0310-9956-ffa450edef68
2008-03-18 19:34:33 +00:00
Bryan Duxbury f8fc7bdd77 HBASE-525 HTable.getRow(Text) does not work
-Fixed broken set initialization in HRegionServer

git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@638150 13f79535-47bb-0310-9956-ffa450edef68
2008-03-18 00:13:23 +00:00
Bryan Duxbury 37cf8a8cfb HBASE-506 When an exception has to escape ServerCallable due to exhausted retries, show all the exceptions that lead to this situation
-Updated ServerCallable to track a list of exceptions and report them all when the process runs out of retries

git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@637474 13f79535-47bb-0310-9956-ffa450edef68
2008-03-15 21:15:45 +00:00
Michael Stack 9a40223445 HBASE-515 At least double default timeouts between regionserver and master
git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@637179 13f79535-47bb-0310-9956-ffa450edef68
2008-03-14 17:47:49 +00:00
Jim Kellerman 5d4ed8436d HBASE-516 HStoreFile.finalKey does not update the final key if it is not the top region of a split region
Modified HStoreFile$HalfMapFileReader.finalKey

git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@637002 13f79535-47bb-0310-9956-ffa450edef68
2008-03-14 05:57:54 +00:00