Index: src/test/java/org/apache/hadoop/hbase/executor/TestExecutorService.java
===================================================================
--- src/test/java/org/apache/hadoop/hbase/executor/TestExecutorService.java (revision 1090059)
+++ src/test/java/org/apache/hadoop/hbase/executor/TestExecutorService.java (working copy)
@@ -28,10 +28,13 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.hbase.HBaseConfiguration;
+import org.apache.hadoop.hbase.Server;
import org.apache.hadoop.hbase.executor.EventHandler.EventType;
import org.apache.hadoop.hbase.executor.ExecutorService.Executor;
import org.apache.hadoop.hbase.executor.ExecutorService.ExecutorType;
import org.junit.Test;
+import static org.mockito.Mockito.*;
public class TestExecutorService {
private static final Log LOG = LogFactory.getLog(TestExecutorService.class);
@@ -42,6 +45,9 @@
int maxTries = 10;
int sleepInterval = 10;
+ Server mockedServer = mock(Server.class);
+ when(mockedServer.getConfiguration()).thenReturn(HBaseConfiguration.create());
+
// Start an executor service pool with max 5 threads
ExecutorService executorService = new ExecutorService("unit_test");
executorService.startExecutorService(
Index: src/test/java/org/apache/hadoop/hbase/replication/TestReplication.java
===================================================================
--- src/test/java/org/apache/hadoop/hbase/replication/TestReplication.java (revision 1090059)
+++ src/test/java/org/apache/hadoop/hbase/replication/TestReplication.java (working copy)
@@ -96,7 +96,6 @@
conf1.setLong("replication.source.sleepforretries", 100);
conf1.setInt("hbase.regionserver.maxlogs", 10);
conf1.setLong("hbase.master.logcleaner.ttl", 10);
- conf1.setLong("hbase.client.retries.number", 5);
conf1.setBoolean(HConstants.REPLICATION_ENABLE_KEY, true);
conf1.setBoolean("dfs.support.append", true);
conf1.setLong(HConstants.THREAD_WAKE_FREQUENCY, 100);
Index: src/test/resources/hbase-site.xml
===================================================================
--- src/test/resources/hbase-site.xml (revision 1090059)
+++ src/test/resources/hbase-site.xml (working copy)
@@ -32,13 +32,13 @@
hbase.client.pause
- 5000
+ 1000
General client pause value. Used mostly as value to wait
before running a retry of a failed get, region lookup, etc.
hbase.client.retries.number
- 4
+ 10
Maximum retries. Used as maximum for all retryable
operations such as fetching of the root region from root region
server, getting a cell's value, starting a row update, etc.
@@ -53,6 +53,12 @@
+ hbase.master.event.waiting.time
+ 50
+ Time to sleep between checks to see if a table event took place.
+
+
+
hbase.regionserver.handler.count
5
Count of RPC Server instances spun up on RegionServers
Index: src/main/java/org/apache/hadoop/hbase/master/handler/DeleteTableHandler.java
===================================================================
--- src/main/java/org/apache/hadoop/hbase/master/handler/DeleteTableHandler.java (revision 1090059)
+++ src/main/java/org/apache/hadoop/hbase/master/handler/DeleteTableHandler.java (working copy)
@@ -53,7 +53,7 @@
while (System.currentTimeMillis() < done) {
AssignmentManager.RegionState rs = am.isRegionInTransition(region);
if (rs == null) break;
- Threads.sleep(1000);
+ Threads.sleep(waitingTimeForEvents);
LOG.debug("Waiting on region to clear regions in transition; " + rs);
}
if (am.isRegionInTransition(region) != null) {
Index: src/main/java/org/apache/hadoop/hbase/master/handler/DisableTableHandler.java
===================================================================
--- src/main/java/org/apache/hadoop/hbase/master/handler/DisableTableHandler.java (revision 1090059)
+++ src/main/java/org/apache/hadoop/hbase/master/handler/DisableTableHandler.java (working copy)
@@ -142,7 +142,7 @@
long remaining = timeout;
List regions = null;
while (!server.isStopped() && remaining > 0) {
- Thread.sleep(1000);
+ Thread.sleep(waitingTimeForEvents);
regions = assignmentManager.getRegionsOfTable(tableName);
if (regions.isEmpty()) break;
remaining = timeout - (System.currentTimeMillis() - startTime);
Index: src/main/java/org/apache/hadoop/hbase/master/handler/EnableTableHandler.java
===================================================================
--- src/main/java/org/apache/hadoop/hbase/master/handler/EnableTableHandler.java (revision 1090059)
+++ src/main/java/org/apache/hadoop/hbase/master/handler/EnableTableHandler.java (working copy)
@@ -164,7 +164,7 @@
long remaining = timeout;
List regions = null;
while (!server.isStopped() && remaining > 0) {
- Thread.sleep(1000);
+ Thread.sleep(waitingTimeForEvents);
regions = assignmentManager.getRegionsOfTable(tableName);
if (isDone(regions)) break;
remaining = timeout - (System.currentTimeMillis() - startTime);
Index: src/main/java/org/apache/hadoop/hbase/executor/EventHandler.java
===================================================================
--- src/main/java/org/apache/hadoop/hbase/executor/EventHandler.java (revision 1090059)
+++ src/main/java/org/apache/hadoop/hbase/executor/EventHandler.java (working copy)
@@ -70,6 +70,9 @@
// Listener to call pre- and post- processing. May be null.
private EventHandlerListener listener;
+ // Time to wait for events to happen, should be kept short
+ protected final int waitingTimeForEvents;
+
/**
* This interface provides pre- and post-process hooks for events.
*/
@@ -143,6 +146,8 @@
this.server = server;
this.eventType = eventType;
seqid = seqids.incrementAndGet();
+ this.waitingTimeForEvents = server.getConfiguration().
+ getInt("hbase.master.event.waiting.time", 1000);
}
public void run() {