[
https://issues.apache.org/jira/browse/HBASE-20891?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vikas Vishwakarma updated HBASE-20891:
--------------------------------------
Summary: Avoid intermediate array to arraylist inter-conversions while
loading scan cache (was: Avoid intermediate array to arraylist conversions
while loading scan cache)
> Avoid intermediate array to arraylist inter-conversions while loading scan
> cache
> --------------------------------------------------------------------------------
>
> Key: HBASE-20891
> URL: https://issues.apache.org/jira/browse/HBASE-20891
> Project: HBase
> Issue Type: Bug
> Components: Client
> Affects Versions: 3.0.0, 2.1.0
> Reporter: Vikas Vishwakarma
> Assignee: Vikas Vishwakarma
> Priority: Major
>
> As discussed in HBASE-20866, we would like to avoid array to arraylist
> conversions while loading scan cache which is currently happening as part of
> partial result handling. In HBASE-20866 we are handling the changes for
> branch-1.x. In this request we will handle it for branch-2 and master branch,
> since the code has been refactored and will require more changes compared to
> branch-1
> Also preliminary look at the master branch shows that result handling has
> been separated out into AllowPartialScanResultCache, BatchScanResultCache and
> CompleteScanResultCache.
> In case of BatchScanResultCache we are actually converting Result[] to
> List<Result> for result grooming and then List<Result> back to toArray
> before returning to loadCache() where it is added to cache.
> So in case of BatchScanResultCache if we are able to directly load the
> results to cache then we would be avoiding two intermediate conversions
> * result Array to ArrayList in BatchScanResultCache for result grooming
> * ArrayList to array conversion while returning to loadCache()
> Which will probably give higher performance improvement compared to branch-1
> case handled in HBASE-20866 where we avoided just one result array to
> arraylist conversion and saw upto 10% improvement in scan performance
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)