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

aimem: repeat of create table and drop column leads to freeze of client

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Blocker
    • Resolution: Unresolved
    • 3.0.0-beta1
    • None
    • jdbc, persistence
    • 2 nodes cluster running on remote machine or locally

    • Docs Required, Release Notes Required

    Description

      Steps to reproduce:

      Run the next queries using JDBC in cycle with 50 repeats in single connection:

      create zone if not exists "AIMEM" engine aimem
      create table selectFromDropMultipleJdbc(k1 INTEGER not null, k2 INTEGER not null, v1 VARCHAR(100), v2 VARCHAR(255), v3 TIMESTAMP not null, primary key (k1, k2)) with PRIMARY_ZONE='AIMEM'
      insert into selectFromDropMultipleJdbc(k1, k2, v1, v2, v3) values (3366, 3367, null, null, '1980-02-27 01:01:49.000000000')
      insert into selectFromDropMultipleJdbc(k1, k2, v1, v2, v3) values (3367, 3368, '1v1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_', '1v2_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1_1', '1980-02-28 01:01:50.000000000')
      insert into selectFromDropMultipleJdbc(k1, k2, v1, v2, v3) values (3368, 3369, '2v1_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_', '2v2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2_2', '1980-02-29 01:01:51.000000000')
      insert into selectFromDropMultipleJdbc(k1, k2, v1, v2, v3) values (3369, 3370, '3v1_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_', '3v2_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3_3', '1980-03-01 01:01:52.000000000')
      insert into selectFromDropMultipleJdbc(k1, k2, v1, v2, v3) values (3370, 3371, null, null, '1980-03-02 01:01:53.000000000')
      insert into selectFromDropMultipleJdbc(k1, k2, v1, v2, v3) values (3371, 3372, '5v1_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_', '5v2_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5_5', '1980-03-03 01:01:54.000000000')
      insert into selectFromDropMultipleJdbc(k1, k2, v1, v2, v3) values (3372, 3373, '6v1_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_', '6v2_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6_6', '1980-03-04 01:01:55.000000000')
      insert into selectFromDropMultipleJdbc(k1, k2, v1, v2, v3) values (3373, 3374, '7v1_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_', '7v2_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7_7', '1980-03-05 01:01:56.000000000')
      insert into selectFromDropMultipleJdbc(k1, k2, v1, v2, v3) values (3374, 3375, null, null, '1980-03-06 01:01:57.000000000')
      insert into selectFromDropMultipleJdbc(k1, k2, v1, v2, v3) values (3375, 3376, '9v1_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_', '9v2_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9_9', '1980-03-07 01:01:58.000000000')
      select * from selectFromDropMultipleJdbc
      drop table selectFromDropMultipleJdbc 

      Expected:

      All queries are executed.

      Actual:

      On repeat 6 the client freeze for infinite amount of time.
      The error in server log:

      2024-04-09 09:27:27:955 +0200 [ERROR][%DropTableMultipleTriesJdbcTest_cluster_0%JRaft-AppendEntries-Processor-0][AbstractClientService] Fail to run RpcResponseClosure, the request is AppendEntriesRequestImpl [committedIndex=183, data=org.apache.ignite.raft.jraft.util.ByteString@d86b8023, entriesList=ArrayList [EntryMetaImpl [checksum=0, dataLen=21, hasChecksum=false, learnersList=null, oldLearnersList=null, oldPeersList=null, peersList=null, term=1, type=ENTRY_TYPE_DATA]], groupId=metastorage_group, peerId=DropTableMultipleTriesJdbcTest_cluster_1, prevLogIndex=183, prevLogTerm=1, serverId=DropTableMultipleTriesJdbcTest_cluster_0, term=1, timestampLong=112240076255789166].
      java.lang.IllegalArgumentException
        at org.apache.ignite.raft.jraft.util.Requires.requireTrue(Requires.java:64)
        at org.apache.ignite.raft.jraft.core.Replicator.fillCommonFields(Replicator.java:1553)
        at org.apache.ignite.raft.jraft.core.Replicator.sendEntries(Replicator.java:1631)
        at org.apache.ignite.raft.jraft.core.Replicator.sendEntries(Replicator.java:1601)
        at org.apache.ignite.raft.jraft.core.Replicator.onRpcReturned(Replicator.java:1370)
        at org.apache.ignite.raft.jraft.core.Replicator$4.run(Replicator.java:1709)
        at org.apache.ignite.raft.jraft.rpc.impl.AbstractClientService$1.complete(AbstractClientService.java:216)
        at org.apache.ignite.raft.jraft.rpc.impl.IgniteRpcClient.lambda$invokeAsync$0(IgniteRpcClient.java:104)
        at org.apache.ignite.raft.jraft.util.concurrent.MpscSingleThreadExecutor$Worker.runTask(MpscSingleThreadExecutor.java:354)
        at org.apache.ignite.raft.jraft.util.concurrent.MpscSingleThreadExecutor$Worker.run(MpscSingleThreadExecutor.java:338)
        at org.apache.ignite.raft.jraft.util.concurrent.MpscSingleThreadExecutor.lambda$doStartWorker$3(MpscSingleThreadExecutor.java:262)
        at java.base/java.lang.Thread.run(Thread.java:834)
      2024-04-09 09:27:27:962 +0200 [ERROR][%DropTableMultipleTriesJdbcTest_cluster_0%JRaft-AppendEntries-Processor-0][AbstractClientService] Fail to run RpcResponseClosure, the request is AppendEntriesRequestImpl [committedIndex=183, data=org.apache.ignite.raft.jraft.util.ByteString@1eab5032, entriesList=ArrayList [EntryMetaImpl [checksum=0, dataLen=52127, hasChecksum=false, learnersList=null, oldLearnersList=null, oldPeersList=null, peersList=null, term=1, type=ENTRY_TYPE_DATA]], groupId=metastorage_group, peerId=DropTableMultipleTriesJdbcTest_cluster_1, prevLogIndex=184, prevLogTerm=1, serverId=DropTableMultipleTriesJdbcTest_cluster_0, term=1, timestampLong=112240076255789322].
      java.lang.IllegalArgumentException
        at org.apache.ignite.raft.jraft.util.Requires.requireTrue(Requires.java:64)
        at org.apache.ignite.raft.jraft.core.Replicator.fillCommonFields(Replicator.java:1553)
        at org.apache.ignite.raft.jraft.core.Replicator.sendEntries(Replicator.java:1631)
        at org.apache.ignite.raft.jraft.core.Replicator.sendEntries(Replicator.java:1601)
        at org.apache.ignite.raft.jraft.core.Replicator.onRpcReturned(Replicator.java:1370)
        at org.apache.ignite.raft.jraft.core.Replicator$4.run(Replicator.java:1709)
        at org.apache.ignite.raft.jraft.rpc.impl.AbstractClientService$1.complete(AbstractClientService.java:216)
        at org.apache.ignite.raft.jraft.rpc.impl.IgniteRpcClient.lambda$invokeAsync$0(IgniteRpcClient.java:104)
        at org.apache.ignite.raft.jraft.util.concurrent.MpscSingleThreadExecutor$Worker.runTask(MpscSingleThreadExecutor.java:354)
        at org.apache.ignite.raft.jraft.util.concurrent.MpscSingleThreadExecutor$Worker.run(MpscSingleThreadExecutor.java:338)
        at org.apache.ignite.raft.jraft.util.concurrent.MpscSingleThreadExecutor.lambda$doStartWorker$3(MpscSingleThreadExecutor.java:262)
        at java.base/java.lang.Thread.run(Thread.java:834)
      2024-04-09 09:27:28:447 +0200 [ERROR][%DropTableMultipleTriesJdbcTest_cluster_0%JRaft-Common-Executor-13][LogThreadPoolExecutor] Uncaught exception in pool: %DropTableMultipleTriesJdbcTest_cluster_0%JRaft-Common-Executor-, org.apache.ignite.raft.jraft.util.MetricThreadPoolExecutor@7f7e719c[Running, pool size = 20, active threads = 1, queued tasks = 0, completed tasks = 714].
      java.lang.IllegalArgumentException
        at org.apache.ignite.raft.jraft.util.Requires.requireTrue(Requires.java:64)
        at org.apache.ignite.raft.jraft.core.Replicator.fillCommonFields(Replicator.java:1553)
        at org.apache.ignite.raft.jraft.core.Replicator.sendEntries(Replicator.java:1631)
        at org.apache.ignite.raft.jraft.core.Replicator.sendEntries(Replicator.java:1601)
        at org.apache.ignite.raft.jraft.core.Replicator.continueSending(Replicator.java:983)
        at org.apache.ignite.raft.jraft.core.Replicator.lambda$waitMoreEntries$9(Replicator.java:1583)
        at org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.runOnNewLog(LogManagerImpl.java:1205)
        at org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.lambda$wakeupAllWaiter$6(LogManagerImpl.java:398)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:834) 

      Attachments

        Activity

          People

            Unassigned Unassigned
            lunigorn Igor
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: