diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AsyncCall.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AsyncCall.java index ec1909a..431c669 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AsyncCall.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AsyncCall.java @@ -86,8 +86,9 @@ public class AsyncCall extends DefaultPromise { @Override public String toString() { - return "callId: " + this.id + " methodName: " + this.method.getName() + " param {" - + (this.param != null ? ProtobufUtil.getShortTextFormat(this.param) : "") + "}"; + return "callId=" + this.id + ", method=" + this.method.getName() + + ", rpcTimeout=" + this.rpcTimeout + ", param {" + + (this.param != null ? ProtobufUtil.getShortTextFormat(this.param) : "") + "}"; } /** diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.java index cfc8b1b..dbc39cf 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/AsyncRpcChannel.java @@ -146,10 +146,10 @@ public class AsyncRpcChannel { this.channel = connect(bootstrap).channel(); - name = ("IPC Client (" + channel.hashCode() + ") connection to " + + name = ("IPC Client (" + channel.hashCode() + ") to " + address.toString() + ((ticket == null) ? - " from an unknown user" : + " from unknown user" : (" from " + ticket.getName()))); } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java index 1f14ad7..8cead2a 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java @@ -611,7 +611,7 @@ public class RpcServer implements RpcServerInterface { readers[i] = reader; readPool.execute(reader); } - LOG.info(getName() + ": started " + readThreads + " reader(s)."); + LOG.info(getName() + ": started " + readThreads + " reader(s) listening on port=" + port); // Register accepts on the server socket with the selector. acceptChannel.register(selector, SelectionKey.OP_ACCEPT); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestDistributedLogSplitting.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestDistributedLogSplitting.java index 813eb49..82b0e85 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestDistributedLogSplitting.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestDistributedLogSplitting.java @@ -1,5 +1,6 @@ /** * + * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information @@ -134,7 +135,7 @@ public class TestDistributedLogSplitting { // Start a cluster with 2 masters and 6 regionservers static final int NUM_MASTERS = 2; - static final int NUM_RS = 6; + static final int NUM_RS = 5; MiniHBaseCluster cluster; HMaster master; @@ -168,6 +169,9 @@ public class TestDistributedLogSplitting { conf.setInt(HConstants.REGIONSERVER_INFO_PORT, -1); conf.setFloat(HConstants.LOAD_BALANCER_SLOP_KEY, (float) 100.0); // no load balancing conf.setInt("hbase.regionserver.wal.max.splitters", 3); + // TODO: FIXXXXXXX!!!!! We have to have this many priority handlers because in trunk master + // hosts meta and all master ops and meta update ops are on same executor. If the executor + // can only do a few handlers, we get cluster deadlock. conf.setInt(HConstants.REGION_SERVER_HIGH_PRIORITY_HANDLER_COUNT, 40); TEST_UTIL.shutdownMiniHBaseCluster(); TEST_UTIL = new HBaseTestingUtility(conf); @@ -251,7 +255,7 @@ public class TestDistributedLogSplitting { it.remove(); } } - + makeWAL(hrs, regions, "table", "family", NUM_LOG_LINES, 100); slm.splitLogDistributed(logDir); @@ -1409,7 +1413,7 @@ public class TestDistributedLogSplitting { WALSplitter.writeRegionSequenceIdFile(fs, regionDirs.get(0) , 1L, 1000L); assertEquals(newSeqId + 2000, WALSplitter.writeRegionSequenceIdFile(fs, regionDirs.get(0), 3L, 1000L)); - + Path editsdir = WALSplitter.getRegionDirRecoveredEditsDir(regionDirs.get(0)); FileStatus[] files = FSUtils.listStatus(fs, editsdir, new PathFilter() { @Override @@ -1419,14 +1423,14 @@ public class TestDistributedLogSplitting { }); // only one seqid file should exist assertEquals(1, files.length); - + // verify all seqId files aren't treated as recovered.edits files NavigableSet recoveredEdits = WALSplitter.getSplitEditFilesSorted(fs, regionDirs.get(0)); assertEquals(0, recoveredEdits.size()); - + ht.close(); - } - + } + Table installTable(ZooKeeperWatcher zkw, String tname, String fname, int nrs) throws Exception { return installTable(zkw, tname, fname, nrs, 0); } @@ -1752,4 +1756,4 @@ public class TestDistributedLogSplitting { return hrs; } -} \ No newline at end of file +} diff --git a/hbase-server/src/test/resources/hbase-site.xml b/hbase-server/src/test/resources/hbase-site.xml index 34a1b20..2d06c0a 100644 --- a/hbase-server/src/test/resources/hbase-site.xml +++ b/hbase-server/src/test/resources/hbase-site.xml @@ -51,6 +51,14 @@ 5 + hbase.regionserver.metahandler.count + 5 + + + hbase.ipc.server.read.threadpool.size + 3 + + hbase.master.info.port -1 The port for the hbase master web UI