diff --git a/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java b/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java
index 58c7d4ce46f..437fb137bbd 100644
--- a/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/HConstants.java
@@ -548,6 +548,16 @@ public final class HConstants {
*/
public static int DEFAULT_HBASE_CLIENT_PREFETCH_LIMIT = 10;
+ /**
+ * Parameter name to set the default scanner caching for all clients.
+ */
+ public static String HBASE_CLIENT_SCANNER_CACHING = "hbase.client.scanner.caching";
+
+ /**
+ * Default value for {@link #HBASE_CLIENT_SCANNER_CACHING}
+ */
+ public static int DEFAULT_HBASE_CLIENT_SCANNER_CACHING = 100;
+
/**
* Parameter name for number of rows that will be fetched when calling next on
* a scanner if it is not served from memory. Higher caching values will
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java
index 0f1a3aa83f2..18091b57f2d 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/client/ClientScanner.java
@@ -121,7 +121,9 @@ public class ClientScanner extends AbstractClientScanner {
if (this.scan.getCaching() > 0) {
this.caching = this.scan.getCaching();
} else {
- this.caching = conf.getInt("hbase.client.scanner.caching", 1);
+ this.caching = conf.getInt(
+ HConstants.HBASE_CLIENT_SCANNER_CACHING,
+ HConstants.DEFAULT_HBASE_CLIENT_SCANNER_CACHING);
}
// initialize the scanner
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/client/HTable.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/client/HTable.java
index 1c5bf7d8901..373a76613c8 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/client/HTable.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/client/HTable.java
@@ -258,7 +258,8 @@ public class HTable implements HTableInterface {
this.autoFlush = true;
this.currentWriteBufferSize = 0;
this.scannerCaching = this.configuration.getInt(
- "hbase.client.scanner.caching", 1);
+ HConstants.HBASE_CLIENT_SCANNER_CACHING,
+ HConstants.DEFAULT_HBASE_CLIENT_SCANNER_CACHING);
this.maxKeyValueSize = this.configuration.getInt(
"hbase.client.keyvalue.maxsize", -1);
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java
index a7ec5b53039..33786b70816 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java
@@ -1157,7 +1157,7 @@ public class HBaseClient {
conf.getInt("hbase.ipc.client.connection.maxidletime", 10000); //10s
this.maxRetries = conf.getInt("hbase.ipc.client.connect.max.retries", 0);
this.failureSleep = conf.getInt("hbase.client.pause", 1000);
- this.tcpNoDelay = conf.getBoolean("hbase.ipc.client.tcpnodelay", false);
+ this.tcpNoDelay = conf.getBoolean("hbase.ipc.client.tcpnodelay", true);
this.tcpKeepAlive = conf.getBoolean("hbase.ipc.client.tcpkeepalive", true);
this.pingInterval = getPingInterval(conf);
if (LOG.isDebugEnabled()) {
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java
index eba668ad8dd..1c9736c77cf 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java
@@ -1938,7 +1938,7 @@ public abstract class HBaseServer implements RpcServer {
this.port = listener.getAddress().getPort();
this.rpcMetrics = new HBaseRpcMetrics(
serverName, Integer.toString(this.port));
- this.tcpNoDelay = conf.getBoolean("ipc.server.tcpnodelay", false);
+ this.tcpNoDelay = conf.getBoolean("ipc.server.tcpnodelay", true);
this.tcpKeepAlive = conf.getBoolean("ipc.server.tcpkeepalive", true);
this.warnDelayedCalls = conf.getInt(WARN_DELAYED_CALLS,
diff --git a/hbase-server/src/main/resources/hbase-default.xml b/hbase-server/src/main/resources/hbase-default.xml
index a986ceefad0..08e35e31d7e 100644
--- a/hbase-server/src/main/resources/hbase-default.xml
+++ b/hbase-server/src/main/resources/hbase-default.xml
@@ -133,7 +133,7 @@
hbase.client.scanner.caching
- 1
+ 100
Number of rows that will be fetched when calling next
on a scanner if it is not served from (local, client) memory. Higher
caching values will enable faster scanners but will eat up more memory
@@ -528,6 +528,13 @@
used for client / server RPC call marshalling.
+
+ hbase.ipc.client.tcpnodelay
+ true
+ Set no delay on rpc socket connections. See
+ http://docs.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html#getTcpNoDelay()
+
+