[
https://issues.apache.org/jira/browse/HBASE-26869?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
chenglei updated HBASE-26869:
-----------------------------
Summary: RSRpcServices.scan should deep clone cells when RpcCallContext is
null (was: RSRpcServices.scan should deep clone cells when RpcCallContext is
null.)
> RSRpcServices.scan should deep clone cells when RpcCallContext is null
> ----------------------------------------------------------------------
>
> Key: HBASE-26869
> URL: https://issues.apache.org/jira/browse/HBASE-26869
> Project: HBase
> Issue Type: Bug
> Components: regionserver
> Affects Versions: 3.0.0-alpha-2, 2.4.11
> Reporter: chenglei
> Priority: Major
>
> When inspect HBASAE-26812, I find that if {{RpcCallContext}} is null,
> {{RSRpcServices.scan}} does not set {{ServerCall.rpcCallback}} and directly
> closes {{RegionScannerImpl}}, but it does not deep clone the result cells ,
> so these cells may be returned to the {{ByteBuffAllocator}} and may be
> overwritten before the caller reads them, and at the same time, if
> {{RpcCallContext}} is null, when {{RSRpcServices.scan}} return partial
> results, it does not invoke {{RegionScannerImpl.shipped}} to release the used
> resources such as {{HFileScanner}}, pooled {{ByteBuffer}} etc.
> No matter {{ShortCircuitingClusterConnection}} should be removed or not, I
> think we should fix this {{RSRpcServices.scan}} problem for future
> maintainability.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)