[jira] [Created] (PHOENIX-4606) SELECT DISTINCT cause OutOfOrderScannerNextException
Alexey Karpov created PHOENIX-4606: -- Summary: SELECT DISTINCT cause OutOfOrderScannerNextException Key: PHOENIX-4606 URL: https://issues.apache.org/jira/browse/PHOENIX-4606 Project: Phoenix Issue Type: Bug Affects Versions: 4.7.0 Reporter: Alexey Karpov I am getting below exception in SELECT DISTINCT query if I use DISTINCT on VARCHAR column and there is a value with length more then 32 767 symbols. Same for GROUP BY operator. The exception dissappears if I either delete this long value or use DISTINCT(SUBSTR(description, 0, 32767)). I use HDP 2.6.4 and Phoenix 4.7 Full exception: org.apache.phoenix.iterate.BaseResultIterators: Failed to execute task during cancel java.util.concurrent.ExecutionException: org.apache.phoenix.exception.PhoenixIOException: Failed after retry of OutOfOrderScannerNextException: was there a rpc timeout? at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:192) at org.apache.phoenix.iterate.BaseResultIterators.close(BaseResultIterators.java:900) at org.apache.phoenix.iterate.BaseResultIterators.getIterators(BaseResultIterators.java:836) at org.apache.phoenix.iterate.BaseResultIterators.getIterators(BaseResultIterators.java:719) at org.apache.phoenix.iterate.MergeSortResultIterator.getMinHeap(MergeSortResultIterator.java:72) at org.apache.phoenix.iterate.MergeSortResultIterator.minIterator(MergeSortResultIterator.java:93) at org.apache.phoenix.iterate.MergeSortResultIterator.next(MergeSortResultIterator.java:58) at org.apache.phoenix.iterate.BaseGroupedAggregatingResultIterator.next(BaseGroupedAggregatingResultIterator.java:64) at org.apache.phoenix.jdbc.PhoenixResultSet.next(PhoenixResultSet.java:778) at org.apache.calcite.avatica.jdbc.JdbcResultSet.frame(JdbcResultSet.java:148) at org.apache.calcite.avatica.jdbc.JdbcResultSet.create(JdbcResultSet.java:101) at org.apache.calcite.avatica.jdbc.JdbcResultSet.create(JdbcResultSet.java:81) at org.apache.calcite.avatica.jdbc.JdbcMeta.prepareAndExecute(JdbcMeta.java:740) at org.apache.calcite.avatica.remote.LocalService.apply(LocalService.java:219) at org.apache.calcite.avatica.remote.Service$PrepareAndExecuteRequest.accept(Service.java:928) at org.apache.calcite.avatica.remote.Service$PrepareAndExecuteRequest.accept(Service.java:880) at org.apache.calcite.avatica.remote.AbstractHandler.apply(AbstractHandler.java:94) at org.apache.calcite.avatica.remote.ProtobufHandler.apply(ProtobufHandler.java:46) at org.apache.calcite.avatica.server.AvaticaProtobufHandler.handle(AvaticaProtobufHandler.java:127) at org.apache.phoenix.shaded.org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52) at org.apache.phoenix.shaded.org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.apache.phoenix.shaded.org.eclipse.jetty.server.Server.handle(Server.java:499) at org.apache.phoenix.shaded.org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311) at org.apache.phoenix.shaded.org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) at org.apache.phoenix.shaded.org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544) at org.apache.phoenix.shaded.org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.apache.phoenix.shaded.org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Thread.java:745) Caused by: org.apache.phoenix.exception.PhoenixIOException: Failed after retry of OutOfOrderScannerNextException: was there a rpc timeout? at org.apache.phoenix.util.ServerUtil.parseServerException(ServerUtil.java:115) at org.apache.phoenix.iterate.TableResultIterator.next(TableResultIterator.java:165) at org.apache.phoenix.iterate.OrderedResultIterator.getResultIterator(OrderedResultIterator.java:254) at org.apache.phoenix.iterate.OrderedResultIterator.peek(OrderedResultIterator.java:277) at org.apache.phoenix.iterate.ParallelIterators$1.call(ParallelIterators.java:117) at org.apache.phoenix.iterate.ParallelIterators$1.call(ParallelIterators.java:106) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at
[jira] [Created] (PHOENIX-4632) Phoenix does not use local index if there is a field in where clause not included in index
Alexey Karpov created PHOENIX-4632: -- Summary: Phoenix does not use local index if there is a field in where clause not included in index Key: PHOENIX-4632 URL: https://issues.apache.org/jira/browse/PHOENIX-4632 Project: Phoenix Issue Type: Bug Affects Versions: 4.7.0 Reporter: Alexey Karpov HDP 2.6.2, Phoenix 4.7.0, HBase 1.1.2.2.6.2.0-205 If in WHERE clause you have one field from the local index and one not from the index, combined with AND operator, Phoenix decides to do a full scan. Steps to reproduce: CREATE TABLE test (id integer NOT NULL PRIMARY KEY, name VARCHAR, description VARCHAR) CREATE LOCAL INDEX ix_test_name ON test(name) explain SELECT * FROM test WHERE name = 'a' AND description = 'b' CLIENT 1-CHUNK PARALLEL 1-WAY ROUND ROBIN FULL SCAN OVER TEST SERVER FILTER BY (NAME = 'a' AND DESCRIPTION = 'b') After removing not indexed field in starts working as expected: explain SELECT * FROM test WHERE name = 'a' CLIENT 1-CHUNK PARALLEL 1-WAY ROUND ROBIN RANGE SCAN OVER TEST [1,'a'] SERVER FILTER BY FIRST KEY ONLY -- This message was sent by Atlassian JIRA (v7.6.3#76005)