[ 
https://issues.apache.org/jira/browse/IGNITE-17834?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexander Lapin updated IGNITE-17834:
-------------------------------------
    Description: 
{code:java}
org.apache.ignite.lang.IgniteException: IGN-CMN-65535 
TraceId:911f0c07-4aa0-4f04-8b0b-e74e49b91d67 Error at: 
(test_delete_subquery.test:15). Statement: Statement [queries=[DELETE FROM 
integers i1 WHERE i>(SELECT MAX(i) FROM integers WHERE i1.i<>i)], expected=OK]  
     Caused by: org.apache.ignite.lang.IgniteException: IGN-CMN-65535 
TraceId:d3ee7af7-6d38-4ca4-bad5-86113048e6e9 IGN-CMN-65535 
TraceId:d3ee7af7-6d38-4ca4-bad5-86113048e6e9 Index 50 out of bounds for length 
49       Caused by: org.apache.ignite.lang.IgniteException: IGN-CMN-65535 
TraceId:d3ee7af7-6d38-4ca4-bad5-86113048e6e9 Index 50 out of bounds for length 
49       Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 50 out of 
bounds for length 49{code}
 

The reason for given issue is non-threadsafe 
org.apache.ignite.internal.tx.impl.TransactionImpl#enlistedResults

So that
{code:java}
private volatile List<CompletableFuture<?>> enlistedResults = new 
ArrayList<>();{code}
was updated with
{code:java}
private final List<CompletableFuture<?>> enlistedResults = new 
CopyOnWriteArrayList<>();{code}

  was:
{code:java}
org.apache.ignite.lang.IgniteException: IGN-CMN-65535 
TraceId:911f0c07-4aa0-4f04-8b0b-e74e49b91d67 Error at: 
(test_delete_subquery.test:15). Statement: Statement [queries=[DELETE FROM 
integers i1 WHERE i>(SELECT MAX(i) FROM integers WHERE i1.i<>i)], expected=OK]  
     Caused by: org.apache.ignite.lang.IgniteException: IGN-CMN-65535 
TraceId:d3ee7af7-6d38-4ca4-bad5-86113048e6e9 IGN-CMN-65535 
TraceId:d3ee7af7-6d38-4ca4-bad5-86113048e6e9 Index 50 out of bounds for length 
49       Caused by: org.apache.ignite.lang.IgniteException: IGN-CMN-65535 
TraceId:d3ee7af7-6d38-4ca4-bad5-86113048e6e9 Index 50 out of bounds for length 
49       Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 50 out of 
bounds for length 49{code}
 

The reason for given issue is non-threadsafe 
org.apache.ignite.internal.tx.impl.TransactionImpl#enlistedResults

So that
{code:java}
private volatile List<CompletableFuture<?>> enlistedResults = new 
ArrayList<>();{code}
was updated with
{code:java}
private final List<CompletableFuture<?>> enlistedResults = 
Collections.synchronizedList(new ArrayList<>());{code}


>  ItSqlLogicTest: is flaky with ArrayIndexOutOfBoundsException
> -------------------------------------------------------------
>
>                 Key: IGNITE-17834
>                 URL: https://issues.apache.org/jira/browse/IGNITE-17834
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Alexander Lapin
>            Assignee: Alexander Lapin
>            Priority: Blocker
>              Labels: transaction3_rw
>
> {code:java}
> org.apache.ignite.lang.IgniteException: IGN-CMN-65535 
> TraceId:911f0c07-4aa0-4f04-8b0b-e74e49b91d67 Error at: 
> (test_delete_subquery.test:15). Statement: Statement [queries=[DELETE FROM 
> integers i1 WHERE i>(SELECT MAX(i) FROM integers WHERE i1.i<>i)], 
> expected=OK]       Caused by: org.apache.ignite.lang.IgniteException: 
> IGN-CMN-65535 TraceId:d3ee7af7-6d38-4ca4-bad5-86113048e6e9 IGN-CMN-65535 
> TraceId:d3ee7af7-6d38-4ca4-bad5-86113048e6e9 Index 50 out of bounds for 
> length 49       Caused by: org.apache.ignite.lang.IgniteException: 
> IGN-CMN-65535 TraceId:d3ee7af7-6d38-4ca4-bad5-86113048e6e9 Index 50 out of 
> bounds for length 49       Caused by: 
> java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 
> 49{code}
>  
> The reason for given issue is non-threadsafe 
> org.apache.ignite.internal.tx.impl.TransactionImpl#enlistedResults
> So that
> {code:java}
> private volatile List<CompletableFuture<?>> enlistedResults = new 
> ArrayList<>();{code}
> was updated with
> {code:java}
> private final List<CompletableFuture<?>> enlistedResults = new 
> CopyOnWriteArrayList<>();{code}



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

Reply via email to