HBASE-5141 Memory leak in MonitoredRPCHandlerImpl -- REDO

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1228749 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Michael Stack 2012-01-07 22:47:56 +00:00
parent 45b7b8955b
commit d821f6fcfc
2 changed files with 8 additions and 0 deletions

View File

@ -1343,6 +1343,7 @@ public abstract class HBaseServer implements RpcServer {
errorClass, error); errorClass, error);
} }
call.sendResponseIfReady(); call.sendResponseIfReady();
status.markComplete("Sent response");
} catch (InterruptedException e) { } catch (InterruptedException e) {
if (running) { // unexpected -- log it if (running) { // unexpected -- log it
LOG.info(getName() + " caught: " + LOG.info(getName() + " caught: " +

View File

@ -217,6 +217,13 @@ public class MonitoredRPCHandlerImpl extends MonitoredTaskImpl
this.remotePort = remotePort; this.remotePort = remotePort;
} }
@Override
public void markComplete(String status) {
super.markComplete(status);
this.params = null;
this.packet = null;
}
public synchronized Map<String, Object> toMap() { public synchronized Map<String, Object> toMap() {
// only include RPC info if the Handler is actively servicing an RPC call // only include RPC info if the Handler is actively servicing an RPC call
Map<String, Object> map = super.toMap(); Map<String, Object> map = super.toMap();