[ 
https://issues.apache.org/jira/browse/IGNITE-22324?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Igor resolved IGNITE-22324.
---------------------------
    Resolution: Cannot Reproduce

Cannot reproduce.

> The exception "The primary replica has changed" on creation of 1000 tables
> --------------------------------------------------------------------------
>
>                 Key: IGNITE-22324
>                 URL: https://issues.apache.org/jira/browse/IGNITE-22324
>             Project: Ignite
>          Issue Type: Bug
>          Components: general, persistence
>    Affects Versions: 3.0
>            Reporter: Igor
>            Priority: Major
>              Labels: ignite-3
>
> *Steps to reproduce:*
> 1. Start cluster with 1 node with JVM options: "-Xms4096m -Xmx4096m"
> 2. Create 1000 tables with 200 varchar columns each  and insert 1 row into 
> each. One by one.
> *Expected result:*
> Tables are created.
> *Actual result:*
> On table 850 the exception is thrown:
> {code:java}
> java.sql.SQLException: The primary replica has changed 
> [expectedLeaseholderName=TablesAmountCapacityTest_cluster_0, 
> currentLeaseholderName=null, 
> expectedLeaseholderId=bf69f842-d6c8-4f7a-b7e4-96458a4d92cb, 
> currentLeaseholderId=null, 
> expectedEnlistmentConsistencyToken=112491691050598880, 
> currentEnlistmentConsistencyToken=null]  at 
> org.apache.ignite.internal.jdbc.proto.IgniteQueryErrorCode.createJdbcSqlException(IgniteQueryErrorCode.java:57)
>   at 
> org.apache.ignite.internal.jdbc.JdbcStatement.execute0(JdbcStatement.java:154)
>   at 
> org.apache.ignite.internal.jdbc.JdbcPreparedStatement.executeWithArguments(JdbcPreparedStatement.java:765)
>   at 
> org.apache.ignite.internal.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:173)
>   at 
> org.gridgain.ai3tests.tests.amountcapacity.TablesAmountCapacityBaseTest.lambda$insertRowAndAssertTimeout$2(TablesAmountCapacityBaseTest.java:92)
>   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}
> In server logs there is an exception:
> {code:java}
> 2024-05-23 17:57:19:570 +0000 
> [WARNING][CompletableFutureDelayScheduler][RaftGroupServiceImpl] Recoverable 
> error during the request occurred (will be retried on the randomly selected 
> node) [request=WriteActionRequestImpl [command=[0, 9, 41, -58, -128, -112, 
> -21, -103, -45, -23, -57, 1], deserializedCommand=SafeTimeSyncCommandImpl 
> [safeTimeLong=112491694408335429], groupId=3402_part_7], peer=Peer 
> [consistentId=TablesAmountCapacityTest_cluster_0, idx=0], newPeer=Peer 
> [consistentId=TablesAmountCapacityTest_cluster_0, idx=0]].
> java.util.concurrent.CompletionException: 
> java.util.concurrent.TimeoutException
>       at 
> java.base/java.util.concurrent.CompletableFuture.encodeRelay(CompletableFuture.java:367)
>       at 
> java.base/java.util.concurrent.CompletableFuture.completeRelay(CompletableFuture.java:376)
>       at 
> java.base/java.util.concurrent.CompletableFuture$UniRelay.tryFire(CompletableFuture.java:1019)
>       at 
> java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
>       at 
> java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088)
>       at 
> java.base/java.util.concurrent.CompletableFuture$Timeout.run(CompletableFuture.java:2792)
>       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.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
>       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)
> Caused by: java.util.concurrent.TimeoutException
>       ... 7 more
> 2024-05-23 17:57:19:570 +0000 
> [WARNING][CompletableFutureDelayScheduler][RaftGroupServiceImpl] Recoverable 
> error during the request occurred (will be retried on the randomly selected 
> node) [request=WriteActionRequestImpl [command=[0, 9, 41, -106, -128, -108, 
> -21, -103, -45, -23, -57, 1], deserializedCommand=SafeTimeSyncCommandImpl 
> [safeTimeLong=112491694408400917], groupId=3402_part_21], peer=Peer 
> [consistentId=TablesAmountCapacityTest_cluster_0, idx=0], newPeer=Peer 
> [consistentId=TablesAmountCapacityTest_cluster_0, idx=0]].
> java.util.concurrent.CompletionException: 
> java.util.concurrent.TimeoutException
>       at 
> java.base/java.util.concurrent.CompletableFuture.encodeRelay(CompletableFuture.java:367)
>       at 
> java.base/java.util.concurrent.CompletableFuture.completeRelay(CompletableFuture.java:376)
>       at 
> java.base/java.util.concurrent.CompletableFuture$UniRelay.tryFire(CompletableFuture.java:1019)
>       at 
> java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
>       at 
> java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088)
>       at 
> java.base/java.util.concurrent.CompletableFuture$Timeout.run(CompletableFuture.java:2792)
>       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.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
>       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)
> Caused by: java.util.concurrent.TimeoutException
>       ... 7 more
> 2024-05-23 17:57:19:588 +0000 
> [WARNING][CompletableFutureDelayScheduler][RaftGroupServiceImpl] Recoverable 
> error during the request occurred (will be retried on the randomly selected 
> node) [request=WriteActionRequestImpl [command=[112, 71, 2, -126, -128, -80, 
> -11, -103, -45, -23, -57, 1, 1], deserializedCommand=SyncTimeCommandImpl 
> [initiatorTerm=1, initiatorTimeLong=112491694429831169, 
> safeTimeLong=112491694429831171], groupId=metastorage_group], peer=Peer 
> [consistentId=TablesAmountCapacityTest_cluster_0, idx=0], newPeer=Peer 
> [consistentId=TablesAmountCapacityTest_cluster_0, idx=0]].
> java.util.concurrent.CompletionException: 
> java.util.concurrent.TimeoutException
>       at 
> java.base/java.util.concurrent.CompletableFuture.encodeRelay(CompletableFuture.java:367)
>       at 
> java.base/java.util.concurrent.CompletableFuture.completeRelay(CompletableFuture.java:376)
>       at 
> java.base/java.util.concurrent.CompletableFuture$UniRelay.tryFire(CompletableFuture.java:1019)
>       at 
> java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
>       at 
> java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088)
>       at 
> java.base/java.util.concurrent.CompletableFuture$Timeout.run(CompletableFuture.java:2792)
>       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.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
>       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)
> Caused by: java.util.concurrent.TimeoutException
>       ... 7 more
> 2024-05-23 17:57:19:809 +0000 
> [INFO][%TablesAmountCapacityTest_cluster_0%sql-execution-pool-3][JdbcQueryEventHandlerImpl]
>  Exception while executing query [query=insert into test_table_804(id, 
> column_1, column_2, column_3, column_4, column_5, column_6, column_7, 
> column_8, column_9, column_10, column_11, column_12, column_13, column_14, 
> column_15, column_16, column_17, column_18, column_19, column_20, column_21, 
> column_22, column_23, column_24, column_25, column_26, column_27, column_28, 
> column_29, column_30, column_31, column_32, column_33, column_34, column_35, 
> column_36, column_37, column_38, column_39, column_40, column_41, column_42, 
> column_43, column_44, column_45, column_46, column_47, column_48, column_49, 
> column_50, column_51, column_52, column_53, column_54, column_55, column_56, 
> column_57, column_58, column_59, column_60, column_61, column_62, column_63, 
> column_64, column_65, column_66, column_67, column_68, column_69, column_70, 
> column_71, column_72, column_73, column_74, column_75, column_76, column_77, 
> column_78, column_79, column_80, column_81, column_82, column_83, column_84, 
> column_85, column_86, column_87, column_88, column_89, column_90, column_91, 
> column_92, column_93, column_94, column_95, column_96, column_97, column_98, 
> column_99, column_100, column_101, column_102, column_103, column_104, 
> column_105, column_106, column_107, column_108, column_109, column_110, 
> column_111, column_112, column_113, column_114, column_115, column_116, 
> column_117, column_118, column_119, column_120, column_121, column_122, 
> column_123, column_124, column_125, column_126, column_127, column_128, 
> column_129, column_130, column_131, column_132, column_133, column_134, 
> column_135, column_136, column_137, column_138, column_139, column_140, 
> column_141, column_142, column_143, column_144, column_145, column_146, 
> column_147, column_148, column_149, column_150, column_151, column_152, 
> column_153, column_154, column_155, column_156, column_157, column_158, 
> column_159, column_160, column_161, column_162, column_163, column_164, 
> column_165, column_166, column_167, column_168, column_169, column_170, 
> column_171, column_172, column_173, column_174, column_175, column_176, 
> column_177, column_178, column_179, column_180, column_181, column_182, 
> column_183, column_184, column_185, column_186, column_187, column_188, 
> column_189, column_190, column_191, column_192, column_193, column_194, 
> column_195, column_196, column_197, column_198, column_199) values (?, ?, ?, 
> ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 
> ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 
> ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 
> ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 
> ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 
> ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 
> ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 
> ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]
> org.apache.ignite.sql.SqlException: IGN-CMN-65535 
> TraceId:deb29fc0-b0b6-4cb6-a727-2f326cfbecea The primary replica has changed 
> [expectedLeaseholderName=TablesAmountCapacityTest_cluster_0, 
> currentLeaseholderName=null, 
> expectedLeaseholderId=bf69f842-d6c8-4f7a-b7e4-96458a4d92cb, 
> currentLeaseholderId=null, 
> expectedEnlistmentConsistencyToken=112491691050598880, 
> currentEnlistmentConsistencyToken=null]
>       at 
> org.apache.ignite.internal.lang.SqlExceptionMapperUtil.mapToPublicSqlException(SqlExceptionMapperUtil.java:61)
>       at 
> org.apache.ignite.internal.sql.engine.SqlQueryProcessor$PrefetchCallback.onPrefetchComplete(SqlQueryProcessor.java:1123)
>       at 
> org.apache.ignite.internal.sql.engine.prepare.KeyValueModifyPlan.lambda$execute$3(KeyValueModifyPlan.java:141)
>       at 
> java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
>       at 
> java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:837)
>       at 
> java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
>       at 
> org.apache.ignite.internal.sql.engine.exec.ExecutionContext.lambda$execute$0(ExecutionContext.java:329)
>       at 
> org.apache.ignite.internal.sql.engine.exec.QueryTaskExecutorImpl.lambda$execute$0(QueryTaskExecutorImpl.java:83)
>       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)
> Caused by: org.apache.ignite.lang.IgniteException: IGN-CMN-65535 
> TraceId:deb29fc0-b0b6-4cb6-a727-2f326cfbecea The primary replica has changed 
> [expectedLeaseholderName=TablesAmountCapacityTest_cluster_0, 
> currentLeaseholderName=null, 
> expectedLeaseholderId=bf69f842-d6c8-4f7a-b7e4-96458a4d92cb, 
> currentLeaseholderId=null, 
> expectedEnlistmentConsistencyToken=112491691050598880, 
> currentEnlistmentConsistencyToken=null]
>       at 
> org.apache.ignite.internal.lang.IgniteExceptionMapperUtil.mapToPublicException(IgniteExceptionMapperUtil.java:118)
>       at 
> org.apache.ignite.internal.lang.SqlExceptionMapperUtil.mapToPublicSqlException(SqlExceptionMapperUtil.java:51)
>       ... 10 more
> Caused by: 
> org.apache.ignite.internal.replicator.exception.PrimaryReplicaMissException: 
> IGN-REP-6 TraceId:deb29fc0-b0b6-4cb6-a727-2f326cfbecea The primary replica 
> has changed [expectedLeaseholderName=TablesAmountCapacityTest_cluster_0, 
> currentLeaseholderName=null, 
> expectedLeaseholderId=bf69f842-d6c8-4f7a-b7e4-96458a4d92cb, 
> currentLeaseholderId=null, 
> expectedEnlistmentConsistencyToken=112491691050598880, 
> currentEnlistmentConsistencyToken=null]
>       at 
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$ensureReplicaIsPrimary$215(PartitionReplicaListener.java:3782)
>       at 
> java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
>       at 
> java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
>       at 
> java.base/java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:610)
>       at 
> java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649)
>       at 
> java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
>       ... 3 more
> 2024-05-23 17:57:19:819 +0000 
> [INFO][TablesAmountCapacityTest_cluster_0-srv-worker-1][ClientInboundMessageHandler]
>  Partition primary replica changed, notifying client [connectionId=1, 
> remoteAddress=/127.0.0.1:49190]{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to