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

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

  was:
For HBASAE-26812, I found 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.


> 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)

Reply via email to