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

Reply via email to