[ 
https://issues.apache.org/jira/browse/HBASE-26869?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

chenglei updated HBASE-26869:
-----------------------------
    Description: 
When inspect HBASE-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.

  was:
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.


> 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
>             Fix For: 2.5.0, 3.0.0-alpha-3, 2.4.12
>
>
> When inspect HBASE-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.10#820010)

Reply via email to