[ https://issues.apache.org/jira/browse/IGNITE-22009?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Denis Chudov updated IGNITE-22009: ---------------------------------- Epic Link: IGNITE-24900 Ignite Flags: (was: Docs Required,Release Notes Required) > aimem: repeat of create table and drop column leads to freeze of client > ----------------------------------------------------------------------- > > Key: IGNITE-22009 > URL: https://issues.apache.org/jira/browse/IGNITE-22009 > Project: Ignite > Issue Type: Bug > Components: jdbc, persistence > Affects Versions: 3.0, 3.0.0-beta1 > Environment: 2 nodes cluster running on remote machine or locally > Reporter: Igor > Priority: Blocker > Labels: ignite-3 > > h3. Steps to reproduce: > Run the next queries using *JDBC* in cycle with 50 repeats in single > connection: > {code:java} > 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 {code} > *Expected:* > All queries are executed. > h3. Actual: > On repeat 6 the client freeze for infinite amount of time. > The error in server log: > {code:java} > 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) {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)