[
https://issues.apache.org/jira/browse/PHOENIX-539?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14053907#comment-14053907
]
James Taylor commented on PHOENIX-539:
--------------------------------------
[~gabriel.reid] - thanks so much for the patch. Sorry for the delay, but I
missed the notification for this. [~maryannxue] would be the best one to
suggest how to improve that check, but not sure if she's back online yet or not.
[~lhofhansl] - would you mind reviewing this or at a minimum explaining the
approach you taken/were planning to take? As I understand your approach, you're
leaving the Scanner open for each parallel scan (as they don't consume
resources on the server-side). The results are put in a blocking queue on the
client with a depth of the number of parallel scans. The next calls on the
client then pace the next calls done through the Scanners.
I'm +1 on the patch, as this is definitely an improvement, but it'd be ideal if
some simplifcation on the overall parallelization/spooling could be done.
Couple of questions/comments: It seems that you disable your optimization when
an order by is present or when a join is being done. Can you document why this
is the case? Also, can you add a HashJoinInfo.isHashJoin(Scan) call that just
checks for the existence of one of the join attributes on the scan instead of
deserializing the info?
> Implement parallel scanner that does not spool to disk
> ------------------------------------------------------
>
> Key: PHOENIX-539
> URL: https://issues.apache.org/jira/browse/PHOENIX-539
> Project: Phoenix
> Issue Type: Task
> Reporter: James Taylor
> Assignee: larsh
> Attachments: PHOENIX-539.patch
>
>
> In scenarios where a LIMIT is not present on a non aggregate query that will
> return a lot of results, Phoenix spools the results to disk. This is less
> than ideal in these situations. @larsh has created a very good and relatively
> simple implementation that is queue based to replace this.
--
This message was sent by Atlassian JIRA
(v6.2#6252)