Author: tedyu
Date: Mon Aug 22 21:03:05 2011
New Revision: 1160435

URL: http://svn.apache.org/viewvc?rev=1160435&view=rev
Log:
HBASE-4237  Directly remove the call being handled from the map of outstanding 
RPCs
               (Benoit Sigoure)

Modified:
    hbase/trunk/CHANGES.txt
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java

Modified: hbase/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hbase/trunk/CHANGES.txt?rev=1160435&r1=1160434&r2=1160435&view=diff
==============================================================================
--- hbase/trunk/CHANGES.txt (original)
+++ hbase/trunk/CHANGES.txt Mon Aug 22 21:03:05 2011
@@ -389,6 +389,8 @@ Release 0.91.0 - Unreleased
                (Riley Patterson)
    HBASE-4230  Compaction threads need names
    HBASE-4236  Don't lock the stream while serializing the response (Benoit 
Sigoure)
+   HBASE-4237  Directly remove the call being handled from the map of 
outstanding RPCs
+               (Benoit Sigoure)
 
   TASKS
    HBASE-3559  Move report of split to master OFF the heartbeat channel

Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java
URL: 
http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java?rev=1160435&r1=1160434&r2=1160435&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java 
(original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HBaseClient.java Mon 
Aug 22 21:03:05 2011
@@ -557,14 +557,13 @@ public class HBaseClient {
         if (LOG.isDebugEnabled())
           LOG.debug(getName() + " got value #" + id);
 
-        Call call = calls.get(id);
+        Call call = calls.remove(id);
 
         boolean isError = in.readBoolean();     // read if error
         if (isError) {
           //noinspection ThrowableInstanceNeverThrown
           call.setException(new RemoteException( WritableUtils.readString(in),
               WritableUtils.readString(in)));
-          calls.remove(id);
         } else {
           Writable value = ReflectionUtils.newInstance(valueClass, conf);
           value.readFields(in);                 // read value
@@ -573,7 +572,6 @@ public class HBaseClient {
           if (call != null) {
             call.setValue(value);
           }
-          calls.remove(id);
         }
       } catch (IOException e) {
         if (e instanceof SocketTimeoutException && remoteId.rpcTimeout > 0) {


Reply via email to