IGNITE-10339 Skip index partition file integrity check for in-memory caches - Fixes #5475.
Signed-off-by: Alexey Goncharuk <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/5b656e2f Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/5b656e2f Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/5b656e2f Branch: refs/heads/ignite-9720 Commit: 5b656e2f3b2157200d650923e5aca800c4d61635 Parents: 97d2422 Author: Ivan Daschinskiy <[email protected]> Authored: Fri Nov 23 19:36:00 2018 +0300 Committer: Alexey Goncharuk <[email protected]> Committed: Fri Nov 23 19:36:00 2018 +0300 ---------------------------------------------------------------------- .../apache/ignite/internal/commandline/CommandHandler.java | 6 ++++-- .../ignite/internal/visor/verify/ValidateIndexesClosure.java | 8 +++++--- 2 files changed, 9 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/5b656e2f/modules/core/src/main/java/org/apache/ignite/internal/commandline/CommandHandler.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/commandline/CommandHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/commandline/CommandHandler.java index 56fbfae..e9a4281 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/commandline/CommandHandler.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/commandline/CommandHandler.java @@ -820,7 +820,11 @@ public class CommandHandler { VisorValidateIndexesTaskResult taskRes = executeTaskByNameOnNode( client, VALIDATE_INDEXES_TASK, taskArg, null); + boolean errors = false; + if (!F.isEmpty(taskRes.exceptions())) { + errors = true; + log("Index validation failed on nodes:"); for (Map.Entry<UUID, Exception> e : taskRes.exceptions().entrySet()) { @@ -832,8 +836,6 @@ public class CommandHandler { } } - boolean errors = false; - for (Map.Entry<UUID, VisorValidateIndexesJobResult> nodeEntry : taskRes.results().entrySet()) { if (!nodeEntry.getValue().hasIssues()) continue; http://git-wip-us.apache.org/repos/asf/ignite/blob/5b656e2f/modules/indexing/src/main/java/org/apache/ignite/internal/visor/verify/ValidateIndexesClosure.java ---------------------------------------------------------------------- diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/visor/verify/ValidateIndexesClosure.java b/modules/indexing/src/main/java/org/apache/ignite/internal/visor/verify/ValidateIndexesClosure.java index ec02c25..b6909e3 100644 --- a/modules/indexing/src/main/java/org/apache/ignite/internal/visor/verify/ValidateIndexesClosure.java +++ b/modules/indexing/src/main/java/org/apache/ignite/internal/visor/verify/ValidateIndexesClosure.java @@ -260,7 +260,8 @@ public class ValidateIndexesClosure implements IgniteCallable<VisorValidateIndex Map<PartitionKey, ValidateIndexesPartitionResult> partRes = fut.get(); - partResults.putAll(partRes); + if (!partRes.isEmpty() && partRes.entrySet().stream().anyMatch(e -> !e.getValue().issues().isEmpty())) + partResults.putAll(partRes); } for (; curIdx < procIdxFutures.size(); curIdx++) { @@ -268,7 +269,8 @@ public class ValidateIndexesClosure implements IgniteCallable<VisorValidateIndex Map<String, ValidateIndexesPartitionResult> idxRes = fut.get(); - idxResults.putAll(idxRes); + if (!idxRes.isEmpty() && idxRes.entrySet().stream().anyMatch(e -> !e.getValue().issues().isEmpty())) + idxResults.putAll(idxRes); } log.warning("ValidateIndexesClosure finished: processed " + totalPartitions + " partitions and " @@ -296,7 +298,7 @@ public class ValidateIndexesClosure implements IgniteCallable<VisorValidateIndex for (Integer grpId: grpIds) { final CacheGroupContext grpCtx = ignite.context().cache().cacheGroup(grpId); - if (grpCtx == null) { + if (grpCtx == null || !grpCtx.persistenceEnabled()) { integrityCheckedIndexes.incrementAndGet(); continue;
