Index: src/test/java/org/apache/hadoop/hbase/TestEmptyMetaInfo.java =================================================================== --- src/test/java/org/apache/hadoop/hbase/TestEmptyMetaInfo.java (revision 991583) +++ src/test/java/org/apache/hadoop/hbase/TestEmptyMetaInfo.java (working copy) @@ -31,6 +31,7 @@ /** * Tests master cleanup of rows in meta table where there is no HRegionInfo + * TODO: Does this test make sense any more? */ public class TestEmptyMetaInfo extends HBaseClusterTestCase { /** @@ -50,8 +51,7 @@ Bytes.toBytes("localhost:1234")); t.put(put); } - long sleepTime = - conf.getLong("hbase.master.meta.thread.rescanfrequency", 10000); + long sleepTime = conf.getLong("hbase.master.monitor.interval", 1000); int tries = conf.getInt("hbase.client.retries.number", 5); int count = 0; do { @@ -83,4 +83,4 @@ assertTrue(tries >= 0); assertEquals(0, count); } -} \ No newline at end of file +} Index: src/test/java/org/apache/hadoop/hbase/master/TestZKBasedOpenCloseRegion.java =================================================================== --- src/test/java/org/apache/hadoop/hbase/master/TestZKBasedOpenCloseRegion.java (revision 991583) +++ src/test/java/org/apache/hadoop/hbase/master/TestZKBasedOpenCloseRegion.java (working copy) @@ -64,7 +64,6 @@ Configuration c = TEST_UTIL.getConfiguration(); c.setBoolean("dfs.support.append", true); c.setInt("hbase.regionserver.info.port", 0); - c.setInt("hbase.master.meta.thread.rescanfrequency", 5*1000); TEST_UTIL.startMiniCluster(2); TEST_UTIL.createTable(Bytes.toBytes(TABLENAME), FAMILIES); HTable t = new HTable(TEST_UTIL.getConfiguration(), TABLENAME); Index: src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java =================================================================== --- src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java (revision 991583) +++ src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java (working copy) @@ -396,7 +396,7 @@ for (int i = 0; i < TEST_UTIL.getConfiguration().getInt("hbase.test.retries", 30); i++) { Thread.currentThread(); try { - Thread.sleep(TEST_UTIL.getConfiguration().getInt("hbase.server.thread.wakefrequency", 1000)); + Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } Index: src/test/resources/hbase-site.xml =================================================================== --- src/test/resources/hbase-site.xml (revision 991583) +++ src/test/resources/hbase-site.xml (working copy) @@ -46,13 +46,6 @@ - hbase.master.meta.thread.rescanfrequency - 10000 - How long the HMaster sleeps (in milliseconds) between scans of - the root and meta tables. - - - hbase.server.thread.wakefrequency 1000 Time to sleep in between searches for work (in milliseconds). Index: src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (revision 991583) +++ src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (working copy) @@ -336,7 +336,7 @@ } initializeZooKeeper(); initializeThreads(); - int nbBlocks = 0; // TODO: FIX WAS OOME'ing in TESTS -> conf.getInt("hbase.regionserver.nbreservationblocks", 4); + int nbBlocks = conf.getInt("hbase.regionserver.nbreservationblocks", 4); for (int i = 0; i < nbBlocks; i++) { reservedSpace.add(new byte[HConstants.DEFAULT_SIZE_RESERVATION_BLOCK]); } @@ -2394,4 +2394,4 @@ public int getNumberOfOnlineRegions() { return onlineRegions.size(); } -} \ No newline at end of file +} Index: src/main/java/org/apache/hadoop/hbase/LocalHBaseCluster.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/LocalHBaseCluster.java (revision 991583) +++ src/main/java/org/apache/hadoop/hbase/LocalHBaseCluster.java (working copy) @@ -49,10 +49,6 @@ * that is 'local', not 'localhost', and the port number the master should use * instead of 60000. * - *

To make 'local' mode more responsive, make values such as - * hbase.regionserver.msginterval, - * hbase.master.meta.thread.rescanfrequency, and - * hbase.server.thread.wakefrequency a second or less. */ public class LocalHBaseCluster { static final Log LOG = LogFactory.getLog(LocalHBaseCluster.class); Index: src/main/java/org/apache/hadoop/hbase/master/ServerManager.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/master/ServerManager.java (revision 991583) +++ src/main/java/org/apache/hadoop/hbase/master/ServerManager.java (working copy) @@ -126,16 +126,14 @@ this.master = master; this.services = services; Configuration c = master.getConfiguration(); - int metaRescanInterval = c.getInt("hbase.master.meta.thread.rescanfrequency", - 60 * 1000); + int monitorInterval = c.getInt("hbase.master.monitor.interval", 60 * 1000); this.minimumServerCount = c.getInt("hbase.regions.server.count.min", 1); this.metrics = new MasterMetrics(master.getServerName()); - this.serverMonitorThread = new ServerMonitor(metaRescanInterval, master); + this.serverMonitorThread = new ServerMonitor(monitorInterval, master); String n = Thread.currentThread().getName(); Threads.setDaemonThreadRunning(this.serverMonitorThread, n + ".serverMonitor"); - this.logCleaner = new LogCleaner( - c.getInt("hbase.master.meta.thread.rescanfrequency",60 * 1000), + this.logCleaner = new LogCleaner(c.getInt("hbase.master.cleaner.interval", 60 * 1000), master, c, this.services.getMasterFileSystem().getFileSystem(), this.services.getMasterFileSystem().getOldLogDir()); Threads.setDaemonThreadRunning(logCleaner, @@ -580,4 +578,4 @@ public boolean isClusterShutdown() { return this.clusterShutdown; } -} \ No newline at end of file +} Index: src/main/java/org/apache/hadoop/hbase/master/HMaster.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/master/HMaster.java (revision 991583) +++ src/main/java/org/apache/hadoop/hbase/master/HMaster.java (working copy) @@ -467,7 +467,8 @@ private static Chore getAndStartBalancerChore(final HMaster master) { String name = master.getServerName() + "-balancerChore"; - int period = master.getConfiguration().getInt("hbase.balancer.period", 600000); + int period = master.getConfiguration(). + getInt("hbase.master.balancer.period", 3000000); // Start up the load balancer chore Chore chore = new Chore(name, period, master) { @Override Index: src/main/resources/hbase-default.xml =================================================================== --- src/main/resources/hbase-default.xml (revision 991583) +++ src/main/resources/hbase-default.xml (working copy) @@ -72,13 +72,6 @@ - hbase.master.meta.thread.rescanfrequency - 60000 - How long the HMaster sleeps (in milliseconds) between scans of - the root and meta tables. - - - hbase.regionserver.port 60020 The port an HBase region server binds to. @@ -164,10 +157,10 @@ hbase.regionserver.msginterval - 1000 + 3000 Interval between messages from the RegionServer to HMaster - in milliseconds. Use a high value like 3000 for clusters with more than 10 - nodes. Default is 1 second so that HBase seems more 'live'. + in milliseconds. Use a high value for clusters with more than 100 + nodes. Default is 3 seconds. @@ -268,30 +261,13 @@ - hbase.regionserver.global.memstore.upperLimit - 0.4 - Maximum size of all memstores in a region server before new - updates are blocked and flushes are forced. Defaults to 40% of heap + hbase.master.balancer.period + + 300000 + Period at which the balancer runs in the master. - hbase.regionserver.global.memstore.lowerLimit - 0.35 - When memstores are being forced to flush to make room in - memory, keep flushing until we hit this mark. Defaults to 30% of heap. - This value equal to hbase.regionserver.global.memstore.upperLimit causes - the minimum possible flushing to occur when updates are blocked due to - memstore limiting. - - - - hbase.hbasemaster.maxregionopen - 120000 - Period to wait for a region open. If regionserver - takes longer than this interval, assign to a new regionserver. - - - hbase.master.logcleaner.ttl 600000 Maximum time a log can stay in the .oldlogdir directory, @@ -310,17 +286,27 @@ - hbase.regions.percheckin - 10 - Maximum number of regions that can be assigned in a single go - to a region server. + hbase.regionserver.global.memstore.upperLimit + 0.4 + Maximum size of all memstores in a region server before new + updates are blocked and flushes are forced. Defaults to 40% of heap + hbase.regionserver.global.memstore.lowerLimit + 0.35 + When memstores are being forced to flush to make room in + memory, keep flushing until we hit this mark. Defaults to 30% of heap. + This value equal to hbase.regionserver.global.memstore.upperLimit causes + the minimum possible flushing to occur when updates are blocked due to + memstore limiting. + + + hbase.server.thread.wakefrequency 10000 Time to sleep in between searches for work (in milliseconds). - Used as sleep interval by service threads such as META scanner and log roller. + Used as sleep interval by service threads such as log roller. @@ -418,13 +404,6 @@ - hbase.regions.slop - 0.3 - Rebalance if regionserver has average + (average * slop) regions. - Default is 30% slop. - - - hfile.min.blocksize.size 65536 Minimum store file block size. The smaller you make this, the Index: pom.xml =================================================================== --- pom.xml (revision 991583) +++ pom.xml (working copy) @@ -290,11 +290,12 @@ com.agilejava.docbkx docbkx-maven-plugin - 2.0.10 + 2.0.11 generate-html + generate-pdf pre-site