This is an automated email from the ASF dual-hosted git repository.
haxiaolin pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2 by this push:
new b683729 HBASE-25981 JVM crash when displaying RegionServer UI (#3364)
b683729 is described below
commit b6837295f35c97ccedd2c7a7e4c6deb50acc3289
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 a3bc367..e5354d7 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
@@ -160,6 +160,7 @@ public class CallRunner {
sucessful = true;
}
}
+ 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
@@ -167,8 +168,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)) {
@@ -192,6 +191,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();
}
}