diff --git a/modules/core/src/main/java/org/apache/ignite/internal/commandline/meta/subcommands/VoidDto.java b/modules/core/src/main/java/org/apache/ignite/internal/commandline/meta/subcommands/VoidDto.java deleted file mode 100644 index abe0b51ff27879..00000000000000 --- a/modules/core/src/main/java/org/apache/ignite/internal/commandline/meta/subcommands/VoidDto.java +++ /dev/null @@ -1,42 +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.commandline.meta.subcommands; - -import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; -import org.apache.ignite.internal.dto.IgniteDataTransferObject; - -/** - * - */ -public class VoidDto extends IgniteDataTransferObject { - /** */ - private static final long serialVersionUID = 0L; - - /** {@inheritDoc} */ - @Override protected void writeExternalData(ObjectOutput out) throws IOException { - // No-op. - } - - /** {@inheritDoc} */ - @Override protected void readExternalData(byte protoVer, ObjectInput in) - throws IOException, ClassNotFoundException { - // No-op. - } -} diff --git a/modules/core/src/main/java/org/apache/ignite/internal/events/ManagementTaskEvent.java b/modules/core/src/main/java/org/apache/ignite/internal/events/ManagementTaskEvent.java new file mode 100644 index 00000000000000..c18f0263b05407 --- /dev/null +++ b/modules/core/src/main/java/org/apache/ignite/internal/events/ManagementTaskEvent.java @@ -0,0 +1,63 @@ +/* + * 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.events; + +import java.util.UUID; +import org.apache.ignite.cluster.ClusterNode; +import org.apache.ignite.events.EventType; +import org.apache.ignite.events.TaskEvent; +import org.apache.ignite.internal.visor.VisorTaskArgument; +import org.apache.ignite.lang.IgniteUuid; +import org.jetbrains.annotations.Nullable; + +/** + * Management task started event. + * + * @see EventType#EVT_MANAGEMENT_TASK_STARTED + */ +public class ManagementTaskEvent extends TaskEvent { + /** */ + private static final long serialVersionUID = 0L; + + /** */ + private final VisorTaskArgument arg; + + /** + * Creates task event with given parameters. + * + * @param node Node. + * @param msg Optional message. + * @param type Event type. + * @param sesId Task session ID. + * @param taskName Task name. + * @param subjId Subject ID. + * @param internal Whether current task belongs to Ignite internal tasks. + * @param taskClsName Name ot the task class. + */ + public ManagementTaskEvent(ClusterNode node, String msg, int type, IgniteUuid sesId, String taskName, + String taskClsName, boolean internal, @Nullable UUID subjId, VisorTaskArgument arg) { + super(node, msg, type, sesId, taskName, taskClsName, internal, subjId); + + this.arg = arg; + } + + /** @return Task argument. */ + public VisorTaskArgument argument() { + return arg; + } +} diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/ClusterChangeTagTask.java b/modules/core/src/main/java/org/apache/ignite/internal/management/ClusterChangeTagTask.java index 9eb20fcc9c743d..86d92f10bdd556 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/ClusterChangeTagTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/ClusterChangeTagTask.java @@ -21,7 +21,6 @@ import org.apache.ignite.IgniteException; import org.apache.ignite.internal.cluster.IgniteClusterEx; import org.apache.ignite.internal.processors.task.GridInternal; -import org.apache.ignite.internal.processors.task.GridVisorManagementTask; import org.apache.ignite.internal.visor.VisorJob; import org.apache.ignite.internal.visor.VisorOneNodeTask; @@ -29,7 +28,6 @@ * */ @GridInternal -@GridVisorManagementTask public class ClusterChangeTagTask extends VisorOneNodeTask { /** */ private static final long serialVersionUID = 0L; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/ShutdownPolicyTask.java b/modules/core/src/main/java/org/apache/ignite/internal/management/ShutdownPolicyTask.java index 27d0046faf1e23..e648389407c97f 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/ShutdownPolicyTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/ShutdownPolicyTask.java @@ -20,7 +20,6 @@ import org.apache.ignite.IgniteException; import org.apache.ignite.IgniteLogger; import org.apache.ignite.internal.processors.task.GridInternal; -import org.apache.ignite.internal.processors.task.GridVisorManagementTask; import org.apache.ignite.internal.visor.VisorJob; import org.apache.ignite.internal.visor.VisorOneNodeTask; import org.apache.ignite.resources.LoggerResource; @@ -29,7 +28,6 @@ * Shutdown policy task. */ @GridInternal -@GridVisorManagementTask public class ShutdownPolicyTask extends VisorOneNodeTask { /** Serial version id. */ private static final long serialVersionUID = 0L; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/SystemViewTask.java b/modules/core/src/main/java/org/apache/ignite/internal/management/SystemViewTask.java index ce20ad3412fdd7..31fae2c69636be 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/SystemViewTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/SystemViewTask.java @@ -28,7 +28,6 @@ import org.apache.ignite.compute.ComputeJobResult; import org.apache.ignite.internal.managers.systemview.GridSystemViewManager; import org.apache.ignite.internal.processors.task.GridInternal; -import org.apache.ignite.internal.processors.task.GridVisorManagementTask; import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.internal.visor.VisorJob; import org.apache.ignite.internal.visor.VisorMultiNodeTask; @@ -46,7 +45,6 @@ /** Reperesents visor task for obtaining system view content. */ @GridInternal -@GridVisorManagementTask public class SystemViewTask extends VisorMultiNodeTask { /** */ private static final long serialVersionUID = 0L; 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 5d751f30db61fe..4fb79b9794d3aa 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 @@ -42,7 +42,6 @@ import org.apache.ignite.Ignite; import org.apache.ignite.IgniteException; import org.apache.ignite.cluster.ClusterNode; -import org.apache.ignite.compute.ComputeTask; import org.apache.ignite.internal.client.GridClient; import org.apache.ignite.internal.client.GridClientCacheMode; import org.apache.ignite.internal.client.GridClientCompute; @@ -54,6 +53,7 @@ import org.apache.ignite.internal.util.typedef.F; 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.lang.IgniteExperimental; import org.apache.ignite.lang.IgniteUuid; @@ -764,7 +764,7 @@ public static A argument( public static R execute( @Nullable GridClient cli, @Nullable Ignite ignite, - Class, R>> taskCls, + Class> taskCls, A arg, Collection nodes ) throws GridClientException { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/api/ComputeCommand.java b/modules/core/src/main/java/org/apache/ignite/internal/management/api/ComputeCommand.java index 26da81496a8c1f..b773bfd3f4b406 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/api/ComputeCommand.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/api/ComputeCommand.java @@ -19,10 +19,9 @@ import java.util.Collection; import java.util.function.Consumer; -import org.apache.ignite.compute.ComputeTask; import org.apache.ignite.internal.client.GridClientNode; import org.apache.ignite.internal.dto.IgniteDataTransferObject; -import org.apache.ignite.internal.visor.VisorTaskArgument; +import org.apache.ignite.internal.visor.VisorMultiNodeTask; import org.jetbrains.annotations.Nullable; /** @@ -30,7 +29,7 @@ */ public interface ComputeCommand extends Command { /** @return Task class. */ - public Class, R>> taskClass(); + public Class> taskClass(); /** * Prints command result to the user. diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineTask.java b/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineTask.java index e18c3e943fb3f0..abfb8142fbef4d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/baseline/BaselineTask.java @@ -30,7 +30,6 @@ import org.apache.ignite.internal.management.baseline.BaselineCommand.BaselineTaskArg; import org.apache.ignite.internal.processors.cluster.baseline.autoadjust.BaselineAutoAdjustStatus; import org.apache.ignite.internal.processors.task.GridInternal; -import org.apache.ignite.internal.processors.task.GridVisorManagementTask; import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.internal.util.typedef.internal.S; import org.apache.ignite.internal.visor.VisorJob; @@ -41,7 +40,6 @@ * Task that will collect information about baseline topology and can change its state. */ @GridInternal -@GridVisorManagementTask public class BaselineTask extends VisorOneNodeTask { /** */ private static final long serialVersionUID = 0L; 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 42bc26a33cdbd7..79e18d9126017c 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 @@ -24,18 +24,17 @@ import org.apache.ignite.IgniteException; import org.apache.ignite.internal.processors.cache.IgniteInternalCache; import org.apache.ignite.internal.processors.task.GridInternal; -import org.apache.ignite.internal.processors.task.GridVisorManagementTask; import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.internal.visor.VisorJob; import org.apache.ignite.internal.visor.VisorOneNodeTask; import org.jetbrains.annotations.Nullable; + import static org.apache.ignite.internal.management.cache.CacheMetricsOperation.ENABLE; /** * Task for a cache metrics command. */ @GridInternal -@GridVisorManagementTask public class CacheMetricsTask extends VisorOneNodeTask { /** Serial version uid. */ private static final long serialVersionUID = 0L; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheScanTask.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheScanTask.java index b419177d46d3d9..646693ed92ea9c 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheScanTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheScanTask.java @@ -30,7 +30,6 @@ import org.apache.ignite.cache.query.ScanQuery; import org.apache.ignite.internal.binary.BinaryObjectEx; import org.apache.ignite.internal.processors.task.GridInternal; -import org.apache.ignite.internal.processors.task.GridVisorManagementTask; import org.apache.ignite.internal.util.IgniteUtils; import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.internal.util.typedef.internal.S; @@ -47,7 +46,6 @@ * Task that scan cache entries. */ @GridInternal -@GridVisorManagementTask public class CacheScanTask extends VisorOneNodeTask { /** */ private static final long serialVersionUID = 0L; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheStopTask.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheStopTask.java index cb7a69739966f0..39f4fd15bcc2d0 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheStopTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheStopTask.java @@ -21,7 +21,6 @@ import java.util.Collection; import java.util.HashSet; import org.apache.ignite.internal.processors.task.GridInternal; -import org.apache.ignite.internal.processors.task.GridVisorManagementTask; import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.internal.util.typedef.internal.S; import org.apache.ignite.internal.visor.VisorJob; @@ -34,7 +33,6 @@ * Task that stop specified caches on specified node. */ @GridInternal -@GridVisorManagementTask public class CacheStopTask extends VisorOneNodeTask { /** */ private static final long serialVersionUID = 0L; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/defragmentation/DefragmentationTask.java b/modules/core/src/main/java/org/apache/ignite/internal/management/defragmentation/DefragmentationTask.java index 92195a09569f97..42a90a5009a4dd 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/defragmentation/DefragmentationTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/defragmentation/DefragmentationTask.java @@ -26,7 +26,6 @@ import org.apache.ignite.internal.management.defragmentation.DefragmentationCommand.DefragmentationStatusCommandArg; import org.apache.ignite.internal.processors.cache.persistence.defragmentation.IgniteDefragmentation; import org.apache.ignite.internal.processors.task.GridInternal; -import org.apache.ignite.internal.processors.task.GridVisorManagementTask; import org.apache.ignite.internal.util.typedef.F; import org.apache.ignite.internal.visor.VisorJob; import org.apache.ignite.internal.visor.VisorMultiNodeTask; @@ -34,7 +33,6 @@ /** */ @GridInternal -@GridVisorManagementTask public class DefragmentationTask extends VisorMultiNodeTask { /** Serial version uid. */ diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/CancelServiceTask.java b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/CancelServiceTask.java index 24a7b95b35b013..2cd4f24717d2b9 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/CancelServiceTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/CancelServiceTask.java @@ -19,7 +19,6 @@ import org.apache.ignite.internal.ServiceMXBeanImpl; import org.apache.ignite.internal.processors.task.GridInternal; -import org.apache.ignite.internal.processors.task.GridVisorManagementTask; import org.apache.ignite.internal.util.typedef.internal.S; import org.apache.ignite.internal.visor.VisorJob; import org.apache.ignite.internal.visor.VisorOneNodeTask; @@ -28,7 +27,6 @@ * Task for cancel services with specified name. */ @GridInternal -@GridVisorManagementTask public class CancelServiceTask extends VisorOneNodeTask { /** */ private static final long serialVersionUID = 0L; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/ClientConnectionDropTask.java b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/ClientConnectionDropTask.java index 7c9a90b06aa0a5..c3bfe8f955b25c 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/ClientConnectionDropTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/ClientConnectionDropTask.java @@ -21,7 +21,6 @@ import org.apache.ignite.IgniteException; import org.apache.ignite.compute.ComputeJobResult; import org.apache.ignite.internal.processors.task.GridInternal; -import org.apache.ignite.internal.processors.task.GridVisorManagementTask; import org.apache.ignite.internal.visor.VisorJob; import org.apache.ignite.internal.visor.VisorMultiNodeTask; import org.apache.ignite.mxbean.ClientProcessorMXBean; @@ -31,7 +30,6 @@ * Task to cancel client connection(s). */ @GridInternal -@GridVisorManagementTask public class ClientConnectionDropTask extends VisorMultiNodeTask { /** */ private static final long serialVersionUID = 0L; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/ComputeCancelSessionTask.java b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/ComputeCancelSessionTask.java index d2c5f1f210c725..2ffc7be8138f0c 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/ComputeCancelSessionTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/ComputeCancelSessionTask.java @@ -21,7 +21,6 @@ import org.apache.ignite.compute.ComputeJobResult; import org.apache.ignite.internal.ComputeMXBeanImpl; import org.apache.ignite.internal.processors.task.GridInternal; -import org.apache.ignite.internal.processors.task.GridVisorManagementTask; import org.apache.ignite.internal.util.typedef.internal.S; import org.apache.ignite.internal.visor.VisorJob; import org.apache.ignite.internal.visor.VisorOneNodeTask; @@ -31,7 +30,6 @@ * Cancels given tasks sessions on all cluster nodes. */ @GridInternal -@GridVisorManagementTask public class ComputeCancelSessionTask extends VisorOneNodeTask { /** */ private static final long serialVersionUID = 0L; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/ContinuousQueryCancelTask.java b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/ContinuousQueryCancelTask.java index ab406e9a19a84a..986fe57484fa78 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/ContinuousQueryCancelTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/ContinuousQueryCancelTask.java @@ -21,7 +21,6 @@ import org.apache.ignite.IgniteLogger; import org.apache.ignite.internal.QueryMXBeanImpl; import org.apache.ignite.internal.processors.task.GridInternal; -import org.apache.ignite.internal.processors.task.GridVisorManagementTask; import org.apache.ignite.internal.visor.VisorJob; import org.apache.ignite.internal.visor.VisorOneNodeTask; import org.jetbrains.annotations.Nullable; @@ -30,7 +29,6 @@ * Task to cancel continuous query. */ @GridInternal -@GridVisorManagementTask public class ContinuousQueryCancelTask extends VisorOneNodeTask { /** */ private static final long serialVersionUID = 0L; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/QueryCancelOnInitiatorTask.java b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/QueryCancelOnInitiatorTask.java index 97a3ce1c44dd9f..76f26d6edc59b6 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/QueryCancelOnInitiatorTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/QueryCancelOnInitiatorTask.java @@ -22,7 +22,6 @@ import org.apache.ignite.compute.ComputeJobResult; import org.apache.ignite.internal.QueryMXBeanImpl; import org.apache.ignite.internal.processors.task.GridInternal; -import org.apache.ignite.internal.processors.task.GridVisorManagementTask; import org.apache.ignite.internal.visor.VisorJob; import org.apache.ignite.internal.visor.VisorOneNodeTask; import org.jetbrains.annotations.Nullable; @@ -31,7 +30,6 @@ * Task to cancel queries on initiator node. */ @GridInternal -@GridVisorManagementTask public class QueryCancelOnInitiatorTask extends VisorOneNodeTask { /** */ private static final long serialVersionUID = 0L; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/ScanQueryCancelTask.java b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/ScanQueryCancelTask.java index cc0c8a59894226..8b9946f2ee0c88 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/kill/ScanQueryCancelTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/kill/ScanQueryCancelTask.java @@ -20,7 +20,6 @@ import org.apache.ignite.IgniteException; import org.apache.ignite.internal.QueryMXBeanImpl; import org.apache.ignite.internal.processors.task.GridInternal; -import org.apache.ignite.internal.processors.task.GridVisorManagementTask; import org.apache.ignite.internal.visor.VisorJob; import org.apache.ignite.internal.visor.VisorOneNodeTask; @@ -28,7 +27,6 @@ * Task to cancel scan queries. */ @GridInternal -@GridVisorManagementTask public class ScanQueryCancelTask extends VisorOneNodeTask { /** */ private static final long serialVersionUID = 0L; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricTask.java b/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricTask.java index c06b0f557090b6..cd3e66b5c8c293 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/metric/MetricTask.java @@ -24,7 +24,6 @@ import org.apache.ignite.IgniteException; import org.apache.ignite.internal.processors.metric.GridMetricManager; import org.apache.ignite.internal.processors.task.GridInternal; -import org.apache.ignite.internal.processors.task.GridVisorManagementTask; import org.apache.ignite.internal.visor.VisorJob; import org.apache.ignite.internal.visor.VisorOneNodeTask; import org.apache.ignite.spi.metric.BooleanMetric; @@ -43,7 +42,6 @@ /** Reperesents visor task for obtaining metric values. */ @GridInternal -@GridVisorManagementTask public class MetricTask extends VisorOneNodeTask> { /** */ private static final long serialVersionUID = 0L; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/performancestatistics/PerformanceStatisticsTask.java b/modules/core/src/main/java/org/apache/ignite/internal/management/performancestatistics/PerformanceStatisticsTask.java index b13455d44b2384..2cbe5dd2ec69a3 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/performancestatistics/PerformanceStatisticsTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/performancestatistics/PerformanceStatisticsTask.java @@ -25,14 +25,12 @@ import org.apache.ignite.internal.management.performancestatistics.PerformanceStatisticsCommand.PerformanceStatisticsStatusCommandArg; import org.apache.ignite.internal.management.performancestatistics.PerformanceStatisticsCommand.PerformanceStatisticsStopCommandArg; import org.apache.ignite.internal.processors.task.GridInternal; -import org.apache.ignite.internal.processors.task.GridVisorManagementTask; import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.internal.visor.VisorJob; import org.apache.ignite.internal.visor.VisorOneNodeTask; /** Represents visor task to manage performance statistics. */ @GridInternal -@GridVisorManagementTask public class PerformanceStatisticsTask extends VisorOneNodeTask { /** Performance statistics enabled status. */ public static final String STATUS_ENABLED = "Enabled."; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceTask.java b/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceTask.java index 39adab4a45da1d..4394e4c0af31e6 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/persistence/PersistenceTask.java @@ -46,7 +46,6 @@ import org.apache.ignite.internal.processors.cache.persistence.CleanCacheStoresMaintenanceAction; import org.apache.ignite.internal.processors.cache.persistence.file.FilePageStoreManager; import org.apache.ignite.internal.processors.task.GridInternal; -import org.apache.ignite.internal.processors.task.GridVisorManagementTask; import org.apache.ignite.internal.util.typedef.internal.CU; import org.apache.ignite.internal.util.typedef.internal.U; import org.apache.ignite.internal.visor.VisorJob; @@ -56,12 +55,12 @@ import org.apache.ignite.maintenance.MaintenanceRegistry; import org.apache.ignite.maintenance.MaintenanceTask; import org.jetbrains.annotations.Nullable; + import static org.apache.ignite.internal.processors.cache.persistence.file.FilePageStoreManager.CORRUPTED_DATA_FILES_MNTC_TASK_NAME; import static org.apache.ignite.internal.processors.cache.persistence.file.FilePageStoreManager.cacheDirName; /** */ @GridInternal -@GridVisorManagementTask public class PersistenceTask extends VisorOneNodeTask { /** */ private static final long serialVersionUID = 0L; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationTask.java b/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationTask.java index 0e7d2ac2ccb9f9..68039b1e9682c7 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/management/tracing/TracingConfigurationTask.java @@ -26,7 +26,6 @@ import org.apache.ignite.internal.management.tracing.TracingConfigurationCommand.TracingConfigurationResetAllCommandArg; import org.apache.ignite.internal.management.tracing.TracingConfigurationCommand.TracingConfigurationResetCommandArg; import org.apache.ignite.internal.processors.task.GridInternal; -import org.apache.ignite.internal.processors.task.GridVisorManagementTask; import org.apache.ignite.internal.util.typedef.internal.S; import org.apache.ignite.internal.visor.VisorJob; import org.apache.ignite.internal.visor.VisorOneNodeTask; @@ -40,7 +39,6 @@ * Task that will collect and update tracing configuration. */ @GridInternal -@GridVisorManagementTask public class TracingConfigurationTask extends VisorOneNodeTask { /** */ diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeployment.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeployment.java index a961c492d9f403..e99b8a27bb70c0 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeployment.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/deployment/GridDeployment.java @@ -38,7 +38,6 @@ import org.apache.ignite.compute.ComputeTask; import org.apache.ignite.configuration.DeploymentMode; import org.apache.ignite.internal.processors.task.GridInternal; -import org.apache.ignite.internal.processors.task.GridVisorManagementTask; import org.apache.ignite.internal.util.GridLeanSet; import org.apache.ignite.internal.util.lang.GridMetadataAwareAdapter; import org.apache.ignite.internal.util.lang.GridPeerDeployAware; @@ -48,6 +47,7 @@ import org.apache.ignite.internal.util.typedef.X; import org.apache.ignite.internal.util.typedef.internal.S; import org.apache.ignite.internal.util.typedef.internal.U; +import org.apache.ignite.internal.visor.VisorMultiNodeTask; import org.apache.ignite.lang.IgniteBiTuple; import org.apache.ignite.lang.IgniteUuid; import org.jetbrains.annotations.NotNull; @@ -387,16 +387,15 @@ public boolean internalTask(@Nullable ComputeTask task, Class taskCls) { } /** - * Checks whether task class is annotated with {@link GridVisorManagementTask}. + * Checks whether task class is a management task. * * @param task Task. * @param taskCls Task class. * @return {@code True} if task is internal. */ - public boolean visorManagementTask(@Nullable ComputeTask task, @NotNull Class taskCls) { - return annotation(task instanceof GridPeerDeployAware ? - ((GridPeerDeployAware)task).deployClass() : taskCls, - GridVisorManagementTask.class) != null; + public boolean visorManagementTask(@Nullable ComputeTask task, @NotNull Class taskCls) { + return VisorMultiNodeTask.class.isAssignableFrom(task instanceof GridPeerDeployAware ? + ((GridPeerDeployAware)task).deployClass() : taskCls); } /** diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskProcessor.java index 8764d9e3eb821e..977263c1afcb65 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskProcessor.java @@ -59,6 +59,7 @@ import org.apache.ignite.internal.NodeStoppingException; import org.apache.ignite.internal.cluster.ClusterTopologyCheckedException; import org.apache.ignite.internal.compute.ComputeTaskCancelledCheckedException; +import org.apache.ignite.internal.events.ManagementTaskEvent; import org.apache.ignite.internal.managers.communication.GridIoManager; import org.apache.ignite.internal.managers.communication.GridMessageListener; import org.apache.ignite.internal.managers.deployment.GridDeployment; @@ -716,16 +717,17 @@ else if (task != null) { if (ctx.event().isRecordable(EVT_MANAGEMENT_TASK_STARTED) && dep.visorManagementTask(task, taskCls)) { VisorTaskArgument visorTaskArg = (VisorTaskArgument)arg; - Event evt = new TaskEvent( + Event evt = new ManagementTaskEvent( ctx.discovery().localNode(), visorTaskArg != null && visorTaskArg.getArgument() != null ? visorTaskArg.getArgument().toString() : "[]", EVT_MANAGEMENT_TASK_STARTED, ses.getId(), - taskCls == null ? null : taskCls.getSimpleName(), - "VisorManagementTask", + taskName, + taskCls == null ? null : taskCls.getName(), false, - securitySubjectId(ctx) + securitySubjectId(ctx), + visorTaskArg ); ctx.event().record(evt); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridVisorManagementTask.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridVisorManagementTask.java deleted file mode 100644 index 09c87bf0179644..00000000000000 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridVisorManagementTask.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.processors.task; - -import java.lang.annotation.Documented; -import java.lang.annotation.ElementType; -import java.lang.annotation.Inherited; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * Indicates that annotated task is a visor task that was invoked by user. They can be handled by event listeners. - * - * This annotation intended for internal use only. - */ -@Documented -@Inherited -@Retention(RetentionPolicy.RUNTIME) -@Target({ElementType.TYPE}) -public @interface GridVisorManagementTask { - // No-op. -} diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorComputeCancelSessionsTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorComputeCancelSessionsTask.java index 71aab6f3d1cdaf..88fdb4faea3507 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorComputeCancelSessionsTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorComputeCancelSessionsTask.java @@ -24,7 +24,6 @@ import org.apache.ignite.compute.ComputeJobResult; import org.apache.ignite.compute.ComputeTaskFuture; import org.apache.ignite.internal.processors.task.GridInternal; -import org.apache.ignite.internal.processors.task.GridVisorManagementTask; import org.apache.ignite.internal.util.typedef.internal.S; import org.apache.ignite.internal.visor.VisorJob; import org.apache.ignite.internal.visor.VisorOneNodeTask; @@ -35,7 +34,6 @@ * Cancels given task session. */ @GridInternal -@GridVisorManagementTask public class VisorComputeCancelSessionsTask extends VisorOneNodeTask { /** */ private static final long serialVersionUID = 0L; diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorIdAndTagViewTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorIdAndTagViewTask.java index 7b6cf3152f95b4..0fdcc95836f489 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorIdAndTagViewTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorIdAndTagViewTask.java @@ -20,7 +20,6 @@ import org.apache.ignite.IgniteException; import org.apache.ignite.internal.cluster.IgniteClusterEx; import org.apache.ignite.internal.processors.task.GridInternal; -import org.apache.ignite.internal.processors.task.GridVisorManagementTask; import org.apache.ignite.internal.visor.VisorJob; import org.apache.ignite.internal.visor.VisorOneNodeTask; import org.jetbrains.annotations.Nullable; @@ -29,7 +28,6 @@ * */ @GridInternal -@GridVisorManagementTask public class VisorIdAndTagViewTask extends VisorOneNodeTask { /** */ private static final long serialVersionUID = 0L; diff --git a/modules/core/src/main/resources/META-INF/classnames.properties b/modules/core/src/main/resources/META-INF/classnames.properties index 8ce87810e0416c..98f58f676b266b 100644 --- a/modules/core/src/main/resources/META-INF/classnames.properties +++ b/modules/core/src/main/resources/META-INF/classnames.properties @@ -367,7 +367,6 @@ org.apache.ignite.internal.commandline.cache.distribution.CacheDistributionTaskR org.apache.ignite.internal.commandline.cache.reset_lost_partitions.CacheResetLostPartitionsTask org.apache.ignite.internal.commandline.cache.reset_lost_partitions.CacheResetLostPartitionsTask$CacheResetLostPartitionsJob org.apache.ignite.internal.commandline.cache.reset_lost_partitions.CacheResetLostPartitionsTaskResult -org.apache.ignite.internal.commandline.meta.subcommands.VoidDto org.apache.ignite.internal.management.meta.MetadataInfoTask org.apache.ignite.internal.management.meta.MetadataInfoTask$MetadataListJob org.apache.ignite.internal.management.meta.MetadataListResult diff --git a/modules/core/src/test/java/org/apache/ignite/internal/TestManagementVisorMultiNodeTask.java b/modules/core/src/test/java/org/apache/ignite/internal/TestManagementVisorMultiNodeTask.java deleted file mode 100644 index beccd799043ddc..00000000000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/TestManagementVisorMultiNodeTask.java +++ /dev/null @@ -1,66 +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; - -import java.util.List; -import org.apache.ignite.compute.ComputeJobResult; -import org.apache.ignite.internal.processors.task.GridVisorManagementTask; -import org.apache.ignite.internal.visor.VisorJob; -import org.apache.ignite.internal.visor.VisorMultiNodeTask; -import org.apache.ignite.internal.visor.VisorTaskArgument; -import org.jetbrains.annotations.Nullable; - -/** - * - */ -@GridVisorManagementTask -public class TestManagementVisorMultiNodeTask extends VisorMultiNodeTask { - /** */ - private static final long serialVersionUID = 0L; - - /** {@inheritDoc} */ - @Override protected VisorValidMultiNodeJob job(VisorTaskArgument arg) { - return new VisorValidMultiNodeJob(arg, debug); - } - - /** {@inheritDoc} */ - @Nullable @Override protected Object reduce0(List results) { - return null; - } - - /** - * Valid Management multi node visor job. - */ - private static class VisorValidMultiNodeJob extends VisorJob { - /** */ - private static final long serialVersionUID = 0L; - - /** - * @param arg Argument. - * @param debug Debug flag. - */ - protected VisorValidMultiNodeJob(VisorTaskArgument arg, boolean debug) { - super(arg, debug); - } - - /** {@inheritDoc} */ - @Override protected Object run(VisorTaskArgument arg) { - return null; - } - } -} diff --git a/modules/core/src/test/java/org/apache/ignite/internal/TestManagementVisorOneNodeTask.java b/modules/core/src/test/java/org/apache/ignite/internal/TestManagementVisorOneNodeTask.java index f7479af08b19bb..1af21e3ecb2e89 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/TestManagementVisorOneNodeTask.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/TestManagementVisorOneNodeTask.java @@ -19,22 +19,19 @@ import java.util.List; import org.apache.ignite.compute.ComputeJobResult; -import org.apache.ignite.internal.processors.task.GridVisorManagementTask; import org.apache.ignite.internal.visor.VisorJob; import org.apache.ignite.internal.visor.VisorOneNodeTask; -import org.apache.ignite.internal.visor.VisorTaskArgument; import org.jetbrains.annotations.Nullable; /** * */ -@GridVisorManagementTask -public class TestManagementVisorOneNodeTask extends VisorOneNodeTask { +public class TestManagementVisorOneNodeTask extends VisorOneNodeTask { /** */ private static final long serialVersionUID = 0L; /** {@inheritDoc} */ - @Override protected VisorValidOneNodeJob job(VisorTaskArgument arg) { + @Override protected VisorValidOneNodeJob job(String arg) { return new VisorValidOneNodeJob(arg, debug); } @@ -46,7 +43,7 @@ public class TestManagementVisorOneNodeTask extends VisorOneNodeTask { + private static class VisorValidOneNodeJob extends VisorJob { /** */ private static final long serialVersionUID = 0L; @@ -54,12 +51,12 @@ private static class VisorValidOneNodeJob extends VisorJob { - /** */ - private static final long serialVersionUID = 0L; - - /** {@inheritDoc} */ - @Override protected VisorNotManagementMultiNodeJob job(VisorTaskArgument arg) { - return new VisorNotManagementMultiNodeJob(arg, debug); - } - - /** {@inheritDoc} */ - @Nullable @Override protected Object reduce0(List results) { - return null; - } - - /** - * Not management multi node visor job. - */ - private static class VisorNotManagementMultiNodeJob extends VisorJob { - /** */ - private static final long serialVersionUID = 0L; - - /** - * @param arg Argument. - * @param debug Debug flag. - */ - protected VisorNotManagementMultiNodeJob(VisorTaskArgument arg, boolean debug) { - super(arg, debug); - } - - /** {@inheritDoc} */ - @Override protected Object run(VisorTaskArgument arg) { - return null; - } - } -} diff --git a/modules/core/src/test/java/org/apache/ignite/internal/TestNotManagementVisorOneNodeTask.java b/modules/core/src/test/java/org/apache/ignite/internal/TestNotManagementVisorOneNodeTask.java deleted file mode 100644 index 1106f94ec6f253..00000000000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/TestNotManagementVisorOneNodeTask.java +++ /dev/null @@ -1,64 +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; - -import java.util.List; -import org.apache.ignite.compute.ComputeJobResult; -import org.apache.ignite.internal.visor.VisorJob; -import org.apache.ignite.internal.visor.VisorOneNodeTask; -import org.apache.ignite.internal.visor.VisorTaskArgument; -import org.jetbrains.annotations.Nullable; - -/** - * - */ -public class TestNotManagementVisorOneNodeTask extends VisorOneNodeTask { - /** */ - private static final long serialVersionUID = 0L; - - /** {@inheritDoc} */ - @Override protected VisorNotManagementOneNodeJob job(VisorTaskArgument arg) { - return new VisorNotManagementOneNodeJob(arg, debug); - } - - /** {@inheritDoc} */ - @Nullable @Override protected Object reduce0(List results) { - return null; - } - - /** - * Not management one node visor job. - */ - private static class VisorNotManagementOneNodeJob extends VisorJob { - /** */ - private static final long serialVersionUID = 0L; - - /** - * @param arg Argument. - * @param debug Debug flag. - */ - protected VisorNotManagementOneNodeJob(VisorTaskArgument arg, boolean debug) { - super(arg, debug); - } - - /** {@inheritDoc} */ - @Override protected Object run(VisorTaskArgument arg) { - return null; - } - } -} diff --git a/modules/core/src/test/java/org/apache/ignite/internal/VisorManagementEventSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/VisorManagementEventSelfTest.java index 673057ff2c1897..a16e1e511130c4 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/VisorManagementEventSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/VisorManagementEventSelfTest.java @@ -17,22 +17,25 @@ package org.apache.ignite.internal; -import java.util.Arrays; import java.util.List; +import java.util.Map; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicReference; +import java.util.stream.Collectors; import org.apache.ignite.cluster.ClusterNode; +import org.apache.ignite.compute.ComputeJob; +import org.apache.ignite.compute.ComputeJobResult; import org.apache.ignite.compute.ComputeTask; -import org.apache.ignite.configuration.CacheConfiguration; +import org.apache.ignite.compute.ComputeTaskAdapter; import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.events.EventType; import org.apache.ignite.events.TaskEvent; +import org.apache.ignite.internal.events.ManagementTaskEvent; import org.apache.ignite.internal.visor.VisorTaskArgument; import org.apache.ignite.lang.IgnitePredicate; -import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi; -import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; +import org.jetbrains.annotations.Nullable; import org.junit.Test; import static org.apache.ignite.events.EventType.EVT_MANAGEMENT_TASK_STARTED; @@ -43,106 +46,45 @@ public class VisorManagementEventSelfTest extends GridCommonAbstractTest { /** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception { - IgniteConfiguration cfg = new IgniteConfiguration(); + IgniteConfiguration cfg = super.getConfiguration(gridName); // Enable visor management events. cfg.setIncludeEventTypes( EVT_MANAGEMENT_TASK_STARTED ); - cfg.setCacheConfiguration( - new CacheConfiguration() - .setName("TEST") - .setIndexedTypes(Integer.class, Integer.class) - .setStatisticsEnabled(true) - ); - - TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder(); - - List addrs = Arrays.asList("127.0.0.1:47500..47502"); - - ipFinder.setAddresses(addrs); - - TcpDiscoverySpi discoSpi = new TcpDiscoverySpi(); - - discoSpi.setIpFinder(ipFinder); - - cfg.setDiscoverySpi(discoSpi); - return cfg; } /** {@inheritDoc} */ @Override protected void afterTest() throws Exception { - stopAllGrids(); - - cleanPersistenceDir(); - super.afterTest(); - } - /** - * Current test case start valid one node visor task that has GridVisorManagementTask annotation. - * No exceptions are expected. - * - * @throws Exception If failed. - */ - @Test - public void testManagementOneNodeVisorTask() throws Exception { - IgniteEx ignite = startGrid(0); - - doTestVisorTask(TestManagementVisorOneNodeTask.class, new VisorTaskArgument(), ignite); + stopAllGrids(); } - /** - * Current test case start valid multi node visor task that has GridVisorManagementTask annotation. - * No exceptions are expected. - * - * @throws Exception If failed. - */ + /** @throws Exception If failed. */ @Test - public void testManagementMultiNodeVisorTask() throws Exception { - IgniteEx ignite = startGrid(0); - - doTestVisorTask(TestManagementVisorMultiNodeTask.class, new VisorTaskArgument(), ignite); + public void testManagementTask() throws Exception { + doTestTask(TestManagementVisorOneNodeTask.class, true); } - /** - * Current test case start one node visor task that has not GridVisorManagementTask annotation. - * No exceptions are expected. - * - * @throws Exception If failed. - */ + /** @throws Exception If failed. */ @Test - public void testNotManagementOneNodeVisorTask() throws Exception { - IgniteEx ignite = startGrid(0); - - doTestNotManagementVisorTask(TestNotManagementVisorOneNodeTask.class, new VisorTaskArgument(), ignite); + public void testNotManagementTask() throws Exception { + doTestTask(NotManagementTask.class, false); } /** - * Current test case start multi node visor task that has not GridVisorManagementTask annotation. - * No exceptions are expected. + * @param cls class of the task. * * @throws Exception If failed. */ - @Test - public void testNotManagementMultiNodeVisorTask() throws Exception { + private void doTestTask(Class> cls, boolean expEvt) throws Exception { IgniteEx ignite = startGrid(0); - doTestNotManagementVisorTask(TestNotManagementVisorMultiNodeTask.class, new VisorTaskArgument(), ignite); - } + String arg = "test-arg"; - /** - * @param cls class of the task. - * @param arg argument. - * @param ignite instance of Ignite. - * - * @throws Exception If failed. - */ - private void doTestVisorTask( - Class, R>> cls, T arg, IgniteEx ignite - ) throws Exception { final AtomicReference evt = new AtomicReference<>(); final CountDownLatch evtLatch = new CountDownLatch(1); @@ -158,40 +100,41 @@ private void doTestVisorTask( }, EventType.EVT_MANAGEMENT_TASK_STARTED); for (ClusterNode node : ignite.cluster().forServers().nodes()) - ignite.compute().executeAsync(cls, new VisorTaskArgument<>(node.id(), arg, true)); - - assertTrue(evtLatch.await(10000, TimeUnit.MILLISECONDS)); - - assertNotNull(evt.get()); + ignite.compute().execute(cls.getName(), new VisorTaskArgument<>(node.id(), arg, true)); + + if (expEvt) { + assertTrue(evtLatch.await(10000, TimeUnit.MILLISECONDS)); + assertTrue(evt.get() instanceof ManagementTaskEvent); + assertEquals(arg, ((ManagementTaskEvent)evt.get()).argument().getArgument()); + } + else + assertFalse(evtLatch.await(1000, TimeUnit.MILLISECONDS)); } - /** - * @param cls class of the task. - * @param arg argument. - * @param ignite instance of Ignite. - * - * @throws Exception If failed. - */ - private void doTestNotManagementVisorTask( - Class, R>> cls, T arg, IgniteEx ignite - ) throws Exception { - final AtomicReference evt = new AtomicReference<>(); - - final CountDownLatch evtLatch = new CountDownLatch(1); - - ignite.events().localListen(new IgnitePredicate() { - @Override public boolean apply(TaskEvent e) { - evt.set(e); - - evtLatch.countDown(); - - return false; + /** */ + private static class NotManagementTask extends ComputeTaskAdapter, Void> { + /** {@inheritDoc} */ + @Override public Map map(List subgrid, + @Nullable VisorTaskArgument arg) { + return subgrid.stream().collect(Collectors.toMap(node -> new TestJob(), node -> node)); + } + + /** {@inheritDoc} */ + @Override public @Nullable Void reduce(List results) { + return null; + } + + /** */ + public static class TestJob implements ComputeJob { + /** {@inheritDoc} */ + @Override public void cancel() { + // No-op. } - }, EventType.EVT_MANAGEMENT_TASK_STARTED); - for (ClusterNode node : ignite.cluster().forServers().nodes()) - ignite.compute().executeAsync(cls, new VisorTaskArgument<>(node.id(), arg, true)); - - assertFalse(evtLatch.await(10000, TimeUnit.MILLISECONDS)); + /** {@inheritDoc} */ + @Override public Object execute() { + return null; + } + } } }