[
https://issues.apache.org/jira/browse/IGNITE-18990?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladislav Pyatkov updated IGNITE-18990:
---------------------------------------
Description:
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.
> Partial redesign of TableManager to solve the problems related to huge load
> of metastorage updates
> --------------------------------------------------------------------------------------------------
>
> Key: IGNITE-18990
> URL: https://issues.apache.org/jira/browse/IGNITE-18990
> Project: Ignite
> Issue Type: Task
> Reporter: Denis Chudov
> Priority: Major
> Labels: ignite-3
>
> 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)