You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Xiaolin Ha (Jira)" <ji...@apache.org> on 2021/07/14 12:48:00 UTC
[jira] [Created] (HBASE-26087) JVM crash when displaying RPC params
by MonitoredRPCHandler
Xiaolin Ha created HBASE-26087:
----------------------------------
Summary: JVM crash when displaying RPC params by MonitoredRPCHandler
Key: HBASE-26087
URL: https://issues.apache.org/jira/browse/HBASE-26087
Project: HBase
Issue Type: Bug
Components: UI
Affects Versions: 2.0.0, 3.0.0-alpha-1
Reporter: Xiaolin Ha
Assignee: Xiaolin Ha
It is the same problem as HBASE-25981.
The reason here is MonitoredRPCHandlerImpl uses the shallow copy of call param to displaying RPC info, but the param contains offheap request data. Thought when calling toMap() there is state checking for the monitored RPC, only RUNNING RPCs can read and display params, the state is ENUM type and like a constant in clone().
So there exists circumstances that the state in the clone MonitoredRPCHandler is RUNNING, but the param still refers to the cloned MonitoredRPCHandler, whose state changed to be not RUNNING and param referred offheap ByteBuffer is released.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)