[
https://issues.apache.org/jira/browse/HBASE-13926?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14592222#comment-14592222
]
stack commented on HBASE-13926:
-------------------------------
Patch LGTM
So less confusion, add to batchClose in the interface something like:
"Calls to batchClose do NOT close the scanner. It is a signal to the scanner
that it is safe to release resources creating recent results."
On BatchCloseable, anything with 'close' in it seems so final and liable to
confuse as to what is going on
What about a shipping or delivered concept? So Interface would be Shipped and
method would be 'shipped' or 'Delivered' and 'delivered'?
> Close the scanner only after Call#setResponse
> ---------------------------------------------
>
> Key: HBASE-13926
> URL: https://issues.apache.org/jira/browse/HBASE-13926
> Project: HBase
> Issue Type: Sub-task
> Components: regionserver, Scanners
> Reporter: Anoop Sam John
> Assignee: Anoop Sam John
> Fix For: 2.0.0
>
> Attachments: HBASE-13926.patch
>
>
> This is for HBASE-12295. We will be delivering cells directly from shared
> cache memory. HBASE-12295 adds a ref count based prevention mechanism to
> avoid block eviction, when that memory area in use by scanners. We will
> decrement ref count at scanner close. The memory area will be in use till a
> cellblock is created or PB scan reply message is built. So we can delay the
> close of the scanner until the response is set for the scanner Call. This is
> done via a RpcCallback way. The callback is set on Call at scan time. Once
> the setResponse is done, the Call will execute the RpcCallback.
> This jira also adds a facility to do some cleanup/close during the course of
> scan. Scan from client makes many RPCs fetching N rows each time. Only at the
> end the scanner close will happen. We will add a new batchClose() facility
> with which we can do any cleanup after every rpc call is executed and rows
> fetched for return.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)