[
https://issues.apache.org/jira/browse/IGNITE-22009?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Igor updated IGNITE-22009:
--------------------------
Component/s: jdbc
> 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.0-beta1
> Environment: 1 node cluster running locally
> Reporter: Igor
> Priority: Blocker
> Labels: ignite-3
>
> 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)