[ https://issues.apache.org/jira/browse/IGNITE-18990?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Denis Chudov updated IGNITE-18990: ---------------------------------- Summary: Integrate PlacementDriverManager into IgniteImpl (was: Partial redesign of TableManager to solve the problems related to huge load of metastorage updates) > Integrate PlacementDriverManager into IgniteImpl > ------------------------------------------------ > > Key: IGNITE-18990 > URL: https://issues.apache.org/jira/browse/IGNITE-18990 > Project: Ignite > Issue Type: Task > Reporter: Denis Chudov > Assignee: Denis Chudov > Priority: Major > Labels: ignite-3 > Time Spent: 10m > Remaining Estimate: 0h > > The exception does not connect with placement driver directly, but the > feature increases probability of the problem. > The root cause of the issue is in SqlSchemaManagerImpl#schemasVv that is > updated depending on table creation and the configuration revision update in > the same time. To got rid of the issue, required waiting of table creation > event (TableEvent.CREATE) before complete the versioned value object > (schemasVv). > {noformat} > WARNING: Error occurred while updating tables. > java.util.concurrent.CompletionException: java.lang.AssertionError: Token > must be greater than actual [token=6734, actual=6734] > at > java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314) > at > java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319) > at > java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1081) > at > java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506) > at > java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073) > at > org.apache.ignite.internal.causality.VersionedValue.completeInternal(VersionedValue.java:335) > at > org.apache.ignite.internal.causality.VersionedValue.lambda$completeOnRevision$3(VersionedValue.java:493) > 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.postComplete(CompletableFuture.java:506) > at > java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073) > at > org.apache.ignite.internal.raft.RaftGroupServiceImpl.lambda$sendWithRetry$38(RaftGroupServiceImpl.java:525) > 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.postComplete(CompletableFuture.java:506) > at > java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073) > at > org.apache.ignite.network.DefaultMessagingService.onInvokeResponse(DefaultMessagingService.java:349) > at > org.apache.ignite.network.DefaultMessagingService.onMessage(DefaultMessagingService.java:314) > at > org.apache.ignite.network.DefaultMessagingService.lambda$onMessage$3(DefaultMessagingService.java:292) > 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.lang.AssertionError: Token must be greater than actual > [token=6734, actual=6734] > at > org.apache.ignite.internal.causality.VersionedValue.checkToken(VersionedValue.java:597) > at > org.apache.ignite.internal.causality.VersionedValue.update(VersionedValue.java:403) > at > org.apache.ignite.internal.sql.engine.schema.SqlSchemaManagerImpl.onTableCreated(SqlSchemaManagerImpl.java:210) > at > org.apache.ignite.internal.sql.engine.SqlQueryProcessor$TableCreatedListener.notify(SqlQueryProcessor.java:580) > at > org.apache.ignite.internal.sql.engine.SqlQueryProcessor$TableCreatedListener.notify(SqlQueryProcessor.java:572) > at > org.apache.ignite.internal.manager.Producer.fireEvent(Producer.java:108) > at > org.apache.ignite.internal.manager.Producer.fireEvent(Producer.java:129) > at > org.apache.ignite.internal.table.distributed.TableManager.lambda$createTableLocally$36(TableManager.java:1158) > at > org.apache.ignite.internal.util.IgniteUtils.inBusyLock(IgniteUtils.java:861) > at > org.apache.ignite.internal.table.distributed.TableManager.lambda$createTableLocally$37(TableManager.java:1158) > at > java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072) > ... 19 more > {noformat} > After the issue will be fixed, placement driver ready to include in the node > start workflow. -- This message was sent by Atlassian Jira (v8.20.10#820010)