[ https://issues.apache.org/jira/browse/PHOENIX-2842?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15246866#comment-15246866 ]
Samarth Jain commented on PHOENIX-2842: --------------------------------------- Actually, I think I will take up this JIRA myself since the work needed here affects my patch for PHOENIX-2724. > Queries with offset shouldn't be using Spooling and chunked result iterators > ---------------------------------------------------------------------------- > > Key: PHOENIX-2842 > URL: https://issues.apache.org/jira/browse/PHOENIX-2842 > Project: Phoenix > Issue Type: Bug > Reporter: Samarth Jain > Assignee: Ankit Singhal > > While reworking our serial queries for PHOENIX-2724, I noticed that queries > with offset are always using SpoolingResultIterator and ChunkedResultIterator > when there is no non-row key order by. > In ScanPlan.java > {code} > private static ParallelIteratorFactory > buildResultIteratorFactory(StatementContext context, FilterableStatement > statement, > TableRef table, OrderBy orderBy, Integer limit,Integer offset, > boolean allowPageFilter) throws SQLException { > if ((isSerial(context, statement, table, orderBy, limit, offset, > allowPageFilter) > || ScanUtil.isRoundRobinPossible(orderBy, context) || > ScanUtil.isPacingScannersPossible(context)) > && *offset == null*) { return > ParallelIteratorFactory.NOOP_FACTORY; } > {code} > Spooling and chunking is deprecated. So the code shouldn't be relying on them > to be used always. Removing the offset != null check, unfortunately causes > tests to fail in QueryWithOffsetIT.java. This is because if we don't create > chunked result iterators, server side scanners are not getting advanced up to > the offset. > [~ankit.singhal] - can you please check? -- This message was sent by Atlassian JIRA (v6.3.4#6332)