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) {