[
https://issues.apache.org/jira/browse/PHOENIX-7524?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Viraj Jasani reassigned PHOENIX-7524:
-------------------------------------
Assignee: Saurabh Rai
> CDC Query with OFFSET can throw IndexOutOfBoundsException
> ---------------------------------------------------------
>
> Key: PHOENIX-7524
> URL: https://issues.apache.org/jira/browse/PHOENIX-7524
> Project: Phoenix
> Issue Type: Bug
> Reporter: Palash Chauhan
> Assignee: Saurabh Rai
> Priority: Major
>
> Steps to reproduce
> {code:java}
> conn.createStatement().execute("CREATE TABLE IF NOT EXISTS MYTABLE (k VARCHAR
> NOT NULL PRIMARY KEY, v1 INTEGER, v2 INTEGER)");
> conn.createStatement().execute("CREATE CDC CDC_MYTABLE ON MYTABLE");
> conn.createStatement().executeUpdate("UPSERT INTO MYTABLE VALUES ('a', 1,
> 2)");
> conn.commit();
> ResultSet rs = conn.createStatement().executeQuery("SELECT * FROM CDC_MYTABLE
> WHERE PHOENIX_ROW_TIMESTAMP() > CURRENT_TIME() LIMIT 1 OFFSET 1");
> while (rs.next()) {
> }{code}
> Error:
> {code:java}
> org.apache.phoenix.exception.PhoenixIOException:
> org.apache.hadoop.hbase.DoNotRetryIOException:
> PHOENIX_CDC_INDEX_CDC_MYTABLE,,1738877812042.2c10806ae665db7e6da9613791d9298f.:
> Index 0 out of bounds for length 0
> at
> org.apache.phoenix.util.ClientUtil.createIOException(ClientUtil.java:174)
> at
> org.apache.phoenix.util.ClientUtil.throwIOException(ClientUtil.java:182)
> at
> org.apache.phoenix.iterate.NonAggregateRegionScannerFactory$1.next(NonAggregateRegionScannerFactory.java:523)
> at
> org.apache.phoenix.iterate.NonAggregateRegionScannerFactory$1.nextRaw(NonAggregateRegionScannerFactory.java:531)
> at
> org.apache.phoenix.coprocessor.DelegateRegionScanner.next(DelegateRegionScanner.java:110)
> at
> org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:77)
> at
> org.apache.phoenix.coprocessor.DelegateRegionScanner.next(DelegateRegionScanner.java:110)
> at
> org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:77)
> at
> org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:271)
> at
> org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:3402)
> at
> org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:3668)
> at
> org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:45006)
> at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:415)
> at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:124)
> at org.apache.hadoop.hbase.ipc.RpcHandler.run(RpcHandler.java:102)
> at org.apache.hadoop.hbase.ipc.RpcHandler.run(RpcHandler.java:82)
> Caused by: java.lang.IndexOutOfBoundsException: Index 0 out of bounds for
> length 0
> at
> java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
> at
> java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
> at
> java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
> at java.base/java.util.Objects.checkIndex(Objects.java:372)
> at java.base/java.util.ArrayList.get(ArrayList.java:459)
> at
> org.apache.phoenix.schema.tuple.MultiKeyValueTuple.getKey(MultiKeyValueTuple.java:51)
> at
> org.apache.phoenix.iterate.NonAggregateRegionScannerFactory.getOffsetKvWithLastScannedRowKey(NonAggregateRegionScannerFactory.java:570)
> at
> org.apache.phoenix.iterate.NonAggregateRegionScannerFactory.access$000(NonAggregateRegionScannerFactory.java:95)
> at
> org.apache.phoenix.iterate.NonAggregateRegionScannerFactory$1.next(NonAggregateRegionScannerFactory.java:507)
> ... 13 more
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)