chaijunjie created PHOENIX-7589:
-----------------------------------

             Summary: IndexOutOfBoundsException thrown when query data with 
                 Key: PHOENIX-7589
                 URL: https://issues.apache.org/jira/browse/PHOENIX-7589
             Project: Phoenix
          Issue Type: Bug
          Components: core
    Affects Versions: 5.2.1
            Reporter: chaijunjie


When query like this:
select * from MY_TABLE where TID between '100' and '110' and BID = '99' and 
DATADATE like '19%' limit 5 offset 19947;
The client will throw IndexOutOfBoundsException...

Total data nums is 19950 (between '100' and '110' and BID = '99' and DATADATE 
like '19%')
 
*Only when query data limit+offset > total data nums will cause this issue...
*

The RegionServer log is here:

{code:java}
java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
        at 
java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:100) 
~[?:?]
        at 
java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:106)
 ~[?:?]
        at 
java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:302) 
~[?:?]
        at java.base/java.util.Objects.checkIndex(Objects.java:385) ~[?:?]
        at java.base/java.util.ArrayList.get(ArrayList.java:427) ~[?:?]
        at 
org.apache.phoenix.schema.tuple.MultiKeyValueTuple.getKey(MultiKeyValueTuple.java:51)
 ~[phoenix-core-5.2.1.jar:?]
        at 
org.apache.phoenix.iterate.NonAggregateRegionScannerFactory.getOffsetKvWithLastScannedRowKey(NonAggregateRegionScannerFactory.java:460)
 ~[phoenix-core-5.2.1.jar:?]
        at 
org.apache.phoenix.iterate.NonAggregateRegionScannerFactory.access$000(NonAggregateRegionScannerFactory.java:88)
 ~[phoenix-core-5.2.1.jar:?]
        at 
org.apache.phoenix.iterate.NonAggregateRegionScannerFactory$1.next(NonAggregateRegionScannerFactory.java:407)
 [phoenix-core-5.2.1.jar:?]
        at 
org.apache.phoenix.coprocessor.BaseRegionScanner.nextRaw(BaseRegionScanner.java:56)
 [phoenix-core-5.2.1.jar:?]
        at 
org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:79)
 [phoenix-core-5.2.1.jar:?]
        at 
org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:79)
 [phoenix-core-5.2.1.jar:?]
        at 
org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:254)
 [phoenix-core-5.2.1.jar:?]
        at 
org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:4179)
 [hbase-server-2.6.1.jar:2.6.1]
        at 
org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:4456)
 [hbase-server-2.6.1.jar:2.6.1]
        at 
org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:44095)
 [hbase-protocol-shaded-2.6.1.jar:2.6.1]
        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:473) 
[hbase-server-2.6.1.jar:2.6.1]
        at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:131) 
[hbase-server-2.6.1.jar:2.6.1]
        at org.apache.hadoop.hbase.ipc.RpcHandler.run(RpcHandler.java:112) 
[hbase-server-2.6.1.jar:2.6.1]
        at org.apache.hadoop.hbase.ipc.RpcHandler.run(RpcHandler.java:92) 
[hbase-server-2.6.1.jar:2.6.1]
2025-04-25 18:14:32,860 | DEBUG | 
RpcServer.default.FPBQ.Fifo.handler=199,queue=19,port=21302 | Unknown exception 
type | 
org.apache.hadoop.hbase.ipc.MetricsHBaseServer.exception(MetricsHBaseServer.java:159)
org.apache.hadoop.hbase.DoNotRetryIOException: 
XG_CLUB_LIST,,1745463662833.1bf6df77c120968bad1086771352ddc5.: Index 0 out of 
bounds for length 0
        at 
org.apache.phoenix.util.ClientUtil.createIOException(ClientUtil.java:173) 
~[phoenix-core-5.2.1.jar:?]
        at 
org.apache.phoenix.util.ClientUtil.throwIOException(ClientUtil.java:181) 
~[phoenix-core-5.2.1.jar:?]
        at 
org.apache.phoenix.iterate.NonAggregateRegionScannerFactory$1.next(NonAggregateRegionScannerFactory.java:419)
 ~[phoenix-core-5.2.1.jar:?]
        at 
org.apache.phoenix.coprocessor.BaseRegionScanner.nextRaw(BaseRegionScanner.java:56)
 ~[phoenix-core-5.2.1.jar:?]
        at 
org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:79)
 ~[phoenix-core-5.2.1.jar:?]
        at 
org.apache.phoenix.coprocessor.DelegateRegionScanner.nextRaw(DelegateRegionScanner.java:79)
 ~[phoenix-core-5.2.1.jar:?]
        at 
org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:254)
 ~[phoenix-core-5.2.1.jar:?]
        at 
org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:4179)
 ~[hbase-server-2.6.1.jar:2.6.1]
        at 
org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:4456)
 ~[hbase-server-2.6.1.jar:2.6.1]
        at 
org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:44095)
 ~[hbase-protocol-shaded-2.6.1.jar:2.6.1]
        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:473) 
[hbase-server-2.6.1.jar:2.6.1]
        at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:131) 
[hbase-server-2.6.1.jar:2.6.1]
        at org.apache.hadoop.hbase.ipc.RpcHandler.run(RpcHandler.java:112) 
[hbase-server-2.6.1.jar:2.6.1]
        at org.apache.hadoop.hbase.ipc.RpcHandler.run(RpcHandler.java:92) 
[hbase-server-2.6.1.jar:2.6.1]
Caused by: java.lang.IndexOutOfBoundsException: Index 0 out of bounds for 
length 0
        at 
java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:100) 
~[?:?]
        at 
java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:106)
 ~[?:?]
        at 
java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:302) 
~[?:?]
        at java.base/java.util.Objects.checkIndex(Objects.java:385) ~[?:?]
        at java.base/java.util.ArrayList.get(ArrayList.java:427) ~[?:?]
        at 
org.apache.phoenix.schema.tuple.MultiKeyValueTuple.getKey(MultiKeyValueTuple.java:51)
 ~[phoenix-core-5.2.1.jar:?]
        at 
org.apache.phoenix.iterate.NonAggregateRegionScannerFactory.getOffsetKvWithLastScannedRowKey(NonAggregateRegionScannerFactory.java:460)
 ~[phoenix-core-5.2.1.jar:?]
        at 
org.apache.phoenix.iterate.NonAggregateRegionScannerFactory.access$000(NonAggregateRegionScannerFactory.java:88)
 ~[phoenix-core-5.2.1.jar:?]
        at 
org.apache.phoenix.iterate.NonAggregateRegionScannerFactory$1.next(NonAggregateRegionScannerFactory.java:407)
 ~[phoenix-core-5.2.1.jar:?]
{code}




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to