[
https://issues.apache.org/jira/browse/HBASE-26869?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17510239#comment-17510239
]
chenglei commented on HBASE-26869:
----------------------------------
[~larsh], thank you very much for verifying the slow scanning problem and code
review, this code in master is the same as the 2.x, so though the probability
of this problem in master is very small, I think we should also fix it in
master for future maintainability and safety.
> 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
> Assignee: 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, similar as HBASE-26036, 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 this {{RSRpcServices.scan}} problem should fix for future
> maintainability.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)