hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Karan Mehta (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-18097) Client can save 1 RPC call for CloseScannerRequest
Date Mon, 29 May 2017 23:24:04 GMT

    [ https://issues.apache.org/jira/browse/HBASE-18097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16028663#comment-16028663

Karan Mehta commented on HBASE-18097:

The first part for saving 1 RPC request is already implemented as a part of HBASE-17508, where
the scannerId is set to -1 whenever results are not left in region. 
For the second part related to ScanResponse proto, we can save some data in RPC call. 
[~Apache9] Do you feel it is reasonable to do so from the next version?

> Client can save 1 RPC call for CloseScannerRequest
> --------------------------------------------------
>                 Key: HBASE-18097
>                 URL: https://issues.apache.org/jira/browse/HBASE-18097
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Karan Mehta
> Starting version 1.3, HBase automatically closes scanner on server side whenever the
results are exhausted and corresponding bits are set in the {{ScanResponse}} proto returned
to the client. We can use that info to eliminate the closeScanRequest RPC call, thereby saving
1 RPC per region per scan. This can be particularly useful for tables with more regions.
> Also, currently the {{ScanResponse}} proto sends out 1 bit per {{Result}} that it has
embeds inside the {{CellScanner}} to indicate if it is partial or not. 
> {code}
>     // In every RPC response there should be at most a single partial result. Furthermore,
>     // there is a partial result, it is guaranteed to be in the last position of the
> {code}
> According to client, only the last result can be partial, thus this repeated bool can
be converted to a bool, thus reducing overhead of serialization and deserialization of the
array. This will break wire compatibility therefore this is something to look for in upcoming

This message was sent by Atlassian JIRA

View raw message