Log Message: |
HADOOP-1528 HClient for multiple tables (phase 1)
Modified:
HConstants
static final Text[] COL_REGIONINFO_ARRAY = new Text [] {COL_REGIONINFO};
static final Text EMPTY_START_ROW = new Text();
HMaster
- don't process a region server exit message if the lease has timed
out. Otherwise we end up with two pending server shutdown messages
to process and chaos ensues.
- don't reassign the root region when the server's lease expires. The
lease expiration handler will queue a PendingServerShutdown
operation that must run before the root region is reassigned because
the HLog of the dead server must be split before any regions served
by the dead server are reassigned.
- added some additional debug level logging
HBaseClusterTestCase
- call HConnectionManager.deleteConnection(conf) in tearDown() so that
multiple tests can be run from the same test class.
TestScanner2
- changes to make test compatible with the change from inner class
HClient.RegionLocation to public class HRegionLocation
Leases
- cancelLease just returns if the lease is not found instead of
throwing an IOException
New:
HConnection - an interface that describes the operations performed by
a connection implementation
HConnectionManager - manages connections for multiple HBase instances
and returns an object that implements HConnection from its static
method getConnection
HBaseAdmin - the HBase administrative methods refactored out of
HClient. Each HBaseAdmin object can control a single HBase
instance. To manipulate multiple instances, create multiple HBaseAdmin
objects.
HTable - The data manipulation methods refactored out of HClient. Each
HTable object talks to a single table in a single HBase
instance. Create multiple HTable objects to use more than one table.
HRegionLocation - an inner class refactored out of HClient. Each
HRegionLocation has an HRegionInfo object and an HServerAddress
object.
HClient - totally re-implemented in terms of the new classes
above. HClient is now deprecated.
|