[
https://issues.apache.org/jira/browse/IGNITE-25222?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Roman Puchkovskiy updated IGNITE-25222:
---------------------------------------
Description:
DdlCommandHandlerExceptionHandlingTest triggers FailureProcessor to be called.
This seems to happen because CatalogManagerImpl closes versionTracker before it
stops being used.
[2025-04-23T15:16:50,763][ERROR][%test%metastorage-watch-executor-2][FailureManager]
Critical system error detected. Will be handled accordingly to configured
handler [hnd=NoOpFailureHandler [super=AbstractFailureHandler
[ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED,
SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=CRITICAL_ERROR]
org.apache.ignite.internal.failure.StackTraceCapturingException: Unknown error
at
org.apache.ignite.internal.failure.FailureManager.process(FailureManager.java:161)
~[main/:?]
at
org.apache.ignite.internal.failure.FailureManager.process(FailureManager.java:138)
~[main/:?]
at
org.apache.ignite.internal.metastorage.server.WatchProcessor.notifyFailureHandlerOnFirstFailureInNotificationChain(WatchProcessor.java:405)
~[main/:?]
at
org.apache.ignite.internal.metastorage.server.WatchProcessor.lambda$enqueue$3(WatchProcessor.java:233)
~[main/:?]
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.postFire(CompletableFuture.java:610)
[?:?]
at
java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1085)
[?:?]
at
java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
[?:?]
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.CompletionException:
org.apache.ignite.internal.util.TrackerClosedException
at
java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
~[?:?]
at
java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:346)
~[?:?]
at
java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:870)
~[?:?]
at
java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
~[?:?]
at
java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2253)
~[?:?]
at
org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.handle(CatalogManagerImpl.java:507)
~[main/:?]
at
org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.handle(CatalogManagerImpl.java:461)
~[main/:?]
at
org.apache.ignite.internal.catalog.storage.UpdateLogImpl$UpdateListener.onUpdate(UpdateLogImpl.java:346)
~[main/:?]
at
org.apache.ignite.internal.metastorage.server.Watch.onUpdate(Watch.java:67)
~[main/:?]
at
org.apache.ignite.internal.metastorage.server.WatchProcessor.performWatchesNotifications(WatchProcessor.java:298)
~[main/:?]
at
org.apache.ignite.internal.metastorage.server.WatchProcessor.lambda$notifyWatchesInternal$7(WatchProcessor.java:259)
~[main/:?]
at
org.apache.ignite.internal.util.IgniteUtils.inBusyLockAsync(IgniteUtils.java:926)
~[main/:?]
at
org.apache.ignite.internal.metastorage.server.WatchProcessor.inBusyLockAsync(WatchProcessor.java:186)
~[main/:?]
at
org.apache.ignite.internal.metastorage.server.WatchProcessor.lambda$enqueue$2(WatchProcessor.java:230)
~[main/:?]
at
java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
~[?:?]
... 4 more
Caused by: org.apache.ignite.internal.util.TrackerClosedException
at
org.apache.ignite.internal.util.PendingComparableValuesTracker.update(PendingComparableValuesTracker.java:91)
~[main/:?]
at
org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.lambda$handle$1(CatalogManagerImpl.java:512)
~[main/:?]
at
java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
~[?:?]
at
java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
~[?:?]
at
java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2253)
~[?:?]
at
org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.handle(CatalogManagerImpl.java:507)
~[main/:?]
at
org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.handle(CatalogManagerImpl.java:461)
~[main/:?]
at
org.apache.ignite.internal.catalog.storage.UpdateLogImpl$UpdateListener.onUpdate(UpdateLogImpl.java:346)
~[main/:?]
at
org.apache.ignite.internal.metastorage.server.Watch.onUpdate(Watch.java:67)
~[main/:?]
at
org.apache.ignite.internal.metastorage.server.WatchProcessor.performWatchesNotifications(WatchProcessor.java:298)
~[main/:?]
at
org.apache.ignite.internal.metastorage.server.WatchProcessor.lambda$notifyWatchesInternal$7(WatchProcessor.java:259)
~[main/:?]
at
org.apache.ignite.internal.util.IgniteUtils.inBusyLockAsync(IgniteUtils.java:926)
~[main/:?]
at
org.apache.ignite.internal.metastorage.server.WatchProcessor.inBusyLockAsync(WatchProcessor.java:186)
~[main/:?]
at
org.apache.ignite.internal.metastorage.server.WatchProcessor.lambda$enqueue$2(WatchProcessor.java:230)
~[main/:?]
at
java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
~[?:?]
... 4 more
was:
ExecutionServiceImplTest triggers FailureProcessor to be called. This seems to
happen because the underlying executor is closed before QueryTaskExecutor tasks
finish being submitted to it.
[2025-04-23T14:19:38,077][ERROR][%node_2%sql-execution-pool-0][FailureManager]
Critical system error detected. Will be handled accordingly to configured
handler [hnd=NoOpFailureHandler [super=AbstractFailureHandler
[ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED,
SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=CRITICAL_ERROR]
org.apache.ignite.internal.failure.StackTraceCapturingException: Unknown error
at
org.apache.ignite.internal.failure.FailureManager.process(FailureManager.java:161)
~[main/:?]
at
org.apache.ignite.internal.failure.FailureManager.process(FailureManager.java:138)
~[main/:?]
at
org.apache.ignite.internal.sql.engine.exec.QueryTaskExecutorImpl.lambda$execute$0(QueryTaskExecutorImpl.java:99)
~[main/:?]
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: Unexpected error during
execute fragment 1 of query dff899c7-46d8-417f-aca5-2cdcb2071458
... 4 more
Caused by: java.util.concurrent.RejectedExecutionException: Task
org.apache.ignite.internal.sql.engine.exec.QueryTaskExecutorImpl$$Lambda$1784/0x0000000100928840@33958e30
rejected from java.util.concurrent.ThreadPoolExecutor@5800f3d9[Terminated,
pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0]
at
java.base/java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2055)
~[?:?]
at
java.base/java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:825)
~[?:?]
at
java.base/java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1355)
~[?:?]
at
org.apache.ignite.internal.thread.AbstractStripedThreadPoolExecutor.execute(AbstractStripedThreadPoolExecutor.java:61)
~[main/:?]
at
org.apache.ignite.internal.sql.engine.exec.QueryTaskExecutorImpl.execute(QueryTaskExecutorImpl.java:83)
~[main/:?]
at
org.apache.ignite.internal.sql.engine.exec.QueryTaskExecutorImpl.execute(QueryTaskExecutorImpl.java:111)
~[main/:?]
at
java.base/java.util.concurrent.CompletableFuture.completeAsync(CompletableFuture.java:2593)
~[?:?]
at
org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl$DistributedQueryManager.close(ExecutionServiceImpl.java:1223)
~[main/:?]
at
org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl$DistributedQueryManager.handleError(ExecutionServiceImpl.java:988)
~[main/:?]
at
org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl$DistributedQueryManager.submitFragment(ExecutionServiceImpl.java:968)
~[main/:?]
at
org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl.submitFragment(ExecutionServiceImpl.java:635)
~[main/:?]
at
org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl.onMessage(ExecutionServiceImpl.java:536)
~[main/:?]
at
org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl.lambda$start$1(ExecutionServiceImpl.java:300)
~[main/:?]
at
org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImplTest$TestCluster$TestNode.lambda$onReceive$0(ExecutionServiceImplTest.java:1336)
~[test/:?]
at
org.apache.ignite.internal.sql.engine.exec.QueryTaskExecutorImpl.lambda$execute$0(QueryTaskExecutorImpl.java:86)
~[main/:?]
... 3 more
> DdlCommandHandlerExceptionHandlingTest triggers FailureManager
> --------------------------------------------------------------
>
> Key: IGNITE-25222
> URL: https://issues.apache.org/jira/browse/IGNITE-25222
> Project: Ignite
> Issue Type: Bug
> Reporter: Roman Puchkovskiy
> Priority: Major
> Labels: ignite-3
>
> DdlCommandHandlerExceptionHandlingTest triggers FailureProcessor to be
> called. This seems to happen because CatalogManagerImpl closes versionTracker
> before it stops being used.
>
> [2025-04-23T15:16:50,763][ERROR][%test%metastorage-watch-executor-2][FailureManager]
> Critical system error detected. Will be handled accordingly to configured
> handler [hnd=NoOpFailureHandler [super=AbstractFailureHandler
> [ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED,
> SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=CRITICAL_ERROR]
> org.apache.ignite.internal.failure.StackTraceCapturingException: Unknown
> error
> at
> org.apache.ignite.internal.failure.FailureManager.process(FailureManager.java:161)
> ~[main/:?]
> at
> org.apache.ignite.internal.failure.FailureManager.process(FailureManager.java:138)
> ~[main/:?]
> at
> org.apache.ignite.internal.metastorage.server.WatchProcessor.notifyFailureHandlerOnFirstFailureInNotificationChain(WatchProcessor.java:405)
> ~[main/:?]
> at
> org.apache.ignite.internal.metastorage.server.WatchProcessor.lambda$enqueue$3(WatchProcessor.java:233)
> ~[main/:?]
> 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.postFire(CompletableFuture.java:610)
> [?:?]
> at
> java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1085)
> [?:?]
> at
> java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
> [?:?]
> 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.CompletionException:
> org.apache.ignite.internal.util.TrackerClosedException
> at
> java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
> ~[?:?]
> at
> java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:346)
> ~[?:?]
> at
> java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:870)
> ~[?:?]
> at
> java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
> ~[?:?]
> at
> java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2253)
> ~[?:?]
> at
> org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.handle(CatalogManagerImpl.java:507)
> ~[main/:?]
> at
> org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.handle(CatalogManagerImpl.java:461)
> ~[main/:?]
> at
> org.apache.ignite.internal.catalog.storage.UpdateLogImpl$UpdateListener.onUpdate(UpdateLogImpl.java:346)
> ~[main/:?]
> at
> org.apache.ignite.internal.metastorage.server.Watch.onUpdate(Watch.java:67)
> ~[main/:?]
> at
> org.apache.ignite.internal.metastorage.server.WatchProcessor.performWatchesNotifications(WatchProcessor.java:298)
> ~[main/:?]
> at
> org.apache.ignite.internal.metastorage.server.WatchProcessor.lambda$notifyWatchesInternal$7(WatchProcessor.java:259)
> ~[main/:?]
> at
> org.apache.ignite.internal.util.IgniteUtils.inBusyLockAsync(IgniteUtils.java:926)
> ~[main/:?]
> at
> org.apache.ignite.internal.metastorage.server.WatchProcessor.inBusyLockAsync(WatchProcessor.java:186)
> ~[main/:?]
> at
> org.apache.ignite.internal.metastorage.server.WatchProcessor.lambda$enqueue$2(WatchProcessor.java:230)
> ~[main/:?]
> at
> java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
> ~[?:?]
> ... 4 more
> Caused by: org.apache.ignite.internal.util.TrackerClosedException
> at
> org.apache.ignite.internal.util.PendingComparableValuesTracker.update(PendingComparableValuesTracker.java:91)
> ~[main/:?]
> at
> org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.lambda$handle$1(CatalogManagerImpl.java:512)
> ~[main/:?]
> at
> java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
> ~[?:?]
> at
> java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
> ~[?:?]
> at
> java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2253)
> ~[?:?]
> at
> org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.handle(CatalogManagerImpl.java:507)
> ~[main/:?]
> at
> org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.handle(CatalogManagerImpl.java:461)
> ~[main/:?]
> at
> org.apache.ignite.internal.catalog.storage.UpdateLogImpl$UpdateListener.onUpdate(UpdateLogImpl.java:346)
> ~[main/:?]
> at
> org.apache.ignite.internal.metastorage.server.Watch.onUpdate(Watch.java:67)
> ~[main/:?]
> at
> org.apache.ignite.internal.metastorage.server.WatchProcessor.performWatchesNotifications(WatchProcessor.java:298)
> ~[main/:?]
> at
> org.apache.ignite.internal.metastorage.server.WatchProcessor.lambda$notifyWatchesInternal$7(WatchProcessor.java:259)
> ~[main/:?]
> at
> org.apache.ignite.internal.util.IgniteUtils.inBusyLockAsync(IgniteUtils.java:926)
> ~[main/:?]
> at
> org.apache.ignite.internal.metastorage.server.WatchProcessor.inBusyLockAsync(WatchProcessor.java:186)
> ~[main/:?]
> at
> org.apache.ignite.internal.metastorage.server.WatchProcessor.lambda$enqueue$2(WatchProcessor.java:230)
> ~[main/:?]
> at
> java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
> ~[?:?]
> ... 4 more
--
This message was sent by Atlassian Jira
(v8.20.10#820010)