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