You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "James Taylor (JIRA)" <ji...@apache.org> on 2014/08/09 04:08:13 UTC
[jira] [Resolved] (PHOENIX-828) Detect if split occurs while ORDER
BY query is in progress
[ https://issues.apache.org/jira/browse/PHOENIX-828?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James Taylor resolved PHOENIX-828.
----------------------------------
Resolution: Fixed
Fix Version/s: 4.1
3.1
5.0.0
We detect if we have a scan that spans region boundaries and retry, so this scenario should be fixed.
> Detect if split occurs while ORDER BY query is in progress
> ----------------------------------------------------------
>
> Key: PHOENIX-828
> URL: https://issues.apache.org/jira/browse/PHOENIX-828
> Project: Phoenix
> Issue Type: Task
> Affects Versions: 3.0-Release
> Reporter: James Taylor
> Fix For: 5.0.0, 3.1, 4.1
>
>
> There's an edge case for ORDER BY processing:
> * An ORDER BY query is chunked up and parallelized based on region boundaries
> * A split occurs after this, but before the results come back
> * The results we get back from a parallel scan will potentially no longer be ordered according to the ORDER BY, as if the scan was split up between different regions (unbeknownst to us), there'd be a point at which the order is wrong
> We should write a unit test for this first, and then there are different ways of solving it:
> * While buffering the results, detect an out-of-order row and "insert" a new ResultIterator that will take part in the merge sort.
> * Perform the ORDER BY on the client side for each parallel scan results instead of on the server-side (this is the approach we've taken with GROUP BY).
--
This message was sent by Atlassian JIRA
(v6.2#6252)