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)