[
https://issues.apache.org/jira/browse/PHOENIX-5793?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17065532#comment-17065532
]
chenglei commented on PHOENIX-5793:
-----------------------------------
Some suggesions:
# The code in your while loop is somewhat complex, you may use
{{ExecutorCompletionService}} to simplify your logic.
# You may not use the public
{{context.getConnection().getQueryServices().getExecutor()}} thread pool, just
two threads, a private threadpool is enough.
# You would better add tests for your {{fast null return}} cases.
> Support parallel init and fast null return for SortMergeJoinPlan.
> -----------------------------------------------------------------
>
> Key: PHOENIX-5793
> URL: https://issues.apache.org/jira/browse/PHOENIX-5793
> Project: Phoenix
> Issue Type: Improvement
> Reporter: Chen Feng
> Assignee: Chen Feng
> Priority: Minor
> Attachments: PHOENIX-5793-v2.patch, PHOENIX-5793-v3.patch
>
>
> For a join sql like A join B. The implementation of SortMergeJoinPlan
> currently inits the two iterators A and B one by one.
> By initializing A and B in parallel, we can improve performance in two
> aspects.
> 1) By overlapping the time in initializing.
> 2) If one child query is null, the other child query can be canceled since
> the final result must be null.
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)