GitHub user BinShi-SecularBird opened a pull request:
https://github.com/apache/phoenix/pull/347
In BaseResultIterators.getParallelScans(...), performa binary search â¦
â¦instead of linear search for the first guide post in the first region of
the targeted scan ranges. In details:
1. The aglorithm continuously decodes and loads guide posts in batches
and perform binary search in each batch, until it finds the start key of the
first region in the scan ranges or its insertion position.
There are two reasons to use moving windows to load guide posts in
batches.
a. Firstly, we don't want to load all guide posts in the memory to
increase memory footprint.
b. Secondly, we don't want to decode and load the guide posts beyond
the targed scan ranges to increase the system overhead.
2. Added config parameter STATS_GUIDEPOST_MOVING_WINDOW_SIZE to denote
the size of moving window used for loading guid posts.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/BinShi-SecularBird/phoenix PHOENIX-4594
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/phoenix/pull/347.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #347
----
commit 7b528cb324c1941c554575be207c44f9b81ef420
Author: Bin Shi <bshi@...>
Date: 2018-09-13T21:45:05Z
In BaseResultIterators.getParallelScans(...), performa binary search
instead of linear search for the first guide post in the first region of the
targeted scan ranges. In details:
1. The aglorithm continuously decodes and loads guide posts in batches
and perform binary search in each batch, until it finds the start key of the
first region in the scan ranges or its insertion position.
There are two reasons to use moving windows to load guide posts in
batches.
a. Firstly, we don't want to load all guide posts in the memory to
increase memory footprint.
b. Secondly, we don't want to decode and load the guide posts beyond
the targed scan ranges to increase the system overhead.
2. Added config parameter STATS_GUIDEPOST_MOVING_WINDOW_SIZE to denote
the size of moving window used for loading guid posts.
----
---