Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-17834

ItSqlLogicTest: is flaky with ArrayIndexOutOfBoundsException

    XMLWordPrintableJSON

Details

    Description

      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

       

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

      So that

      private volatile List<CompletableFuture<?>> enlistedResults = new ArrayList<>();

      was updated with

      private final List<CompletableFuture<?>> enlistedResults = new CopyOnWriteArrayList<>();

      Attachments

        Issue Links

          Activity

            People

              alapin Alexander Lapin
              alapin Alexander Lapin
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: