This is an automated email from the ASF dual-hosted git repository.
haxiaolin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/master by this push:
new 471e815 HBASE-25981 JVM crash when displaying RegionServer UI (#3364)
471e815 is described below
commit 471e8159f0376d234a7089b536b7aa3c4950bb7e
Author: Xiaolin Ha <[email protected]>
AuthorDate: Wed Jun 9 18:11:18 2021 +0800
HBASE-25981 JVM crash when displaying RegionServer UI (#3364)
Signed-off-by: Duo Zhang <[email protected]>
---
.../src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git
a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java
b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java
index 1232231..6e2c37e 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/CallRunner.java
@@ -163,6 +163,7 @@ public class CallRunner {
}
span.end();
}
+ this.status.markComplete("To send response");
// return back the RPC request read BB we can do here. It is done by now.
call.cleanup();
// Set the response
@@ -170,8 +171,6 @@ public class CallRunner {
CellScanner cells = resultPair != null ? resultPair.getSecond() : null;
call.setResponse(param, cells, errorThrowable, error);
call.sendResponseIfReady();
- this.status.markComplete("Sent response");
- this.status.pause("Waiting for a call");
} catch (OutOfMemoryError e) {
if (this.rpcServer.getErrorHandler() != null) {
if (this.rpcServer.getErrorHandler().checkOOME(e)) {
@@ -195,6 +194,11 @@ public class CallRunner {
if (!sucessful) {
this.rpcServer.addCallSize(call.getSize() * -1);
}
+
+ if (this.status.isRPCRunning()) {
+ this.status.markComplete("Call error");
+ }
+ this.status.pause("Waiting for a call");
cleanup();
}
}