Palash Chauhan created PHOENIX-7524:
---------------------------------------

             Summary: 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


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(); {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)

Reply via email to