You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladimir Steshin (Jira)" <ji...@apache.org> on 2024/03/01 16:14:00 UTC
[jira] [Updated] (IGNITE-21656) Cache dump fails on a cache with a node filter.
[ https://issues.apache.org/jira/browse/IGNITE-21656?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vladimir Steshin updated IGNITE-21656:
--------------------------------------
Description:
Ignite fails to create dump of cache with a node filter. If there is no partitions on some cone, we assign the empty sat an the snapshot task result:
{code:java}
if (parts.isEmpty() && !withMetaStorage)
task0 = new GridFinishedFuture<>(Collections.emptySet());
else {
...
}
{code}
Cache dump doesn't contain the metastoreage. Further, we may cast the result to
{code:java}
SnapshotFutureTaskResult res = (SnapshotFutureTaskResult)task0.result();
{code}
but it is a
{code:java}
Collections#EMPTY_SET
{code}
Stacktrace:
{code:java}
[ERROR][snapshot-runner-#413%dump.IgniteCacheDumpSelfTest0%][IgniteTestResources] 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=FailureContext [type=CRITICAL_ERROR, err=java.lang.ClassCastException: class java.util.Collections$EmptySet cannot be cast to class o.a.i.i.processors.cache.persistence.snapshot.SnapshotFutureTaskResult (java.util.Collections$EmptySet is in module java.base of loader 'bootstrap'; o.a.i.i.processors.cache.persistence.snapshot.SnapshotFutureTaskResult is in unnamed module of loader 'app')]]
java.lang.ClassCastException: class java.util.Collections$EmptySet cannot be cast to class org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotFutureTaskResult (java.util.Collections$EmptySet is in module java.base of loader 'bootstrap'; org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotFutureTaskResult is in unnamed module of loader 'app')
at org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteSnapshotManager.lambda$initLocalFullSnapshot$923db49$1(IgniteSnapshotManager.java:1221) ~[classes/:?]
at org.apache.ignite.internal.util.future.GridFinishedFuture.lambda$chain$d8c8d23e$1(GridFinishedFuture.java:180) ~[classes/:?]
at org.apache.ignite.internal.util.future.GridFinishedFuture.lambda$chain$0(GridFinishedFuture.java:163) ~[classes/:?]
{code}
> Cache dump fails on a cache with a node filter.
> -----------------------------------------------
>
> Key: IGNITE-21656
> URL: https://issues.apache.org/jira/browse/IGNITE-21656
> Project: Ignite
> Issue Type: Bug
> Reporter: Vladimir Steshin
> Priority: Minor
> Time Spent: 10m
> Remaining Estimate: 0h
>
> Ignite fails to create dump of cache with a node filter. If there is no partitions on some cone, we assign the empty sat an the snapshot task result:
> {code:java}
> if (parts.isEmpty() && !withMetaStorage)
> task0 = new GridFinishedFuture<>(Collections.emptySet());
> else {
> ...
> }
> {code}
> Cache dump doesn't contain the metastoreage. Further, we may cast the result to
> {code:java}
> SnapshotFutureTaskResult res = (SnapshotFutureTaskResult)task0.result();
> {code}
> but it is a
> {code:java}
> Collections#EMPTY_SET
> {code}
> Stacktrace:
> {code:java}
> [ERROR][snapshot-runner-#413%dump.IgniteCacheDumpSelfTest0%][IgniteTestResources] 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=FailureContext [type=CRITICAL_ERROR, err=java.lang.ClassCastException: class java.util.Collections$EmptySet cannot be cast to class o.a.i.i.processors.cache.persistence.snapshot.SnapshotFutureTaskResult (java.util.Collections$EmptySet is in module java.base of loader 'bootstrap'; o.a.i.i.processors.cache.persistence.snapshot.SnapshotFutureTaskResult is in unnamed module of loader 'app')]]
> java.lang.ClassCastException: class java.util.Collections$EmptySet cannot be cast to class org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotFutureTaskResult (java.util.Collections$EmptySet is in module java.base of loader 'bootstrap'; org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotFutureTaskResult is in unnamed module of loader 'app')
> at org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteSnapshotManager.lambda$initLocalFullSnapshot$923db49$1(IgniteSnapshotManager.java:1221) ~[classes/:?]
> at org.apache.ignite.internal.util.future.GridFinishedFuture.lambda$chain$d8c8d23e$1(GridFinishedFuture.java:180) ~[classes/:?]
> at org.apache.ignite.internal.util.future.GridFinishedFuture.lambda$chain$0(GridFinishedFuture.java:163) ~[classes/:?]
> {code}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)