You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2014/03/06 06:31:52 UTC

svn commit: r1574772 - in /hbase/branches/0.98/hbase-client/src: main/java/org/apache/hadoop/hbase/client/ test/java/org/apache/hadoop/hbase/client/

Author: apurtell
Date: Thu Mar  6 05:31:52 2014
New Revision: 1574772

URL: http://svn.apache.org/r1574772
Log:
HBASE-9990 HTable uses the conf for each newCaller (Nicolas Liochon)

Modified:
    hbase/branches/0.98/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RpcRetryingCaller.java
    hbase/branches/0.98/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RpcRetryingCallerFactory.java
    hbase/branches/0.98/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestAsyncProcess.java

Modified: hbase/branches/0.98/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RpcRetryingCaller.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.98/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RpcRetryingCaller.java?rev=1574772&r1=1574771&r2=1574772&view=diff
==============================================================================
--- hbase/branches/0.98/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RpcRetryingCaller.java (original)
+++ hbase/branches/0.98/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RpcRetryingCaller.java Thu Mar  6 05:31:52 2014
@@ -29,7 +29,6 @@ import java.util.List;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.classification.InterfaceAudience;
-import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.DoNotRetryIOException;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.ipc.RpcClient;
@@ -65,15 +64,9 @@ public class RpcRetryingCaller<T> {
   private final long pause;
   private final int retries;
 
-  public RpcRetryingCaller(Configuration conf) {
-    this.pause = conf.getLong(HConstants.HBASE_CLIENT_PAUSE,
-      HConstants.DEFAULT_HBASE_CLIENT_PAUSE);
-    this.retries =
-        conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,
-          HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER);
-    this.callTimeout = conf.getInt(
-        HConstants.HBASE_CLIENT_OPERATION_TIMEOUT,
-        HConstants.DEFAULT_HBASE_CLIENT_OPERATION_TIMEOUT);
+  public RpcRetryingCaller(long pause, int retries) {
+    this.pause = pause;
+    this.retries = retries;
   }
 
   private void beforeCall() {

Modified: hbase/branches/0.98/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RpcRetryingCallerFactory.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.98/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RpcRetryingCallerFactory.java?rev=1574772&r1=1574771&r2=1574772&view=diff
==============================================================================
--- hbase/branches/0.98/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RpcRetryingCallerFactory.java (original)
+++ hbase/branches/0.98/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RpcRetryingCallerFactory.java Thu Mar  6 05:31:52 2014
@@ -18,6 +18,7 @@
 package org.apache.hadoop.hbase.client;
 
 import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.util.ReflectionUtils;
 
 /**
@@ -28,13 +29,21 @@ public class RpcRetryingCallerFactory {
   /** Configuration key for a custom {@link RpcRetryingCaller} */
   public static final String CUSTOM_CALLER_CONF_KEY = "hbase.rpc.callerfactory.class";
   protected final Configuration conf;
+  private final long pause;
+  private final int retries;
 
   public RpcRetryingCallerFactory(Configuration conf) {
     this.conf = conf;
+    pause = conf.getLong(HConstants.HBASE_CLIENT_PAUSE,
+        HConstants.DEFAULT_HBASE_CLIENT_PAUSE);
+    retries = conf.getInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER,
+        HConstants.DEFAULT_HBASE_CLIENT_RETRIES_NUMBER);
   }
 
   public <T> RpcRetryingCaller<T> newCaller() {
-    return new RpcRetryingCaller<T>(conf);
+    // We store the values in the factory instance. This way, constructing new objects
+    //  is cheap as it does not require parsing a complex structure.
+    return new RpcRetryingCaller<T>(pause, retries);
   }
 
   public static RpcRetryingCallerFactory instantiate(Configuration configuration) {
@@ -44,4 +53,4 @@ public class RpcRetryingCallerFactory {
     return ReflectionUtils.instantiateWithCustomCtor(rpcCallerFactoryClazz,
       new Class[] { Configuration.class }, new Object[] { configuration });
   }
-}
\ No newline at end of file
+}

Modified: hbase/branches/0.98/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestAsyncProcess.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.98/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestAsyncProcess.java?rev=1574772&r1=1574771&r2=1574772&view=diff
==============================================================================
--- hbase/branches/0.98/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestAsyncProcess.java (original)
+++ hbase/branches/0.98/hbase-client/src/test/java/org/apache/hadoop/hbase/client/TestAsyncProcess.java Thu Mar  6 05:31:52 2014
@@ -106,7 +106,7 @@ public class TestAsyncProcess {
     protected RpcRetryingCaller<MultiResponse> createCaller(MultiServerCallable<Row> callable) {
       final MultiResponse mr = createMultiResponse(callable.getLocation(), callable.getMulti(),
           nbMultiResponse, nbActions);
-      return new RpcRetryingCaller<MultiResponse>(conf) {
+      return new RpcRetryingCaller<MultiResponse>(100, 10) {
         @Override
         public MultiResponse callWithoutRetries( RetryingCallable<MultiResponse> callable)
         throws IOException, RuntimeException {