Igor created IGNITE-22009:
-----------------------------

             Summary: 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: persistence
    Affects Versions: 3.0.0-beta1
         Environment: 1 node cluster running locally
            Reporter: Igor


h3. Steps to reproduce:

Run the next queries in cycle with 10 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')
rnal
st:10800]
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)

Reply via email to