This is an automated email from the ASF dual-hosted git repository.
namelchev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/master by this push:
new b4d57e27c51 IGNITE-22515 Refactored errors output of the control
utility (#11396)
b4d57e27c51 is described below
commit b4d57e27c5102c358b85293886ff52e7289ba78e
Author: Nikita Amelchev <[email protected]>
AuthorDate: Wed Jun 19 10:05:29 2024 +0300
IGNITE-22515 Refactored errors output of the control utility (#11396)
---
.../internal/commandline/CommandHandler.java | 29 ++------
.../ignite/internal/commandline/CommandLogger.java | 28 ++++----
.../apache/ignite/util/GridCommandHandlerTest.java | 5 +-
.../org/apache/ignite/util/MetricCommandTest.java | 2 +-
.../apache/ignite/util/SystemViewCommandTest.java | 2 +-
.../ignite/internal/TransactionsMXBeanImpl.java | 2 +-
.../internal/client/GridClientClusterState.java | 5 +-
.../client/impl/GridClientClusterStateImpl.java | 13 ++--
.../ignite/internal/management/StateCommand.java | 3 +-
.../internal/management/api/CommandInvoker.java | 6 +-
.../internal/management/api/CommandMBean.java | 8 +--
.../internal/management/api/CommandUtils.java | 10 +--
.../internal/management/api/LocalCommand.java | 3 +-
.../management/cache/CacheListCommand.java | 5 +-
.../management/cache/CacheMetricsCommand.java | 23 +++---
.../management/cache/CacheMetricsTask.java | 48 ++++++-------
.../management/cache/CacheMetricsTaskResult.java | 83 ----------------------
.../consistency/ConsistencyRepairCommand.java | 5 +-
.../management/kill/KillSnapshotCommand.java | 3 +-
.../management/kill/SnapshotCancelTask.java | 4 +-
.../snapshot/AbstractSnapshotCommand.java | 13 +---
.../management/snapshot/SnapshotCancelCommand.java | 2 +-
.../management/snapshot/SnapshotCheckCommand.java | 12 +---
.../management/snapshot/SnapshotCheckTask.java | 7 +-
.../management/snapshot/SnapshotCreateCommand.java | 2 +-
.../management/snapshot/SnapshotCreateTask.java | 3 +-
.../management/snapshot/SnapshotOneNodeTask.java | 38 ----------
.../snapshot/SnapshotRestoreCommand.java | 2 +-
.../management/snapshot/SnapshotRestoreTask.java | 3 +-
.../management/snapshot/SnapshotStatusCommand.java | 19 ++---
.../management/snapshot/SnapshotStatusTask.java | 12 ++--
.../internal/management/tx/TxInfoCommand.java | 3 +-
.../ignite/internal/visor/VisorMultiNodeTask.java | 9 ++-
.../VisorTaskResult.java} | 22 +++---
.../main/resources/META-INF/classnames.properties | 4 +-
.../distributed/GridCacheEventAbstractTest.java | 2 +-
...MovingPartitionIsEvictedDuringClearingTest.java | 2 +-
.../MaintenancePersistenceTaskTest.java | 8 +--
.../IncrementalSnapshotRestoreTest.java | 6 +-
.../cache/transactions/TxRollbackAsyncTest.java | 2 +-
.../junits/common/GridCommonAbstractTest.java | 7 +-
.../GridInternalTaskUnusedWalSegmentsTest.java | 4 +-
.../db/IgniteCacheGroupsWithRestartsTest.java | 16 ++---
.../processors/query/h2/GridIndexRebuildTest.java | 21 +++---
44 files changed, 158 insertions(+), 348 deletions(-)
diff --git
a/modules/control-utility/src/main/java/org/apache/ignite/internal/commandline/CommandHandler.java
b/modules/control-utility/src/main/java/org/apache/ignite/internal/commandline/CommandHandler.java
index 03193621665..98c27b87667 100644
---
a/modules/control-utility/src/main/java/org/apache/ignite/internal/commandline/CommandHandler.java
+++
b/modules/control-utility/src/main/java/org/apache/ignite/internal/commandline/CommandHandler.java
@@ -288,20 +288,10 @@ public class CommandHandler {
if (args.command() instanceof HelpCommand)
printUsage(logger, args.cmdPath().peekLast());
- else {
- try {
- if (args.command() instanceof
BeforeNodeStartCommand)
- lastOperationRes =
invoker.invokeBeforeNodeStart(logger::info);
- else
- lastOperationRes =
invoker.invoke(logger::info, args.verbose());
- }
- catch (Throwable e) {
- logger.error("Failed to perform operation.");
- logger.error(CommandLogger.errorMessage(e));
-
- throw e;
- }
- }
+ else if (args.command() instanceof BeforeNodeStartCommand)
+ lastOperationRes =
invoker.invokeBeforeNodeStart(logger::info);
+ else
+ lastOperationRes = invoker.invoke(logger::info,
args.verbose());
break;
}
@@ -335,16 +325,9 @@ public class CommandHandler {
return EXIT_CODE_OK;
}
- catch (IllegalArgumentException e) {
- logger.error("Check arguments. " + errorMessage(e));
- logger.info("Command [" + cmdName + "] finished with code: " +
EXIT_CODE_INVALID_ARGUMENTS);
-
- if (verbose)
- err = e;
-
- return EXIT_CODE_INVALID_ARGUMENTS;
- }
catch (Throwable e) {
+ logger.error("Failed to perform operation.");
+
if (isAuthError(e)) {
logger.error("Authentication error. " + errorMessage(e));
logger.info("Command [" + cmdName + "] finished with code: " +
ERR_AUTHENTICATION_FAILED);
diff --git
a/modules/control-utility/src/main/java/org/apache/ignite/internal/commandline/CommandLogger.java
b/modules/control-utility/src/main/java/org/apache/ignite/internal/commandline/CommandLogger.java
index 10ebdb03e12..f6cfc23efa4 100644
---
a/modules/control-utility/src/main/java/org/apache/ignite/internal/commandline/CommandLogger.java
+++
b/modules/control-utility/src/main/java/org/apache/ignite/internal/commandline/CommandLogger.java
@@ -17,28 +17,26 @@
package org.apache.ignite.internal.commandline;
+import java.util.stream.Collectors;
+import org.apache.ignite.compute.ComputeUserUndeclaredException;
import org.apache.ignite.internal.util.typedef.F;
+import org.apache.ignite.internal.util.typedef.X;
+import org.apache.ignite.internal.util.typedef.internal.U;
/**
* Utility class for creating {@code CommangHandler} log messages.
*/
public class CommandLogger {
/**
- * Generates readable error message from exception
- * @param e Exctption
- * @return error message
+ * Generates readable error message from exception.
+ * @param ex Exception.
+ * @return Error message.
*/
- public static String errorMessage(Throwable e) {
- String msg = e.getMessage();
-
- if (F.isEmpty(msg))
- msg = e.getClass().getName();
- else if (msg.startsWith("Failed to handle request")) {
- int p = msg.indexOf("err=");
-
- msg = msg.substring(p + 4, msg.length() - 1);
- }
-
- return msg;
+ public static String errorMessage(Throwable ex) {
+ return X.getThrowableList(ex).stream()
+ .filter(e -> !(e instanceof ComputeUserUndeclaredException))
+ .map(e -> F.isEmpty(e.getMessage()) ? e.getClass().getName() :
e.getMessage())
+ .distinct()
+ .collect(Collectors.joining(U.nl()));
}
}
diff --git
a/modules/control-utility/src/test/java/org/apache/ignite/util/GridCommandHandlerTest.java
b/modules/control-utility/src/test/java/org/apache/ignite/util/GridCommandHandlerTest.java
index 429f818348b..42b8005f378 100644
---
a/modules/control-utility/src/test/java/org/apache/ignite/util/GridCommandHandlerTest.java
+++
b/modules/control-utility/src/test/java/org/apache/ignite/util/GridCommandHandlerTest.java
@@ -84,7 +84,6 @@ import org.apache.ignite.internal.client.impl.GridClientImpl;
import org.apache.ignite.internal.client.util.GridConcurrentHashSet;
import
org.apache.ignite.internal.management.cache.FindAndDeleteGarbageInPersistenceTaskResult;
import org.apache.ignite.internal.management.cache.IdleVerifyDumpTask;
-import org.apache.ignite.internal.management.snapshot.SnapshotTaskResult;
import org.apache.ignite.internal.management.tx.TxInfo;
import org.apache.ignite.internal.management.tx.TxTaskResult;
import org.apache.ignite.internal.managers.communication.GridIoMessage;
@@ -3247,7 +3246,7 @@ public class GridCommandHandlerTest extends
GridCommandHandlerClusterPerMethodAb
waitForCondition(endTimeMetricPredicate::getAsBoolean,
getTestTimeout()));
}
- assertContains(log,
(String)((SnapshotTaskResult)h.getLastOperationResult()).result(), snpName);
+ assertContains(log, (String)h.getLastOperationResult(), snpName);
stopAllGrids();
@@ -3321,7 +3320,7 @@ public class GridCommandHandlerTest extends
GridCommandHandlerClusterPerMethodAb
StringBuilder sb = new StringBuilder();
-
((SnapshotPartitionsVerifyTaskResult)((SnapshotTaskResult)h.getLastOperationResult()).result()).print(sb::append);
+
((SnapshotPartitionsVerifyTaskResult)h.getLastOperationResult()).print(sb::append);
assertContains(log, sb.toString(), "The check procedure has finished,
no conflicts have been found");
}
diff --git
a/modules/control-utility/src/test/java/org/apache/ignite/util/MetricCommandTest.java
b/modules/control-utility/src/test/java/org/apache/ignite/util/MetricCommandTest.java
index 4933ea4275a..3197a041273 100644
---
a/modules/control-utility/src/test/java/org/apache/ignite/util/MetricCommandTest.java
+++
b/modules/control-utility/src/test/java/org/apache/ignite/util/MetricCommandTest.java
@@ -108,7 +108,7 @@ public class MetricCommandTest extends
GridCommandHandlerClusterByClassAbstractT
assertContains(log,
executeCommand(EXIT_CODE_INVALID_ARGUMENTS, CMD_METRIC,
"--node-id", incorrectNodeId, IGNITE_METRICS),
- "Failed to perform operation.\nNode with id=" + incorrectNodeId +
" not found");
+ "Check arguments. Node with id=" + incorrectNodeId + " not found");
}
/** Tests command output in case nonexistent metric name is specified. */
diff --git
a/modules/control-utility/src/test/java/org/apache/ignite/util/SystemViewCommandTest.java
b/modules/control-utility/src/test/java/org/apache/ignite/util/SystemViewCommandTest.java
index 7ec28653395..17aba103540 100644
---
a/modules/control-utility/src/test/java/org/apache/ignite/util/SystemViewCommandTest.java
+++
b/modules/control-utility/src/test/java/org/apache/ignite/util/SystemViewCommandTest.java
@@ -243,7 +243,7 @@ public class SystemViewCommandTest extends
GridCommandHandlerClusterByClassAbstr
assertContains(log,
executeCommand(EXIT_CODE_INVALID_ARGUMENTS, CMD_SYS_VIEW, NODE_ID,
incorrectNodeId, CACHES_VIEW),
- "Failed to perform operation.\nNode with id=" + incorrectNodeId +
" not found");
+ "Check arguments. Node with id=" + incorrectNodeId + " not found");
}
/** Tests command output in case nonexistent system view names is
specified. */
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/TransactionsMXBeanImpl.java
b/modules/core/src/main/java/org/apache/ignite/internal/TransactionsMXBeanImpl.java
index 89315e303bb..b6e9293bf55 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/TransactionsMXBeanImpl.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/TransactionsMXBeanImpl.java
@@ -85,7 +85,7 @@ public class TransactionsMXBeanImpl implements
TransactionsMXBean {
Map<ClusterNode, TxTaskResult> res = ctx.task().execute(
new TxTask(),
new VisorTaskArgument<>(ctx.cluster().get().localNode().id(),
arg, false)
- ).get();
+ ).get().result();
if (detailed) {
StringWriter sw = new StringWriter();
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientClusterState.java
b/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientClusterState.java
index 602d48bb228..23aa571bae4 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientClusterState.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/client/GridClientClusterState.java
@@ -18,7 +18,6 @@
package org.apache.ignite.internal.client;
import java.util.UUID;
-
import org.apache.ignite.cluster.ClusterState;
/**
@@ -36,14 +35,14 @@ public interface GridClientClusterState {
*
* @return ID of the cluster.
*/
- public UUID id() throws GridClientException;
+ public UUID id() throws Exception;
/**
* User-defined tag of cluster STATE command was sent to.
*
* @return Tag of the cluster.
*/
- public String tag() throws GridClientException;
+ public String tag() throws Exception;
/**
* Changes cluster state to {@code newState}.
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/client/impl/GridClientClusterStateImpl.java
b/modules/core/src/main/java/org/apache/ignite/internal/client/impl/GridClientClusterStateImpl.java
index 4f63043a72a..da13d1d4ed8 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/client/impl/GridClientClusterStateImpl.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/client/impl/GridClientClusterStateImpl.java
@@ -28,6 +28,7 @@ import org.apache.ignite.internal.client.GridClientPredicate;
import org.apache.ignite.internal.client.balancer.GridClientLoadBalancer;
import org.apache.ignite.internal.client.impl.connection.GridClientConnection;
import org.apache.ignite.internal.visor.VisorTaskArgument;
+import org.apache.ignite.internal.visor.VisorTaskResult;
import org.apache.ignite.internal.visor.misc.VisorIdAndTagViewTask;
import org.apache.ignite.internal.visor.misc.VisorIdAndTagViewTaskResult;
@@ -42,8 +43,8 @@ public class GridClientClusterStateImpl extends
GridClientAbstractProjection<Gri
/**
* Closure to execute Cluster ID and Tag view action on cluster.
*/
- private static final ClientProjectionClosure<VisorIdAndTagViewTaskResult>
ID_AND_TAG_VIEW_CL = (conn, nodeId) ->
- conn.execute(
+ private static final
ClientProjectionClosure<VisorTaskResult<VisorIdAndTagViewTaskResult>>
ID_AND_TAG_VIEW_CL =
+ (conn, nodeId) -> conn.execute(
VisorIdAndTagViewTask.class.getName(),
new VisorTaskArgument<>(nodeId, null, false),
nodeId,
@@ -92,13 +93,13 @@ public class GridClientClusterStateImpl extends
GridClientAbstractProjection<Gri
}
/** {@inheritDoc} */
- @Override public UUID id() throws GridClientException {
- return withReconnectHandling(ID_AND_TAG_VIEW_CL).get().id();
+ @Override public UUID id() throws Exception {
+ return withReconnectHandling(ID_AND_TAG_VIEW_CL).get().result().id();
}
/** {@inheritDoc} */
- @Override public String tag() throws GridClientException {
- return withReconnectHandling(ID_AND_TAG_VIEW_CL).get().tag();
+ @Override public String tag() throws Exception {
+ return withReconnectHandling(ID_AND_TAG_VIEW_CL).get().result().tag();
}
/** {@inheritDoc} */
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/StateCommand.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/StateCommand.java
index 21eca4fd8a1..73444ca0bf5 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/StateCommand.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/management/StateCommand.java
@@ -23,7 +23,6 @@ import org.apache.ignite.Ignite;
import org.apache.ignite.cluster.ClusterState;
import org.apache.ignite.internal.client.GridClient;
import org.apache.ignite.internal.client.GridClientClusterState;
-import org.apache.ignite.internal.client.GridClientException;
import org.apache.ignite.internal.management.api.LocalCommand;
import org.apache.ignite.internal.management.api.NoArg;
import org.apache.ignite.internal.util.lang.GridTuple3;
@@ -50,7 +49,7 @@ public class StateCommand implements LocalCommand<NoArg,
GridTuple3<UUID, String
@Nullable Ignite ignite,
NoArg arg,
Consumer<String> printer
- ) throws GridClientException {
+ ) throws Exception {
ClusterState state;
UUID id;
String tag;
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/api/CommandInvoker.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/api/CommandInvoker.java
index 0c500bca629..250db201128 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/api/CommandInvoker.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/management/api/CommandInvoker.java
@@ -55,7 +55,7 @@ public class CommandInvoker<A extends
IgniteDataTransferObject> {
/**
* @param printer Result printer.
* @return {@code True} of command successfully prepared and can be
invoked, {@code false} otherwise.
- * @throws GridClientException In failed.
+ * @throws GridClientException If failed.
*/
public boolean prepare(Consumer<String> printer) throws
GridClientException {
if (!(cmd instanceof PreparableCommand))
@@ -70,9 +70,9 @@ public class CommandInvoker<A extends
IgniteDataTransferObject> {
* @param printer Result printer.
* @param verbose Use verbose mode or not
* @return Result of operation (mostly usable for tests).
- * @throws GridClientException In failed.
+ * @throws Exception If failed.
*/
- public <R> R invoke(Consumer<String> printer, boolean verbose) throws
GridClientException {
+ public <R> R invoke(Consumer<String> printer, boolean verbose) throws
Exception {
R res;
if (cmd instanceof LocalCommand)
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/api/CommandMBean.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/api/CommandMBean.java
index 9af32a2a4ad..caa66e36853 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/api/CommandMBean.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/management/api/CommandMBean.java
@@ -35,7 +35,6 @@ import javax.management.MBeanParameterInfo;
import javax.management.ReflectionException;
import org.apache.ignite.IgniteLogger;
import org.apache.ignite.internal.IgniteEx;
-import org.apache.ignite.internal.client.GridClientException;
import org.apache.ignite.internal.dto.IgniteDataTransferObject;
import org.apache.ignite.internal.util.typedef.F;
@@ -129,15 +128,10 @@ public class CommandMBean<A extends
IgniteDataTransferObject, R> implements Dyna
return resStr.toString();
}
- catch (GridClientException e) {
- log.error("Invoke error:", e);
-
- throw new RuntimeException(e);
- }
catch (Exception e) {
log.error("Invoke error:", e);
- throw e;
+ throw new RuntimeException(e);
}
}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/api/CommandUtils.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/api/CommandUtils.java
index 4fb79b9794d..e4f3ed4fb0d 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/api/CommandUtils.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/management/api/CommandUtils.java
@@ -55,6 +55,7 @@ import org.apache.ignite.internal.util.typedef.internal.SB;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.internal.visor.VisorMultiNodeTask;
import org.apache.ignite.internal.visor.VisorTaskArgument;
+import org.apache.ignite.internal.visor.VisorTaskResult;
import org.apache.ignite.lang.IgniteExperimental;
import org.apache.ignite.lang.IgniteUuid;
import org.jetbrains.annotations.Nullable;
@@ -767,7 +768,7 @@ public class CommandUtils {
Class<? extends VisorMultiNodeTask<A, R, ?>> taskCls,
A arg,
Collection<GridClientNode> nodes
- ) throws GridClientException {
+ ) throws Exception {
Collection<UUID> nodesIds = nodes.stream()
.map(GridClientNode::nodeId)
.collect(Collectors.toList());
@@ -783,15 +784,16 @@ public class CommandUtils {
if (!connectable.isEmpty())
compute = compute.projection(connectable);
- return compute.execute(
+ return ((VisorTaskResult<R>)compute.execute(
taskCls.getName(),
new VisorTaskArgument<>(nodesIds, arg, false)
- );
+ )).result();
}
return ignite
.compute(ignite.cluster())
- .execute(taskCls, new VisorTaskArgument<>(nodesIds, arg, false));
+ .execute(taskCls, new VisorTaskArgument<>(nodesIds, arg, false))
+ .result();
}
/** */
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/api/LocalCommand.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/api/LocalCommand.java
index d8f3976660e..a878708fa72 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/api/LocalCommand.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/management/api/LocalCommand.java
@@ -20,7 +20,6 @@ package org.apache.ignite.internal.management.api;
import java.util.function.Consumer;
import org.apache.ignite.Ignite;
import org.apache.ignite.internal.client.GridClient;
-import org.apache.ignite.internal.client.GridClientException;
import org.apache.ignite.internal.dto.IgniteDataTransferObject;
import org.jetbrains.annotations.Nullable;
@@ -44,5 +43,5 @@ public interface LocalCommand<A extends
IgniteDataTransferObject, R> extends Com
* @param printer Results printer.
* @return Command result.
*/
- public R execute(@Nullable GridClient cli, @Nullable Ignite ignite, A arg,
Consumer<String> printer) throws GridClientException;
+ R execute(@Nullable GridClient cli, @Nullable Ignite ignite, A arg,
Consumer<String> printer) throws Exception;
}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheListCommand.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheListCommand.java
index f76c4a258a6..3cff6b84c3a 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheListCommand.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheListCommand.java
@@ -28,7 +28,6 @@ import java.util.function.Predicate;
import java.util.stream.Collectors;
import org.apache.ignite.Ignite;
import org.apache.ignite.internal.client.GridClient;
-import org.apache.ignite.internal.client.GridClientException;
import org.apache.ignite.internal.client.GridClientNode;
import org.apache.ignite.internal.management.api.CommandUtils;
import org.apache.ignite.internal.management.api.LocalCommand;
@@ -64,7 +63,7 @@ public class CacheListCommand implements
LocalCommand<CacheListCommandArg, ViewC
@Nullable Ignite ignite,
CacheListCommandArg arg,
Consumer<String> printer
- ) throws GridClientException {
+ ) throws Exception {
ViewCacheCmd cmd = arg.groups()
? GROUPS
: (arg.seq() ? SEQ : CACHES);
@@ -98,7 +97,7 @@ public class CacheListCommand implements
LocalCommand<CacheListCommandArg, ViewC
CacheListCommandArg arg,
ViewCacheTaskResult viewRes,
Consumer<String> printer
- ) throws GridClientException {
+ ) throws Exception {
Collection<GridClientNode> nodes = nodes(cli, ignite)
.stream()
.filter(FILTER.apply(arg))
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheMetricsCommand.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheMetricsCommand.java
index d4d68cfa494..ac567065bda 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheMetricsCommand.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheMetricsCommand.java
@@ -18,9 +18,9 @@
package org.apache.ignite.internal.management.cache;
import java.util.List;
+import java.util.Map;
import java.util.function.Consumer;
import java.util.stream.Collectors;
-import org.apache.ignite.IgniteException;
import org.apache.ignite.internal.management.api.ComputeCommand;
import static java.util.Arrays.asList;
@@ -28,7 +28,7 @@ import static
org.apache.ignite.internal.management.SystemViewCommand.printTable
import static
org.apache.ignite.internal.management.SystemViewTask.SimpleType.STRING;
/** Enable / disable cache metrics collection or show metrics collection
status. */
-public class CacheMetricsCommand implements
ComputeCommand<CacheMetricsCommandArg, CacheMetricsTaskResult> {
+public class CacheMetricsCommand implements
ComputeCommand<CacheMetricsCommandArg, Map<String, Boolean>> {
/** {@inheritDoc} */
@Override public String description() {
return "Manages user cache metrics collection: enables, disables it or
shows status";
@@ -45,17 +45,12 @@ public class CacheMetricsCommand implements
ComputeCommand<CacheMetricsCommandAr
}
/** {@inheritDoc} */
- @Override public void printResult(CacheMetricsCommandArg arg,
CacheMetricsTaskResult res, Consumer<String> printer) {
- try {
- List<List<?>> values = res.result().entrySet()
- .stream()
- .map(e -> asList(e.getKey(), e.getValue() ? "enabled" :
"disabled"))
- .collect(Collectors.toList());
-
- printTable(asList("Cache Name", "Metrics Status"), asList(STRING,
STRING), values, printer);
- }
- catch (Exception e) {
- throw new IgniteException(e);
- }
+ @Override public void printResult(CacheMetricsCommandArg arg, Map<String,
Boolean> res, Consumer<String> printer) {
+ List<List<?>> values = res.entrySet()
+ .stream()
+ .map(e -> asList(e.getKey(), e.getValue() ? "enabled" :
"disabled"))
+ .collect(Collectors.toList());
+
+ printTable(asList("Cache Name", "Metrics Status"), asList(STRING,
STRING), values, printer);
}
}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheMetricsTask.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheMetricsTask.java
index 79e18d91260..2ececb51a2a 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheMetricsTask.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheMetricsTask.java
@@ -35,7 +35,7 @@ import static
org.apache.ignite.internal.management.cache.CacheMetricsOperation.
* Task for a cache metrics command.
*/
@GridInternal
-public class CacheMetricsTask extends VisorOneNodeTask<CacheMetricsCommandArg,
CacheMetricsTaskResult> {
+public class CacheMetricsTask extends VisorOneNodeTask<CacheMetricsCommandArg,
Map<String, Boolean>> {
/** Serial version uid. */
private static final long serialVersionUID = 0L;
@@ -47,9 +47,8 @@ public class CacheMetricsTask extends
VisorOneNodeTask<CacheMetricsCommandArg, C
/**
* Job returns {@link Map} with names of processed caches paired with
corresponding metrics collection statuses or
* exception, caught during execution of job.
- * Results are passed into instance of wrapper class {@link
CacheMetricsTaskResult}.
*/
- private static class CacheMetricsJob extends
VisorJob<CacheMetricsCommandArg, CacheMetricsTaskResult> {
+ private static class CacheMetricsJob extends
VisorJob<CacheMetricsCommandArg, Map<String, Boolean>> {
/** Serial version uid. */
private static final long serialVersionUID = 0L;
@@ -64,32 +63,25 @@ public class CacheMetricsTask extends
VisorOneNodeTask<CacheMetricsCommandArg, C
}
/** {@inheritDoc} */
- @Override protected CacheMetricsTaskResult run(@Nullable
CacheMetricsCommandArg arg)
- throws IgniteException {
- if (arg != null) {
- Collection<String> cacheNames = F.isEmpty(arg.caches()) ?
ignite.cacheNames() : Arrays.asList(arg.caches());
-
- try {
- switch (arg.operation()) {
- case ENABLE:
- case DISABLE:
- ignite.cluster().enableStatistics(cacheNames,
ENABLE == arg.operation());
-
- return new
CacheMetricsTaskResult(cacheMetricsStatus(cacheNames));
-
- case STATUS:
- return new
CacheMetricsTaskResult(cacheMetricsStatus(cacheNames));
-
- default:
- throw new IllegalStateException("Unexpected value:
" + arg.operation());
- }
- }
- catch (Exception e) {
- return new CacheMetricsTaskResult(e);
- }
- }
+ @Override protected Map<String, Boolean> run(@Nullable
CacheMetricsCommandArg arg) throws IgniteException {
+ if (arg == null)
+ return null;
+
+ Collection<String> cacheNames = F.isEmpty(arg.caches()) ?
ignite.cacheNames() : Arrays.asList(arg.caches());
+
+ switch (arg.operation()) {
+ case ENABLE:
+ case DISABLE:
+ ignite.cluster().enableStatistics(cacheNames, ENABLE ==
arg.operation());
- return null;
+ return cacheMetricsStatus(cacheNames);
+
+ case STATUS:
+ return cacheMetricsStatus(cacheNames);
+
+ default:
+ throw new IllegalStateException("Unexpected value: " +
arg.operation());
+ }
}
/**
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheMetricsTaskResult.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheMetricsTaskResult.java
deleted file mode 100644
index d8b0418b893..00000000000
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheMetricsTaskResult.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.management.cache;
-
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import java.util.Collections;
-import java.util.Map;
-import org.apache.ignite.internal.dto.IgniteDataTransferObject;
-import org.apache.ignite.internal.util.typedef.internal.U;
-
-/**
- * Result wrapper for {@link CacheMetricsTask}.
- */
-public class CacheMetricsTaskResult extends IgniteDataTransferObject {
- /** Serial version uid. */
- private static final long serialVersionUID = 0L;
-
- /** Task result. */
- private Map<String, Boolean> result;
-
- /** Task execution error. */
- private Exception error;
-
- /**
- * Default constructor.
- */
- public CacheMetricsTaskResult() {
- // No-op.
- }
-
- /**
- * @param result Task execution result.
- */
- public CacheMetricsTaskResult(Map<String, Boolean> result) {
- this.result = Collections.unmodifiableMap(result);
- }
-
- /**
- * @param error Task execution error.
- */
- public CacheMetricsTaskResult(Exception error) {
- this.error = error;
- }
-
- /** {@inheritDoc} */
- @Override protected void writeExternalData(ObjectOutput out) throws
IOException {
- U.writeMap(out, result);
- out.writeObject(error);
- }
-
- /** {@inheritDoc} */
- @Override protected void readExternalData(byte protoVer, ObjectInput in)
throws IOException, ClassNotFoundException {
- result = U.readMap(in);
- error = (Exception)in.readObject();
- }
-
- /**
- * Get task result or task execution error.
- */
- public Map<String, Boolean> result() throws Exception {
- if (error != null)
- throw error;
-
- return Collections.unmodifiableMap(result);
- }
-}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/consistency/ConsistencyRepairCommand.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/consistency/ConsistencyRepairCommand.java
index a6bdac934b7..61f1f7c644f 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/consistency/ConsistencyRepairCommand.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/management/consistency/ConsistencyRepairCommand.java
@@ -24,7 +24,6 @@ import java.util.function.Consumer;
import org.apache.ignite.Ignite;
import org.apache.ignite.IgniteException;
import org.apache.ignite.internal.client.GridClient;
-import org.apache.ignite.internal.client.GridClientException;
import org.apache.ignite.internal.client.GridClientNode;
import org.apache.ignite.internal.management.api.CommandUtils;
import org.apache.ignite.internal.management.api.LocalCommand;
@@ -53,7 +52,7 @@ public class ConsistencyRepairCommand implements
LocalCommand<ConsistencyRepairC
@Nullable Ignite ignite,
ConsistencyRepairCommandArg arg,
Consumer<String> printer
- ) throws GridClientException, IgniteException {
+ ) throws Exception {
StringBuilder sb = new StringBuilder();
boolean failed = false;
@@ -89,7 +88,7 @@ public class ConsistencyRepairCommand implements
LocalCommand<ConsistencyRepairC
ConsistencyRepairCommandArg arg,
Collection<GridClientNode> nodes,
StringBuilder sb
- ) throws GridClientException {
+ ) throws Exception {
boolean failed = false;
ConsistencyTaskResult res = CommandUtils.execute(
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillSnapshotCommand.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillSnapshotCommand.java
index 9eda58ff183..8becd2c1fec 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillSnapshotCommand.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/KillSnapshotCommand.java
@@ -19,10 +19,9 @@ package org.apache.ignite.internal.management.kill;
import org.apache.ignite.internal.management.api.ComputeCommand;
import
org.apache.ignite.internal.management.kill.SnapshotCancelTask.CancelSnapshotArg;
-import org.apache.ignite.internal.management.snapshot.SnapshotTaskResult;
/** */
-public class KillSnapshotCommand implements ComputeCommand<CancelSnapshotArg,
SnapshotTaskResult> {
+public class KillSnapshotCommand implements ComputeCommand<CancelSnapshotArg,
String> {
/** {@inheritDoc} */
@Override public String description() {
return "Kill running snapshot by snapshot name";
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/SnapshotCancelTask.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/SnapshotCancelTask.java
index 93116489de1..0a466a008d6 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/SnapshotCancelTask.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/SnapshotCancelTask.java
@@ -22,17 +22,17 @@ import org.apache.ignite.IgniteException;
import org.apache.ignite.internal.dto.IgniteDataTransferObject;
import
org.apache.ignite.internal.management.kill.SnapshotCancelTask.CancelSnapshotArg;
import org.apache.ignite.internal.management.snapshot.SnapshotJob;
-import org.apache.ignite.internal.management.snapshot.SnapshotOneNodeTask;
import
org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteSnapshotManager;
import
org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotMXBeanImpl;
import org.apache.ignite.internal.processors.task.GridInternal;
import org.apache.ignite.internal.visor.VisorJob;
+import org.apache.ignite.internal.visor.VisorOneNodeTask;
/**
* @see IgniteSnapshotManager#cancelSnapshotOperation(UUID)
*/
@GridInternal
-public class SnapshotCancelTask extends SnapshotOneNodeTask<CancelSnapshotArg,
String> {
+public class SnapshotCancelTask extends VisorOneNodeTask<CancelSnapshotArg,
String> {
/** Serial version uid. */
private static final long serialVersionUID = 0L;
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/AbstractSnapshotCommand.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/AbstractSnapshotCommand.java
index 3a27d0fedff..df5de62544d 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/AbstractSnapshotCommand.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/AbstractSnapshotCommand.java
@@ -18,20 +18,13 @@
package org.apache.ignite.internal.management.snapshot;
import java.util.function.Consumer;
-import org.apache.ignite.IgniteException;
import org.apache.ignite.internal.dto.IgniteDataTransferObject;
import org.apache.ignite.internal.management.api.ComputeCommand;
/** */
-public abstract class AbstractSnapshotCommand<A extends
IgniteDataTransferObject>
- implements ComputeCommand<A, SnapshotTaskResult> {
+public abstract class AbstractSnapshotCommand<A extends
IgniteDataTransferObject, R> implements ComputeCommand<A, R> {
/** {@inheritDoc} */
- @Override public void printResult(A arg, SnapshotTaskResult res,
Consumer<String> printer) {
- try {
- printer.accept(String.valueOf(res.result()));
- }
- catch (Exception e) {
- throw new IgniteException(e);
- }
+ @Override public void printResult(A arg, R res, Consumer<String> printer) {
+ printer.accept(String.valueOf(res));
}
}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCancelCommand.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCancelCommand.java
index 7285ac15a0c..1dd9ba2f758 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCancelCommand.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCancelCommand.java
@@ -21,7 +21,7 @@ import
org.apache.ignite.internal.management.kill.SnapshotCancelTask;
import
org.apache.ignite.internal.management.kill.SnapshotCancelTask.CancelSnapshotArg;
/** */
-public class SnapshotCancelCommand extends
AbstractSnapshotCommand<CancelSnapshotArg> {
+public class SnapshotCancelCommand extends
AbstractSnapshotCommand<CancelSnapshotArg, String> {
/** {@inheritDoc} */
@Override public String description() {
return "Cancel running snapshot operation";
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCheckCommand.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCheckCommand.java
index 22336e3c002..11f833819c0 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCheckCommand.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCheckCommand.java
@@ -18,11 +18,10 @@
package org.apache.ignite.internal.management.snapshot;
import java.util.function.Consumer;
-import org.apache.ignite.IgniteException;
import
org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotPartitionsVerifyTaskResult;
/** */
-public class SnapshotCheckCommand extends
AbstractSnapshotCommand<SnapshotCheckCommandArg> {
+public class SnapshotCheckCommand extends
AbstractSnapshotCommand<SnapshotCheckCommandArg,
SnapshotPartitionsVerifyTaskResult> {
/** {@inheritDoc} */
@Override public String description() {
return "Check snapshot";
@@ -39,12 +38,7 @@ public class SnapshotCheckCommand extends
AbstractSnapshotCommand<SnapshotCheckC
}
/** {@inheritDoc} */
- @Override public void printResult(SnapshotCheckCommandArg arg,
SnapshotTaskResult res0, Consumer<String> printer) {
- try {
- ((SnapshotPartitionsVerifyTaskResult)res0.result()).print(printer);
- }
- catch (Exception e) {
- throw new IgniteException(e);
- }
+ @Override public void printResult(SnapshotCheckCommandArg arg,
SnapshotPartitionsVerifyTaskResult res, Consumer<String> printer) {
+ res.print(printer);
}
}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCheckTask.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCheckTask.java
index c467585d862..0d48dac64cc 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCheckTask.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCheckTask.java
@@ -23,13 +23,13 @@ import
org.apache.ignite.internal.processors.cache.persistence.snapshot.Snapshot
import org.apache.ignite.internal.processors.task.GridInternal;
import org.apache.ignite.internal.util.future.IgniteFutureImpl;
import org.apache.ignite.internal.visor.VisorJob;
+import org.apache.ignite.internal.visor.VisorOneNodeTask;
/**
* @see IgniteSnapshotManager#checkSnapshot(String, String)
*/
@GridInternal
-public class SnapshotCheckTask extends
SnapshotOneNodeTask<SnapshotCheckCommandArg,
- SnapshotPartitionsVerifyTaskResult> {
+public class SnapshotCheckTask extends
VisorOneNodeTask<SnapshotCheckCommandArg, SnapshotPartitionsVerifyTaskResult> {
/** Serial version uid. */
private static final long serialVersionUID = 0L;
@@ -39,8 +39,7 @@ public class SnapshotCheckTask extends
SnapshotOneNodeTask<SnapshotCheckCommandA
}
/** */
- private static class SnapshotCheckJob extends
SnapshotJob<SnapshotCheckCommandArg,
- SnapshotPartitionsVerifyTaskResult> {
+ private static class SnapshotCheckJob extends
SnapshotJob<SnapshotCheckCommandArg, SnapshotPartitionsVerifyTaskResult> {
/** Serial version uid. */
private static final long serialVersionUID = 0L;
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCreateCommand.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCreateCommand.java
index c8c82d1a206..23e521ef8db 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCreateCommand.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCreateCommand.java
@@ -18,7 +18,7 @@
package org.apache.ignite.internal.management.snapshot;
/** */
-public class SnapshotCreateCommand extends
AbstractSnapshotCommand<SnapshotCreateCommandArg> {
+public class SnapshotCreateCommand extends
AbstractSnapshotCommand<SnapshotCreateCommandArg, String> {
/** {@inheritDoc} */
@Override public String description() {
return "Create cluster snapshot";
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCreateTask.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCreateTask.java
index e236ad6fc7c..8d4cec81e3a 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCreateTask.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotCreateTask.java
@@ -23,12 +23,13 @@ import
org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteSn
import org.apache.ignite.internal.processors.task.GridInternal;
import org.apache.ignite.internal.util.future.IgniteFutureImpl;
import org.apache.ignite.internal.visor.VisorJob;
+import org.apache.ignite.internal.visor.VisorOneNodeTask;
/**
* @see IgniteSnapshot#createSnapshot(String)
*/
@GridInternal
-public class SnapshotCreateTask extends
SnapshotOneNodeTask<SnapshotCreateCommandArg, String> {
+public class SnapshotCreateTask extends
VisorOneNodeTask<SnapshotCreateCommandArg, String> {
/** Serial version uid. */
private static final long serialVersionUID = 0L;
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotOneNodeTask.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotOneNodeTask.java
deleted file mode 100644
index d2b9fec8d1b..00000000000
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotOneNodeTask.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.management.snapshot;
-
-import java.util.List;
-import org.apache.ignite.compute.ComputeJobResult;
-import org.apache.ignite.internal.util.typedef.F;
-import org.apache.ignite.internal.visor.VisorMultiNodeTask;
-import org.jetbrains.annotations.Nullable;
-
-/**
- * Base class for single node visor snapshot task.
- */
-public abstract class SnapshotOneNodeTask<A, R> extends VisorMultiNodeTask<A,
SnapshotTaskResult, R> {
- /** {@inheritDoc} */
- @Nullable @Override protected SnapshotTaskResult
reduce0(List<ComputeJobResult> results) {
- assert results.size() == 1 : results.size();
-
- ComputeJobResult res = F.first(results);
-
- return new SnapshotTaskResult(res.getData(), res.getException());
- }
-}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotRestoreCommand.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotRestoreCommand.java
index b904513f9f9..7ba5185e447 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotRestoreCommand.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotRestoreCommand.java
@@ -20,7 +20,7 @@ package org.apache.ignite.internal.management.snapshot;
import org.jetbrains.annotations.Nullable;
/** */
-public class SnapshotRestoreCommand extends
AbstractSnapshotCommand<SnapshotRestoreCommandArg> {
+public class SnapshotRestoreCommand extends
AbstractSnapshotCommand<SnapshotRestoreCommandArg, String> {
/** {@inheritDoc} */
@Override public String description() {
return "Restore snapshot";
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotRestoreTask.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotRestoreTask.java
index d238c7bc69d..15173895266 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotRestoreTask.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotRestoreTask.java
@@ -24,12 +24,13 @@ import
org.apache.ignite.internal.processors.cache.persistence.snapshot.IgniteSn
import org.apache.ignite.internal.processors.task.GridInternal;
import org.apache.ignite.internal.util.future.IgniteFutureImpl;
import org.apache.ignite.internal.visor.VisorJob;
+import org.apache.ignite.internal.visor.VisorOneNodeTask;
/**
* Visor snapshot restore task.
*/
@GridInternal
-public class SnapshotRestoreTask extends
SnapshotOneNodeTask<SnapshotRestoreCommandArg, String> {
+public class SnapshotRestoreTask extends
VisorOneNodeTask<SnapshotRestoreCommandArg, String> {
/** Serial version uid. */
private static final long serialVersionUID = 0L;
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotStatusCommand.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotStatusCommand.java
index 7a063f800fe..18f4fc5b690 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotStatusCommand.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotStatusCommand.java
@@ -26,10 +26,10 @@ import java.util.Map;
import java.util.UUID;
import java.util.function.Consumer;
import java.util.stream.Collectors;
-import org.apache.ignite.IgniteException;
import org.apache.ignite.internal.management.SystemViewCommand;
import org.apache.ignite.internal.management.SystemViewTask;
import org.apache.ignite.internal.management.api.NoArg;
+import
org.apache.ignite.internal.management.snapshot.SnapshotStatusTask.SnapshotStatus;
import org.apache.ignite.internal.util.GridStringBuilder;
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.T5;
@@ -40,7 +40,7 @@ import static
org.apache.ignite.internal.management.SystemViewTask.SimpleType.NU
import static
org.apache.ignite.internal.management.SystemViewTask.SimpleType.STRING;
/** */
-public class SnapshotStatusCommand extends AbstractSnapshotCommand<NoArg> {
+public class SnapshotStatusCommand extends AbstractSnapshotCommand<NoArg,
SnapshotStatus> {
/** {@inheritDoc} */
@Override public String description() {
return "Get the status of the current snapshot operation";
@@ -57,24 +57,13 @@ public class SnapshotStatusCommand extends
AbstractSnapshotCommand<NoArg> {
}
/** {@inheritDoc} */
- @Override public void printResult(NoArg arg, SnapshotTaskResult res0,
Consumer<String> printer) {
- Object res;
-
- try {
- res = res0.result();
- }
- catch (Exception e) {
- throw new IgniteException(e);
- }
-
- if (res == null) {
+ @Override public void printResult(NoArg arg, SnapshotStatus status,
Consumer<String> printer) {
+ if (status == null) {
printer.accept("There is no create or restore snapshot operation
in progress.");
return;
}
- SnapshotStatusTask.SnapshotStatus status =
(SnapshotStatusTask.SnapshotStatus)res;
-
boolean isCreating = status.operation() ==
SnapshotStatusTask.SnapshotOperation.CREATE;
boolean isIncremental = status.incrementIndex() > 0;
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotStatusTask.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotStatusTask.java
index 830c52d3d80..6d774c3262c 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotStatusTask.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotStatusTask.java
@@ -49,7 +49,7 @@ import static
org.apache.ignite.internal.processors.cache.persistence.snapshot.S
* Task to get the status of the current snapshot operation in the cluster.
*/
@GridInternal
-public class SnapshotStatusTask extends VisorMultiNodeTask<NoArg,
SnapshotTaskResult, SnapshotStatus> {
+public class SnapshotStatusTask extends VisorMultiNodeTask<NoArg,
SnapshotStatus, SnapshotStatus> {
/** */
private static final long serialVersionUID = 0L;
@@ -64,21 +64,21 @@ public class SnapshotStatusTask extends
VisorMultiNodeTask<NoArg, SnapshotTaskRe
}
/** {@inheritDoc} */
- @Nullable @Override protected SnapshotTaskResult
reduce0(List<ComputeJobResult> results) {
+ @Nullable @Override protected SnapshotStatus
reduce0(List<ComputeJobResult> results) {
if (results.isEmpty())
- return new SnapshotTaskResult(null, new IgniteException("Failed to
get the snapshot status. Topology is empty."));
+ throw new IgniteException("Failed to get the snapshot status.
Topology is empty.");
IgniteException error = F.find(F.viewReadOnly(results,
ComputeJobResult::getException,
r -> r.getException() != null), null, F.notNull());
if (error != null)
- return new SnapshotTaskResult(null, new IgniteException("Failed to
get the snapshot status.", error));
+ throw new IgniteException("Failed to get the snapshot status.",
error);
Collection<SnapshotStatus> res = F.viewReadOnly(results,
ComputeJobResult::getData, r -> r.getData() != null);
// There is no snapshot operation.
if (res.isEmpty())
- return new SnapshotTaskResult(null, null);
+ return null;
SnapshotStatus s0 = F.first(res);
@@ -90,7 +90,7 @@ public class SnapshotStatusTask extends
VisorMultiNodeTask<NoArg, SnapshotTaskRe
res.forEach(s -> progress.putAll(s.progress));
- return new SnapshotTaskResult(new SnapshotStatus(s0.op, s0.name,
s0.incIdx, s0.requestId, s0.startTime, progress), null);
+ return new SnapshotStatus(s0.op, s0.name, s0.incIdx, s0.requestId,
s0.startTime, progress);
}
/** */
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/tx/TxInfoCommand.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/tx/TxInfoCommand.java
index 0d8bfc2ac33..6823cda9b7b 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/tx/TxInfoCommand.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/management/tx/TxInfoCommand.java
@@ -27,7 +27,6 @@ import java.util.function.Consumer;
import org.apache.ignite.Ignite;
import org.apache.ignite.cluster.ClusterNode;
import org.apache.ignite.internal.client.GridClient;
-import org.apache.ignite.internal.client.GridClientException;
import org.apache.ignite.internal.client.GridClientNode;
import org.apache.ignite.internal.management.api.CommandUtils;
import org.apache.ignite.internal.management.api.LocalCommand;
@@ -58,7 +57,7 @@ public class TxInfoCommand implements
LocalCommand<AbstractTxCommandArg, Map<Clu
@Nullable Ignite ignite,
AbstractTxCommandArg arg0,
Consumer<String> printer
- ) throws GridClientException {
+ ) throws Exception {
TxInfoCommandArg arg = (TxInfoCommandArg)arg0;
Optional<GridClientNode> node = CommandUtils.nodes(cli,
ignite).stream()
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorMultiNodeTask.java
b/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorMultiNodeTask.java
index 70f08bada1f..0c7b159969e 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorMultiNodeTask.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorMultiNodeTask.java
@@ -44,7 +44,7 @@ import static
org.apache.ignite.internal.visor.util.VisorTaskUtils.logStart;
* @param <R> Task result type.
* @param <J> Job result type
*/
-public abstract class VisorMultiNodeTask<A, R, J> implements
ComputeTask<VisorTaskArgument<A>, R> {
+public abstract class VisorMultiNodeTask<A, R, J> implements
ComputeTask<VisorTaskArgument<A>, VisorTaskResult<R>> {
/** Auto-injected grid instance. */
@IgniteInstanceResource
protected transient IgniteEx ignite;
@@ -135,9 +135,12 @@ public abstract class VisorMultiNodeTask<A, R, J>
implements ComputeTask<VisorTa
@Nullable protected abstract R reduce0(List<ComputeJobResult> results)
throws IgniteException;
/** {@inheritDoc} */
- @Nullable @Override public final R reduce(List<ComputeJobResult> results) {
+ @Nullable @Override public final VisorTaskResult<R>
reduce(List<ComputeJobResult> results) {
try {
- return reduce0(results);
+ return new VisorTaskResult<>(reduce0(results), null);
+ }
+ catch (Exception e) {
+ return new VisorTaskResult<>(null, e);
}
finally {
if (debug)
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotTaskResult.java
b/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorTaskResult.java
similarity index 78%
rename from
modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotTaskResult.java
rename to
modules/core/src/main/java/org/apache/ignite/internal/visor/VisorTaskResult.java
index a9dd29e5f1f..2b41e927c15 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/snapshot/SnapshotTaskResult.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorTaskResult.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.ignite.internal.management.snapshot;
+package org.apache.ignite.internal.visor;
import java.io.IOException;
import java.io.ObjectInput;
@@ -24,20 +24,20 @@ import
org.apache.ignite.internal.dto.IgniteDataTransferObject;
import org.jetbrains.annotations.Nullable;
/**
- * Snapshot task result wrapper.
+ * Management task result.
*/
-public class SnapshotTaskResult extends IgniteDataTransferObject {
+public class VisorTaskResult<R> extends IgniteDataTransferObject {
/** Serial version UID. */
private static final long serialVersionUID = 0L;
/** Task result. */
- private @Nullable Object res;
+ private @Nullable R res;
/** Error. */
private @Nullable Exception err;
- /** Default constructor. */
- public SnapshotTaskResult() {
+ /** */
+ public VisorTaskResult() {
// No-op.
}
@@ -45,16 +45,16 @@ public class SnapshotTaskResult extends
IgniteDataTransferObject {
* @param res Task result.
* @param err Error.
*/
- public SnapshotTaskResult(@Nullable Object res, @Nullable Exception err) {
- this.err = err;
+ public VisorTaskResult(@Nullable R res, @Nullable Exception err) {
this.res = res;
+ this.err = err;
}
/**
* @return Task result.
- * @throws Exception if the job was completed with an error.
+ * @throws Exception if the task was completed with an error.
*/
- public @Nullable Object result() throws Exception {
+ public @Nullable R result() throws Exception {
if (err != null)
throw err;
@@ -69,7 +69,7 @@ public class SnapshotTaskResult extends
IgniteDataTransferObject {
/** {@inheritDoc} */
@Override protected void readExternalData(byte ver, ObjectInput in) throws
IOException, ClassNotFoundException {
- res = in.readObject();
+ res = (R)in.readObject();
err = (Exception)in.readObject();
}
}
diff --git a/modules/core/src/main/resources/META-INF/classnames.properties
b/modules/core/src/main/resources/META-INF/classnames.properties
index d64b665f098..e4544198795 100644
--- a/modules/core/src/main/resources/META-INF/classnames.properties
+++ b/modules/core/src/main/resources/META-INF/classnames.properties
@@ -2074,6 +2074,7 @@ org.apache.ignite.internal.visor.VisorJob
org.apache.ignite.internal.visor.VisorMultiNodeTask
org.apache.ignite.internal.visor.VisorOneNodeTask
org.apache.ignite.internal.visor.VisorTaskArgument
+org.apache.ignite.internal.visor.VisorTaskResult
org.apache.ignite.internal.management.baseline.BaselineAutoAdjustSettings
org.apache.ignite.internal.management.baseline.BaselineNode
org.apache.ignite.internal.management.baseline.BaselineNode$ResolvedAddresses
@@ -2121,7 +2122,6 @@
org.apache.ignite.internal.management.cache.ScheduleIndexRebuildTaskRes
org.apache.ignite.internal.management.cache.CacheMetricsOperation
org.apache.ignite.internal.management.cache.CacheMetricsTask
org.apache.ignite.internal.management.cache.CacheMetricsTask$CacheMetricsJob
-org.apache.ignite.internal.management.cache.CacheMetricsTaskResult
org.apache.ignite.internal.management.cdc.CdcCacheDataResendTask
org.apache.ignite.internal.management.cdc.CdcCacheDataResendTask$CdcCacheDataResendJob
org.apache.ignite.internal.management.cdc.CdcDeleteLostSegmentsTask
@@ -2220,7 +2220,6 @@
org.apache.ignite.internal.management.snapshot.SnapshotCheckTask$SnapshotCheckJo
org.apache.ignite.internal.management.snapshot.SnapshotCreateTask
org.apache.ignite.internal.management.snapshot.SnapshotCreateTask$SnapshotCreateJob
org.apache.ignite.internal.management.snapshot.SnapshotJob
-org.apache.ignite.internal.management.snapshot.SnapshotOneNodeTask
org.apache.ignite.internal.management.snapshot.SnapshotRestoreTask
org.apache.ignite.internal.management.snapshot.SnapshotRestoreTask$SnapshotRestoreCancelJob
org.apache.ignite.internal.management.snapshot.SnapshotRestoreTask$SnapshotRestoreStatusJob
@@ -2229,7 +2228,6 @@
org.apache.ignite.internal.management.snapshot.SnapshotStatusTask
org.apache.ignite.internal.management.snapshot.SnapshotStatusTask$SnapshotOperation
org.apache.ignite.internal.management.snapshot.SnapshotStatusTask$SnapshotStatus
org.apache.ignite.internal.management.snapshot.SnapshotStatusTask$SnapshotStatusJob
-org.apache.ignite.internal.management.snapshot.SnapshotTaskResult
org.apache.ignite.internal.management.SystemViewTask
org.apache.ignite.internal.management.SystemViewTask$SimpleType
org.apache.ignite.internal.management.SystemViewTask$SystemViewJob
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheEventAbstractTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheEventAbstractTest.java
index 69651ff5090..bf001665450 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheEventAbstractTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheEventAbstractTest.java
@@ -180,7 +180,7 @@ public abstract class GridCacheEventAbstractTest extends
GridCacheAbstractSelfTe
*
* @param run {@link TestCacheRunnable} instance.
* @param evtCnts Expected event counts for each iteration.
- * @throws Exception In failed.
+ * @throws Exception If failed.
*/
@SuppressWarnings({"CaughtExceptionImmediatelyRethrown"})
private void runTest(TestCacheRunnable run, IgniteBiTuple<Integer,
Integer>... evtCnts) throws Exception {
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/MovingPartitionIsEvictedDuringClearingTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/MovingPartitionIsEvictedDuringClearingTest.java
index 4f00d8386d4..151b06aae03 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/MovingPartitionIsEvictedDuringClearingTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/dht/topology/MovingPartitionIsEvictedDuringClearingTest.java
@@ -170,7 +170,7 @@ public class MovingPartitionIsEvictedDuringClearingTest
extends GridCommonAbstra
/**
* @param size Size.
*/
- private void validadate(int size) {
+ private void validadate(int size) throws Exception {
assertPartitionsSame(idleVerify(grid(0), DEFAULT_CACHE_NAME));
for (Ignite grid : G.allGrids())
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/MaintenancePersistenceTaskTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/MaintenancePersistenceTaskTest.java
index e724e34b288..e49c70c68c1 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/MaintenancePersistenceTaskTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/MaintenancePersistenceTaskTest.java
@@ -146,14 +146,14 @@ public class MaintenancePersistenceTaskTest extends
GridCommonAbstractTest {
* @param node Ignite node.
* @return Execution's result.
*/
- private PersistenceTaskResult executeInfo(IgniteEx node) {
+ private PersistenceTaskResult executeInfo(IgniteEx node) throws Exception {
VisorTaskArgument<PersistenceCommand.PersistenceTaskArg> infoArg = new
VisorTaskArgument<>(
node.localNode().id(),
new PersistenceCommand.PersistenceInfoTaskArg(),
false
);
- return node.compute().execute(new PersistenceTask(), infoArg);
+ return node.compute().execute(new PersistenceTask(), infoArg).result();
}
/**
@@ -162,7 +162,7 @@ public class MaintenancePersistenceTaskTest extends
GridCommonAbstractTest {
* @param node Ignite node.
* @return Execution's result.
*/
- private PersistenceTaskResult executeClean(IgniteEx node) {
+ private PersistenceTaskResult executeClean(IgniteEx node) throws Exception
{
PersistenceCleanCachesTaskArg arg = new
PersistenceCleanCachesTaskArg();
arg.caches(new String[]{CACHE_NAME});
@@ -173,6 +173,6 @@ public class MaintenancePersistenceTaskTest extends
GridCommonAbstractTest {
false
);
- return node.compute().execute(new PersistenceTask(), cleanArg);
+ return node.compute().execute(new PersistenceTask(),
cleanArg).result();
}
}
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/incremental/IncrementalSnapshotRestoreTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/incremental/IncrementalSnapshotRestoreTest.java
index e311718e857..9ba95490aeb 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/incremental/IncrementalSnapshotRestoreTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/incremental/IncrementalSnapshotRestoreTest.java
@@ -828,7 +828,7 @@ public class IncrementalSnapshotRestoreTest extends
AbstractIncrementalSnapshotT
}
/** */
- private void checkData(Map<?, ?> expData, String cacheName) {
+ private void checkData(Map<?, ?> expData, String cacheName) throws
Exception {
List<Cache.Entry<Object, Object>> actData =
grid(0).cache(cacheName).withKeepBinary().query(new ScanQuery<>()).getAll();
assertEquals(actData.size(), expData.size());
@@ -862,7 +862,9 @@ public class IncrementalSnapshotRestoreTest extends
AbstractIncrementalSnapshotT
new VisorTaskArgument<>(
G.allGrids().stream().map(ign ->
ign.cluster().localNode().id()).collect(Collectors.toList()),
arg,
- false));
+ false
+ )
+ ).result();
assertFalse(res.message(), res.cancelled());
assertFalse(res.message(), res.failed());
diff --git
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackAsyncTest.java
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackAsyncTest.java
index 6c68ed4bac8..b6608e84305 100644
---
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackAsyncTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/transactions/TxRollbackAsyncTest.java
@@ -989,7 +989,7 @@ public class TxRollbackAsyncTest extends
GridCommonAbstractTest {
arg.kill(true);
Map<ClusterNode, TxTaskResult> res =
client.compute(client.cluster().forPredicate(F.alwaysTrue())).
- execute(new TxTask(), new
VisorTaskArgument<>(client.cluster().localNode().id(), arg, false));
+ execute(new TxTask(), new
VisorTaskArgument<>(client.cluster().localNode().id(), arg, false)).result();
int expCnt = 0;
diff --git
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
index 1e9b9f8b8c3..3e909de4610 100755
---
a/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/testframework/junits/common/GridCommonAbstractTest.java
@@ -130,6 +130,7 @@ import org.apache.ignite.internal.util.typedef.T3;
import org.apache.ignite.internal.util.typedef.internal.LT;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.internal.visor.VisorTaskArgument;
+import org.apache.ignite.internal.visor.VisorTaskResult;
import org.apache.ignite.lang.IgniteBiInClosure;
import org.apache.ignite.lang.IgniteFuture;
import org.apache.ignite.lang.IgniteInClosure;
@@ -2223,7 +2224,7 @@ public abstract class GridCommonAbstractTest extends
GridAbstractTest {
* @return Conflicts result.
* @throws IgniteException If none caches or node found.
*/
- protected IdleVerifyResultV2 idleVerify(Ignite ig, @Nullable String...
caches) {
+ protected IdleVerifyResultV2 idleVerify(Ignite ig, @Nullable String...
caches) throws Exception {
log.info("Starting idleVerify ...");
IgniteEx ig0 = (IgniteEx)ig;
@@ -2247,10 +2248,10 @@ public abstract class GridCommonAbstractTest extends
GridAbstractTest {
taskArg.caches(cacheNames.toArray(U.EMPTY_STRS));
- return ig.compute().execute(
+ return ((VisorTaskResult<IdleVerifyResultV2>)ig.compute().execute(
IdleVerifyTaskV2.class.getName(),
new VisorTaskArgument<>(node.id(), taskArg, false)
- );
+ )).result();
}
/**
diff --git
a/modules/core/src/test/java/org/apache/ignite/util/GridInternalTaskUnusedWalSegmentsTest.java
b/modules/core/src/test/java/org/apache/ignite/util/GridInternalTaskUnusedWalSegmentsTest.java
index f6d33a47515..fbee2b9dc21 100644
---
a/modules/core/src/test/java/org/apache/ignite/util/GridInternalTaskUnusedWalSegmentsTest.java
+++
b/modules/core/src/test/java/org/apache/ignite/util/GridInternalTaskUnusedWalSegmentsTest.java
@@ -113,7 +113,7 @@ public class GridInternalTaskUnusedWalSegmentsTest extends
GridCommonAbstractTes
WalTaskResult printRes = ig0.compute().execute(WalTask.class,
new VisorTaskArgument<>(ig0.cluster().node().id(),
- new WalPrintCommandArg(), false));
+ new WalPrintCommandArg(), false)).result();
assertEquals("Check that print task finished without exceptions",
printRes.results().size(), 4);
@@ -126,7 +126,7 @@ public class GridInternalTaskUnusedWalSegmentsTest extends
GridCommonAbstractTes
WalTaskResult delRes = ig0.compute().execute(WalTask.class,
new VisorTaskArgument<>(ig0.cluster().node().id(),
- new WalDeleteCommandArg(), false));
+ new WalDeleteCommandArg(), false)).result();
assertEquals("Check that delete task finished with no exceptions",
delRes.results().size(), 4);
diff --git
a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgniteCacheGroupsWithRestartsTest.java
b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgniteCacheGroupsWithRestartsTest.java
index f6715709927..3b22b27d39f 100644
---
a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgniteCacheGroupsWithRestartsTest.java
+++
b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/IgniteCacheGroupsWithRestartsTest.java
@@ -24,7 +24,6 @@ import java.util.List;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.ThreadLocalRandom;
-import java.util.function.BiFunction;
import javax.cache.Cache;
import javax.cache.configuration.Factory;
import javax.cache.integration.CacheLoaderException;
@@ -48,6 +47,7 @@ import
org.apache.ignite.internal.management.cache.CacheFindGarbageCommandArg;
import
org.apache.ignite.internal.management.cache.FindAndDeleteGarbageInPersistenceJobResult;
import
org.apache.ignite.internal.management.cache.FindAndDeleteGarbageInPersistenceTask;
import
org.apache.ignite.internal.management.cache.FindAndDeleteGarbageInPersistenceTaskResult;
+import org.apache.ignite.internal.util.function.ThrowableBiFunction;
import org.apache.ignite.internal.util.typedef.X;
import org.apache.ignite.internal.util.typedef.internal.CU;
import org.apache.ignite.internal.util.typedef.internal.S;
@@ -297,7 +297,7 @@ public class IgniteCacheGroupsWithRestartsTest extends
GridCommonAbstractTest {
* @param doFindAndRemove Do find and remove.
*/
public void testFindAndDeleteGarbage(
- BiFunction<IgniteEx, Boolean,
FindAndDeleteGarbageInPersistenceTaskResult> doFindAndRemove
+ ThrowableBiFunction<IgniteEx, Boolean,
FindAndDeleteGarbageInPersistenceTaskResult, Exception> doFindAndRemove
) throws Exception {
IgniteEx ignite = startGrids(3);
@@ -347,7 +347,7 @@ public class IgniteCacheGroupsWithRestartsTest extends
GridCommonAbstractTest {
private FindAndDeleteGarbageInPersistenceTaskResult executeTask(
IgniteEx ignite,
boolean deleteFoundGarbage
- ) {
+ ) throws Exception {
CacheFindGarbageCommandArg arg0 = new CacheFindGarbageCommandArg();
arg0.groups(new String[] {GROUP});
@@ -355,12 +355,10 @@ public class IgniteCacheGroupsWithRestartsTest extends
GridCommonAbstractTest {
UUID id = ignite.localNode().id();
- VisorTaskArgument arg = new VisorTaskArgument(id, arg0, true);
-
- FindAndDeleteGarbageInPersistenceTaskResult result =
-
ignite.compute().execute(FindAndDeleteGarbageInPersistenceTask.class, arg);
-
- return result;
+ return ignite.compute().execute(
+ FindAndDeleteGarbageInPersistenceTask.class,
+ new VisorTaskArgument<>(id, arg0, true)
+ ).result();
}
/**
diff --git
a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/GridIndexRebuildTest.java
b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/GridIndexRebuildTest.java
index 9ddc91974b1..8ecdbc3f7af 100644
---
a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/GridIndexRebuildTest.java
+++
b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/query/h2/GridIndexRebuildTest.java
@@ -42,7 +42,6 @@ import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.configuration.DataRegionConfiguration;
import org.apache.ignite.configuration.DataStorageConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
-import org.apache.ignite.internal.ComputeTaskInternalFuture;
import org.apache.ignite.internal.IgniteEx;
import
org.apache.ignite.internal.management.cache.CacheValidateIndexesCommandArg;
import org.apache.ignite.internal.management.cache.ValidateIndexesJobResult;
@@ -223,12 +222,10 @@ public class GridIndexRebuildTest extends
GridCommonAbstractTest {
arg.checkCrc(true);
arg.checkSizes(true);
- VisorTaskArgument<CacheValidateIndexesCommandArg> visorTaskArg = new
VisorTaskArgument<>(nodes, arg, true);
-
- ComputeTaskInternalFuture<ValidateIndexesTaskResult> exec =
grid1.context().task().
- execute(new ValidateIndexesTask(), visorTaskArg);
-
- ValidateIndexesTaskResult res = exec.get();
+ ValidateIndexesTaskResult res = grid1.context().task().execute(
+ new ValidateIndexesTask(),
+ new VisorTaskArgument<>(nodes, arg, true)
+ ).get().result();
Map<?, ValidateIndexesJobResult> results = res.results();
@@ -322,12 +319,10 @@ public class GridIndexRebuildTest extends
GridCommonAbstractTest {
arg.checkCrc(true);
arg.checkSizes(true);
- VisorTaskArgument<CacheValidateIndexesCommandArg> visorTaskArg = new
VisorTaskArgument<>(nodes, arg, true);
-
- ComputeTaskInternalFuture<ValidateIndexesTaskResult> exec =
grid1.context().task().
- execute(new ValidateIndexesTask(), visorTaskArg);
-
- ValidateIndexesTaskResult res = exec.get();
+ ValidateIndexesTaskResult res = grid1.context().task().execute(
+ new ValidateIndexesTask(),
+ new VisorTaskArgument<>(nodes, arg, true)
+ ).get().result();
Map<?, ValidateIndexesJobResult> results = res.results();