Jim,
Rather than making big, omnibus patches every few weeks, you should
contribute a more continuous stream of narrowly targeted changes. That
would encourage collaboration with others, as their patches could be
interspersed with yours and have less chance of conflicts, no?
Doug
Jim Kellerman (JIRA) wrote:
HBase code update 0.0.0-4
-------------------------
Key: HADOOP-1384
URL: https://issues.apache.org/jira/browse/HADOOP-1384
Project: Hadoop
Issue Type: Improvement
Components: contrib/hbase
Reporter: Jim Kellerman
Assigned To: Jim Kellerman
HClient
- Added logic to detect when a region is no longer being served by the
cached region server
- Prevent null pointer exception in the get methods because the server
can return null if the data is not found (contributed by Vuk Ercegovac)
- Disallow creation of reserved table names
HLocking
- Make the lock counter an AtomicInteger
HLog
- Add some DEBUG logging
HMaster
- Main processing loop did not sleep if there were no known region
servers (contributed by Vuk Ercegovac)
- Move processing of kill list after processing all the incoming
region server messages
- deleteTable prevents meta scanner from running so that there will be
no race condition between them. Previously, if deleteTable was in
the middle of processing and the meta scanner ran, it could detect a
region as unassigned and try to reassign it.
- deleteTable does not update the kill list until it has finished
scanning a meta region. This will prevent lock contention on the
region server.
- deleteTable will now delete any regions that are not being served
- deleteTable removes unassigned regions from the "to be assigned list"
- fix createTable so it correctly refuses to create a second table
with the same name as an existing table
HRegion
- deleteRegion is a new static method
- added isClosed method
- closeAndDelete calls new deleteRegion method
- added locking
HRegionInterface
- getRegionInfo now throws NotServingRegionException
HRegionServer
- split or compact checker skips a region if it is closed
- cache flusher skips a region if it is closed
- lessen amount of time closeAndDeleteRegion holds the HRegionServer
write lock
- getRegionInfo now throws NotServingRegionException
- moved checks for region being served to getRegion method (which
throws NotServingRegionException)
- fixed bug in close in which the scanner was not actually getting closed
- implements RegionUnavailableListener in splitOrCompactChecker
Leases
- added some DEBUG logging
- fixed bug in which the leaseCheckFrequency was not being set causing
the lease checker to spin and never sleep. (contributed by Vuk Ercegovac)
NotServingRegionException
- new exception (extends IOException)
RegionUnavailableListener
- new interface that enables split region to call back the caller just
before the old region is taken off-line
Refactor test cases:
- MiniHBaseCluster modified
- Deleted Environment.java replaced with StaticTestEnvironment.java
- New classes:
HBaseTestCase
HBaseClusterTestCase
- New tests:
TestHLog
TestTable
- Modified tests:
TestGet
TestHBaseCluster
TestHRegion
TestScanner