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.

----


---

Reply via email to