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