HBASE-26087 JVM crash when displaying RPC params by MonitoredRPCHandler (#3489)

Signed-off-by: stack <stack@apache.org>
This commit is contained in:
Xiaolin Ha 2021-08-18 13:28:46 +08:00 committed by haxiaolin
parent 10c837f0e4
commit 33e15a261d
1 changed files with 3 additions and 10 deletions

View File

@ -25,6 +25,7 @@ import java.util.Map;
import org.apache.hadoop.hbase.client.Operation;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
import org.apache.yetus.audience.InterfaceAudience;
import org.apache.hbase.thirdparty.com.google.protobuf.Message;
@ -56,8 +57,8 @@ public class MonitoredRPCHandlerImpl extends MonitoredTaskImpl
@Override
public synchronized MonitoredRPCHandlerImpl clone() {
MonitoredRPCHandlerImpl clone = (MonitoredRPCHandlerImpl) super.clone();
clone.setCallInfoMap(generateCallInfoMap());
clone.setSnapshot(true);
clone.callInfoMap = generateCallInfoMap();
clone.snapshot = true;
return clone;
}
@ -241,14 +242,6 @@ public class MonitoredRPCHandlerImpl extends MonitoredTaskImpl
return this.snapshot ? this.callInfoMap : generateCallInfoMap();
}
public void setSnapshot(boolean snapshot) {
this.snapshot = snapshot;
}
public void setCallInfoMap(Map<String, Object> callInfoMap) {
this.callInfoMap = callInfoMap;
}
private Map<String, Object> generateCallInfoMap() {
// only include RPC info if the Handler is actively servicing an RPC call
Map<String, Object> map = super.toMap();