[ 
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)

Reply via email to