[
https://issues.apache.org/jira/browse/IGNITE-8238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16480874#comment-16480874
]
Andrew Mashenkov commented on IGNITE-8238:
------------------------------------------
Why can't we wrap NodeStoppedException into IgniteException in checkpoint
Lock\Unlock methods and then just catch it in unwindEvicts() method where
exception with NodeStopped cause will be Ignored?
Simple rethrowing IllegalStateException still will not give user understanding
if requested operation was performed or not.
> Operation can fails with unexpected RuntimeException when node is stopping.
> ---------------------------------------------------------------------------
>
> Key: IGNITE-8238
> URL: https://issues.apache.org/jira/browse/IGNITE-8238
> Project: Ignite
> Issue Type: Bug
> Components: general
> Reporter: Andrew Mashenkov
> Assignee: Alexander Menshikov
> Priority: Minor
> Fix For: 2.6
>
>
> Operation can fails with RuntimeException when node is stoped in other
> thread.
> It is not clear from javadoc that operation can throws RuntimeException.
> We should add it to javadoc or e.g. throws IllegalStateException which
> already present in java cache api javadoc.
> Failure in thread: Thread [id=3484, name=updater-2]
> java.lang.RuntimeException: Failed to perform cache update: node is stopping.
> at
> org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.checkpointReadLock(GridCacheDatabaseSharedManager.java:1350)
> at
> org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.purgeExpired(GridCacheOffheapManager.java:1685)
> at
> org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager.expire(GridCacheOffheapManager.java:796)
> at
> org.apache.ignite.internal.processors.cache.GridCacheTtlManager.expire(GridCacheTtlManager.java:197)
> at
> org.apache.ignite.internal.processors.cache.GridCacheUtils.unwindEvicts(GridCacheUtils.java:834)
> at
> org.apache.ignite.internal.processors.cache.GridCacheGateway.leaveNoLock(GridCacheGateway.java:240)
> at
> org.apache.ignite.internal.processors.cache.GridCacheGateway.leave(GridCacheGateway.java:225)
> at
> org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.onLeave(GatewayProtectedCacheProxy.java:1708)
> at
> org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.putAll(GatewayProtectedCacheProxy.java:945)
> at
> org.apache.ignite.internal.processors.cache.persistence.IgnitePdsContinuousRestartTest$1.call(IgnitePdsContinuousRestartTest.java:261)
> at org.apache.ignite.testframework.GridTestThread.run(GridTestThread.java:86)
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)