[ 
https://issues.apache.org/jira/browse/PHOENIX-3969?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16058679#comment-16058679
 ] 

Lars Hofhansl commented on PHOENIX-3969:
----------------------------------------

[~gjacoby]

> Delete from table more than 100 rows fails with IndexOutOfBould
> ---------------------------------------------------------------
>
>                 Key: PHOENIX-3969
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3969
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.11.0
>            Reporter: Sergey Soldatov
>            Assignee: Sergey Soldatov
>            Priority: Critical
>         Attachments: PHOENIX-3969.patch
>
>
> That happens because in UngroupedAggregateRegionObserver to check whether we 
> have something to commit we call readyToCommit. We do that for both - data 
> table mutations and local indexes ( indexMutations). In this method we check 
> only rows count from original table, but not the size of mutations list. 
> Since indexMutations is using only for local indexes, in regular cases the 
> list will be empty and when we call commitBatch for empty list it fails with 
> an exception :
> {noformat}
> Error: org.apache.phoenix.exception.PhoenixIOException: 
> org.apache.hadoop.hbase.DoNotRetryIOException: 
> GIGANTIC_TABLE,,1498079753609.137788ceb573b20bbbb7cdcaeb6ba489.: Index: 0, 
> Size: 0
>       at 
> org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:92)
>       at 
> org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:58)
>       at 
> org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.overrideDelegate(BaseScannerRegionObserver.java:240)
>       at 
> org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:266)
>       at 
> org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2506)
>       at 
> org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32385)
>       at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2141)
>       at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112)
>       at 
> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:187)
>       at 
> org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:167)
> Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
>       at java.util.ArrayList.rangeCheck(ArrayList.java:653)
>       at java.util.ArrayList.get(ArrayList.java:429)
>       at 
> org.apache.phoenix.coprocessor.UngroupedAggregateRegionObserver.commitBatch(UngroupedAggregateRegionObserver.java:193)
>       at 
> org.apache.phoenix.coprocessor.UngroupedAggregateRegionObserver.doPostScannerOpen(UngroupedAggregateRegionObserver.java:713)
>       at 
> org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.overrideDelegate(BaseScannerRegionObserver.java:221)
>       ... 7 more (state=08000,code=101)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to