[
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)