You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ak...@apache.org on 2017/04/27 04:01:42 UTC
[1/4] ignite git commit: IGNITE-4988 Rework Visor task arguments.
Code cleanup for ignite-2.0.
Repository: ignite
Updated Branches:
refs/heads/ignite-2.0 f4d233ced -> 6a435b17e
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCleanupTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCleanupTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCleanupTaskArg.java
new file mode 100644
index 0000000..878a612
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCleanupTaskArg.java
@@ -0,0 +1,75 @@
+/*
+ * 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.visor.query;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.util.Collection;
+import java.util.Map;
+import java.util.UUID;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+
+/**
+ * Arguments for task {@link VisorQueryCleanupTask}
+ */
+public class VisorQueryCleanupTaskArg extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Query IDs to cancel. */
+ private Map<UUID, Collection<String>> qryIds;
+
+ /**
+ * Default constructor.
+ */
+ public VisorQueryCleanupTaskArg() {
+ // No-op.
+ }
+
+ /**
+ * @param qryIds Query IDs to cancel.
+ */
+ public VisorQueryCleanupTaskArg(Map<UUID, Collection<String>> qryIds) {
+ this.qryIds = qryIds;
+ }
+
+ /**
+ * @return Query IDs to cancel.
+ */
+ public Map<UUID, Collection<String>> getQueryIds() {
+ return qryIds;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeMap(out, qryIds);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ qryIds = U.readMap(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorQueryCleanupTaskArg.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryDetailMetricsCollectorTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryDetailMetricsCollectorTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryDetailMetricsCollectorTask.java
index 7c1379f..8cef43f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryDetailMetricsCollectorTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryDetailMetricsCollectorTask.java
@@ -43,13 +43,13 @@ import static org.apache.ignite.internal.processors.cache.GridCacheUtils.isSyste
* Task to collect cache query metrics.
*/
@GridInternal
-public class VisorQueryDetailMetricsCollectorTask extends VisorMultiNodeTask<Long, Collection<VisorQueryDetailMetrics>,
- Collection<? extends QueryDetailMetrics>> {
+public class VisorQueryDetailMetricsCollectorTask extends VisorMultiNodeTask<VisorQueryDetailMetricsCollectorTaskArg,
+ Collection<VisorQueryDetailMetrics>, Collection<? extends QueryDetailMetrics>> {
/** */
private static final long serialVersionUID = 0L;
/** {@inheritDoc} */
- @Override protected VisorCacheQueryDetailMetricsCollectorJob job(Long arg) {
+ @Override protected VisorCacheQueryDetailMetricsCollectorJob job(VisorQueryDetailMetricsCollectorTaskArg arg) {
return new VisorCacheQueryDetailMetricsCollectorJob(arg, debug);
}
@@ -80,7 +80,8 @@ public class VisorQueryDetailMetricsCollectorTask extends VisorMultiNodeTask<Lon
/**
* Job that will actually collect query metrics.
*/
- private static class VisorCacheQueryDetailMetricsCollectorJob extends VisorJob<Long, Collection<? extends QueryDetailMetrics>> {
+ private static class VisorCacheQueryDetailMetricsCollectorJob
+ extends VisorJob<VisorQueryDetailMetricsCollectorTaskArg, Collection<? extends QueryDetailMetrics>> {
/** */
private static final long serialVersionUID = 0L;
@@ -90,7 +91,7 @@ public class VisorQueryDetailMetricsCollectorTask extends VisorMultiNodeTask<Lon
* @param arg Last time when metrics were collected.
* @param debug Debug flag.
*/
- protected VisorCacheQueryDetailMetricsCollectorJob(@Nullable Long arg, boolean debug) {
+ protected VisorCacheQueryDetailMetricsCollectorJob(@Nullable VisorQueryDetailMetricsCollectorTaskArg arg, boolean debug) {
super(arg, debug);
}
@@ -113,7 +114,9 @@ public class VisorQueryDetailMetricsCollectorTask extends VisorMultiNodeTask<Lon
}
/** {@inheritDoc} */
- @Override protected Collection<? extends QueryDetailMetrics> run(@Nullable Long arg) throws IgniteException {
+ @Override protected Collection<? extends QueryDetailMetrics> run(
+ @Nullable VisorQueryDetailMetricsCollectorTaskArg arg
+ ) throws IgniteException {
assert arg != null;
IgniteConfiguration cfg = ignite.configuration();
@@ -131,7 +134,7 @@ public class VisorQueryDetailMetricsCollectorTask extends VisorMultiNodeTask<Lon
if (cache == null || !cache.context().started())
continue;
- aggregateMetrics(arg, aggMetrics, cache.context().queries().detailMetrics());
+ aggregateMetrics(arg.getSince(), aggMetrics, cache.context().queries().detailMetrics());
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryDetailMetricsCollectorTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryDetailMetricsCollectorTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryDetailMetricsCollectorTaskArg.java
new file mode 100644
index 0000000..5c76951
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryDetailMetricsCollectorTaskArg.java
@@ -0,0 +1,71 @@
+/*
+ * 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.visor.query;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+
+/**
+ * Arguments for task {@link VisorQueryDetailMetricsCollectorTask}
+ */
+public class VisorQueryDetailMetricsCollectorTaskArg extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Time when metrics were collected last time. */
+ private long since;
+
+ /**
+ * Default constructor.
+ */
+ public VisorQueryDetailMetricsCollectorTaskArg() {
+ // No-op.
+ }
+
+ /**
+ * @param since Time when metrics were collected last time.
+ */
+ public VisorQueryDetailMetricsCollectorTaskArg(long since) {
+ this.since = since;
+ }
+
+ /**
+ * @return Time when metrics were collected last time.
+ */
+ public long getSince() {
+ return since;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ out.writeLong(since);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ since = in.readLong();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorQueryDetailMetricsCollectorTaskArg.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryResetDetailMetricsTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryResetDetailMetricsTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryResetDetailMetricsTask.java
index 6d35e32..a0da797 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryResetDetailMetricsTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryResetDetailMetricsTask.java
@@ -56,8 +56,10 @@ public class VisorQueryResetDetailMetricsTask extends VisorOneNodeTask<Void, Voi
for (String cacheName : ignite.cacheNames()) {
IgniteCache cache = ignite.cache(cacheName);
- if (cache != null)
- cache.resetQueryDetailMetrics();
+ if (cache == null)
+ throw new IllegalStateException("Failed to find cache for name: " + cacheName);
+
+ cache.resetQueryDetailMetrics();
}
return null;
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryResetMetricsTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryResetMetricsTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryResetMetricsTask.java
index 3c5c668..1d807f1 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryResetMetricsTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryResetMetricsTask.java
@@ -27,19 +27,19 @@ import org.apache.ignite.internal.visor.VisorOneNodeTask;
* Reset compute grid query metrics.
*/
@GridInternal
-public class VisorQueryResetMetricsTask extends VisorOneNodeTask<String, Void> {
+public class VisorQueryResetMetricsTask extends VisorOneNodeTask<VisorQueryResetMetricsTaskArg, Void> {
/** */
private static final long serialVersionUID = 0L;
/** {@inheritDoc} */
- @Override protected VisorQueryResetMetricsJob job(String arg) {
+ @Override protected VisorQueryResetMetricsJob job(VisorQueryResetMetricsTaskArg arg) {
return new VisorQueryResetMetricsJob(arg, debug);
}
/**
* Job that reset cache query metrics.
*/
- private static class VisorQueryResetMetricsJob extends VisorJob<String, Void> {
+ private static class VisorQueryResetMetricsJob extends VisorJob<VisorQueryResetMetricsTaskArg, Void> {
/** */
private static final long serialVersionUID = 0L;
@@ -47,16 +47,20 @@ public class VisorQueryResetMetricsTask extends VisorOneNodeTask<String, Void> {
* @param arg Cache name to reset query metrics for.
* @param debug Debug flag.
*/
- private VisorQueryResetMetricsJob(String arg, boolean debug) {
+ private VisorQueryResetMetricsJob(VisorQueryResetMetricsTaskArg arg, boolean debug) {
super(arg, debug);
}
/** {@inheritDoc} */
- @Override protected Void run(String cacheName) {
+ @Override protected Void run(VisorQueryResetMetricsTaskArg arg) {
+ String cacheName = arg.getCacheName();
+
IgniteCache cache = ignite.cache(cacheName);
- if (cache != null)
- cache.resetQueryMetrics();
+ if (cache == null)
+ throw new IllegalStateException("Failed to find cache for name: " + cacheName);
+
+ cache.resetQueryMetrics();
return null;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryResetMetricsTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryResetMetricsTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryResetMetricsTaskArg.java
new file mode 100644
index 0000000..8faa43b
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryResetMetricsTaskArg.java
@@ -0,0 +1,72 @@
+/*
+ * 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.visor.query;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+
+/**
+ * Argument for {@link VisorQueryResetMetricsTask}.
+ */
+public class VisorQueryResetMetricsTaskArg extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Cache name. */
+ private String cacheName;
+
+ /**
+ * Default constructor.
+ */
+ public VisorQueryResetMetricsTaskArg() {
+ // No-op.
+ }
+
+ /**
+ * @param cacheName Cache name.
+ */
+ public VisorQueryResetMetricsTaskArg(String cacheName) {
+ this.cacheName = cacheName;
+ }
+
+ /**
+ * @return Cache name.
+ */
+ public String getCacheName() {
+ return cacheName;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeString(out, cacheName);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ cacheName = U.readString(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorQueryResetMetricsTaskArg.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorRunningQueriesCollectorTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorRunningQueriesCollectorTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorRunningQueriesCollectorTask.java
index a267f06..f6bbf7c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorRunningQueriesCollectorTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorRunningQueriesCollectorTask.java
@@ -36,12 +36,12 @@ import org.jetbrains.annotations.Nullable;
* Task to collect currently running queries.
*/
@GridInternal
-public class VisorRunningQueriesCollectorTask extends VisorMultiNodeTask<Long, Map<UUID, Collection<VisorRunningQuery>>, Collection<VisorRunningQuery>> {
+public class VisorRunningQueriesCollectorTask extends VisorMultiNodeTask<VisorRunningQueriesCollectorTaskArg, Map<UUID, Collection<VisorRunningQuery>>, Collection<VisorRunningQuery>> {
/** */
private static final long serialVersionUID = 0L;
/** {@inheritDoc} */
- @Override protected VisorCollectRunningQueriesJob job(Long arg) {
+ @Override protected VisorCollectRunningQueriesJob job(VisorRunningQueriesCollectorTaskArg arg) {
return new VisorCollectRunningQueriesJob(arg, debug);
}
@@ -62,7 +62,8 @@ public class VisorRunningQueriesCollectorTask extends VisorMultiNodeTask<Long, M
/**
* Job to collect currently running queries from node.
*/
- private static class VisorCollectRunningQueriesJob extends VisorJob<Long, Collection<VisorRunningQuery>> {
+ private static class VisorCollectRunningQueriesJob
+ extends VisorJob<VisorRunningQueriesCollectorTaskArg, Collection<VisorRunningQuery>> {
/** */
private static final long serialVersionUID = 0L;
@@ -72,14 +73,17 @@ public class VisorRunningQueriesCollectorTask extends VisorMultiNodeTask<Long, M
* @param arg Job argument.
* @param debug Flag indicating whether debug information should be printed into node log.
*/
- protected VisorCollectRunningQueriesJob(@Nullable Long arg, boolean debug) {
+ protected VisorCollectRunningQueriesJob(@Nullable VisorRunningQueriesCollectorTaskArg arg, boolean debug) {
super(arg, debug);
}
/** {@inheritDoc} */
- @Override protected Collection<VisorRunningQuery> run(@Nullable Long duration) throws IgniteException {
+ @Override protected Collection<VisorRunningQuery> run(@Nullable VisorRunningQueriesCollectorTaskArg arg)
+ throws IgniteException {
+ assert arg != null;
+
Collection<GridRunningQueryInfo> queries = ignite.context().query()
- .runningQueries(duration != null ? duration : 0);
+ .runningQueries(arg.getDuration() != null ? arg.getDuration() : 0);
Collection<VisorRunningQuery> res = new ArrayList<>(queries.size());
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorRunningQueriesCollectorTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorRunningQueriesCollectorTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorRunningQueriesCollectorTaskArg.java
new file mode 100644
index 0000000..c851559
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorRunningQueriesCollectorTaskArg.java
@@ -0,0 +1,71 @@
+/*
+ * 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.visor.query;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+
+/**
+ * Arguments for task {@link VisorRunningQueriesCollectorTask}
+ */
+public class VisorRunningQueriesCollectorTaskArg extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Duration to check. */
+ private Long duration;
+
+ /**
+ * Default constructor.
+ */
+ public VisorRunningQueriesCollectorTaskArg() {
+ // No-op.
+ }
+
+ /**
+ * @param duration Duration to check.
+ */
+ public VisorRunningQueriesCollectorTaskArg(Long duration) {
+ this.duration = duration;
+ }
+
+ /**
+ * @return Duration to check.
+ */
+ public Long getDuration() {
+ return duration;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ out.writeObject(duration);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ duration = (Long)in.readObject();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorRunningQueriesCollectorTaskArg.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorScanQueryArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorScanQueryArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorScanQueryArg.java
deleted file mode 100644
index cc12ac5..0000000
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorScanQueryArg.java
+++ /dev/null
@@ -1,157 +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.visor.query;
-
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import org.apache.ignite.internal.util.typedef.internal.S;
-import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.internal.visor.VisorDataTransferObject;
-
-/**
- * Arguments for {@link VisorScanQueryTask}.
- */
-public class VisorScanQueryArg extends VisorDataTransferObject {
- /** */
- private static final long serialVersionUID = 0L;
-
- /** Cache name for query. */
- private String cacheName;
-
- /** Filter text. */
- private String filter;
-
- /** Filter is regular expression */
- private boolean regEx;
-
- /** Case sensitive filtration */
- private boolean caseSensitive;
-
- /** Scan of near cache */
- private boolean near;
-
- /** Flag whether to execute query locally. */
- private boolean loc;
-
- /** Result batch size. */
- private int pageSize;
-
- /**
- * Default constructor.
- */
- public VisorScanQueryArg() {
- // No-op.
- }
-
- /**
- * @param cacheName Cache name for query.
- * @param filter Filter text.
- * @param regEx Filter is regular expression.
- * @param caseSensitive Case sensitive filtration.
- * @param near Scan near cache.
- * @param loc Flag whether to execute query locally.
- * @param pageSize Result batch size.
- */
- public VisorScanQueryArg(String cacheName, String filter, boolean regEx, boolean caseSensitive, boolean near,
- boolean loc, int pageSize) {
- this.cacheName = cacheName;
- this.filter = filter;
- this.regEx = regEx;
- this.caseSensitive = caseSensitive;
- this.near = near;
- this.loc = loc;
- this.pageSize = pageSize;
- }
-
- /**
- * @return Cache name.
- */
- public String getCacheName() {
- return cacheName;
- }
-
- /**
- * @return Filter is regular expression.
- */
- public boolean isRegEx() {
- return regEx;
- }
-
- /**
- * @return Filter.
- */
- public String getFilter() {
- return filter;
- }
-
- /**
- * @return Case sensitive filtration.
- */
- public boolean isCaseSensitive() {
- return caseSensitive;
- }
-
- /**
- * @return Scan of near cache.
- */
- public boolean isNear() {
- return near;
- }
-
- /**
- * @return {@code true} if query should be executed locally.
- */
- public boolean isLocal() {
- return loc;
- }
-
- /**
- * @return Page size.
- */
- public int getPageSize() {
- return pageSize;
- }
-
- /** {@inheritDoc} */
- @Override protected void writeExternalData(ObjectOutput out) throws IOException {
- U.writeString(out, cacheName);
- U.writeString(out, filter);
- out.writeBoolean(regEx);
- out.writeBoolean(caseSensitive);
- out.writeBoolean(near);
- out.writeBoolean(loc);
- out.writeInt(pageSize);
- }
-
- /** {@inheritDoc} */
- @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
- cacheName = U.readString(in);
- filter = U.readString(in);
- regEx = in.readBoolean();
- caseSensitive = in.readBoolean();
- near = in.readBoolean();
- loc = in.readBoolean();
- pageSize = in.readInt();
- }
-
- /** {@inheritDoc} */
- @Override public String toString() {
- return S.toString(VisorScanQueryArg.class, this);
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/service/VisorCancelServiceTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/service/VisorCancelServiceTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/service/VisorCancelServiceTask.java
index 64987e9..53c3bb3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/service/VisorCancelServiceTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/service/VisorCancelServiceTask.java
@@ -27,19 +27,19 @@ import org.apache.ignite.internal.visor.VisorOneNodeTask;
* Task for cancel services with specified name.
*/
@GridInternal
-public class VisorCancelServiceTask extends VisorOneNodeTask<String, Void> {
+public class VisorCancelServiceTask extends VisorOneNodeTask<VisorCancelServiceTaskArg, Void> {
/** */
private static final long serialVersionUID = 0L;
/** {@inheritDoc} */
- @Override protected VisorCancelServiceJob job(String arg) {
+ @Override protected VisorCancelServiceJob job(VisorCancelServiceTaskArg arg) {
return new VisorCancelServiceJob(arg, debug);
}
/**
* Job for cancel services with specified name.
*/
- private static class VisorCancelServiceJob extends VisorJob<String, Void> {
+ private static class VisorCancelServiceJob extends VisorJob<VisorCancelServiceTaskArg, Void> {
/** */
private static final long serialVersionUID = 0L;
@@ -49,15 +49,15 @@ public class VisorCancelServiceTask extends VisorOneNodeTask<String, Void> {
* @param arg Job argument.
* @param debug Debug flag.
*/
- protected VisorCancelServiceJob(String arg, boolean debug) {
+ protected VisorCancelServiceJob(VisorCancelServiceTaskArg arg, boolean debug) {
super(arg, debug);
}
/** {@inheritDoc} */
- @Override protected Void run(final String arg) {
+ @Override protected Void run(final VisorCancelServiceTaskArg arg) {
IgniteServices services = ignite.services();
- services.cancel(arg);
+ services.cancel(arg.getName());
return null;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/service/VisorCancelServiceTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/service/VisorCancelServiceTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/service/VisorCancelServiceTaskArg.java
new file mode 100644
index 0000000..477715f
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/service/VisorCancelServiceTaskArg.java
@@ -0,0 +1,72 @@
+/*
+ * 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.visor.service;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+
+/**
+ * Argument for {@link VisorCancelServiceTask}.
+ */
+public class VisorCancelServiceTaskArg extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Service name. */
+ private String name;
+
+ /**
+ * Default constructor.
+ */
+ public VisorCancelServiceTaskArg() {
+ // No-op.
+ }
+
+ /**
+ * @param name Service name.
+ */
+ public VisorCancelServiceTaskArg(String name) {
+ this.name = name;
+ }
+
+ /**
+ * @return Service name.
+ */
+ public String getName() {
+ return name;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeString(out, name);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ name = U.readString(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorCancelServiceTaskArg.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorTaskUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorTaskUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorTaskUtils.java
index 897ac89..c9ed882 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorTaskUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorTaskUtils.java
@@ -333,6 +333,29 @@ public class VisorTaskUtils {
}
/**
+ * Joins iterable collection elements to string.
+ *
+ * @param col Iterable collection.
+ * @return String.
+ */
+ @Nullable public static String compactIterable(Iterable col) {
+ if (col == null || !col.iterator().hasNext())
+ return null;
+
+ String sep = ", ";
+
+ StringBuilder sb = new StringBuilder();
+
+ for (Object s : col)
+ sb.append(s).append(sep);
+
+ if (sb.length() > 0)
+ sb.setLength(sb.length() - sep.length());
+
+ return U.compact(sb.toString());
+ }
+
+ /**
* Returns boolean value from system property or provided function.
*
* @param propName System property name.
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/resources/META-INF/classnames.properties
----------------------------------------------------------------------
diff --git a/modules/core/src/main/resources/META-INF/classnames.properties b/modules/core/src/main/resources/META-INF/classnames.properties
index bc1e534..ca5f756 100644
--- a/modules/core/src/main/resources/META-INF/classnames.properties
+++ b/modules/core/src/main/resources/META-INF/classnames.properties
@@ -1687,6 +1687,7 @@ org.apache.ignite.internal.visor.VisorTaskArgument
org.apache.ignite.internal.visor.binary.VisorBinaryMetadata
org.apache.ignite.internal.visor.binary.VisorBinaryMetadataCollectorTask
org.apache.ignite.internal.visor.binary.VisorBinaryMetadataCollectorTask$VisorBinaryCollectMetadataJob
+org.apache.ignite.internal.visor.binary.VisorBinaryMetadataCollectorTaskArg
org.apache.ignite.internal.visor.binary.VisorBinaryMetadataCollectorTaskResult
org.apache.ignite.internal.visor.binary.VisorBinaryMetadataField
org.apache.ignite.internal.visor.cache.VisorCache
@@ -1698,10 +1699,12 @@ org.apache.ignite.internal.visor.cache.VisorCacheAggregatedMetrics
org.apache.ignite.internal.visor.cache.VisorCacheClearTask
org.apache.ignite.internal.visor.cache.VisorCacheClearTask$VisorCacheClearJob
org.apache.ignite.internal.visor.cache.VisorCacheClearTask$VisorCacheClearJob$1
+org.apache.ignite.internal.visor.cache.VisorCacheClearTaskArg
org.apache.ignite.internal.visor.cache.VisorCacheClearTaskResult
org.apache.ignite.internal.visor.cache.VisorCacheConfiguration
org.apache.ignite.internal.visor.cache.VisorCacheConfigurationCollectorJob
org.apache.ignite.internal.visor.cache.VisorCacheConfigurationCollectorTask
+org.apache.ignite.internal.visor.cache.VisorCacheConfigurationCollectorTaskArg
org.apache.ignite.internal.visor.cache.VisorCacheEvictionConfiguration
org.apache.ignite.internal.visor.cache.VisorCacheJdbcType
org.apache.ignite.internal.visor.cache.VisorCacheJdbcTypeField
@@ -1710,6 +1713,7 @@ org.apache.ignite.internal.visor.cache.VisorCacheLoadTask$VisorCachesLoadJob
org.apache.ignite.internal.visor.cache.VisorCacheLoadTaskArg
org.apache.ignite.internal.visor.cache.VisorCacheMetadataTask
org.apache.ignite.internal.visor.cache.VisorCacheMetadataTask$VisorCacheMetadataJob
+org.apache.ignite.internal.visor.cache.VisorCacheMetadataTaskArg
org.apache.ignite.internal.visor.cache.VisorCacheMetrics
org.apache.ignite.internal.visor.cache.VisorCacheMetricsCollectorTask
org.apache.ignite.internal.visor.cache.VisorCacheMetricsCollectorTask$VisorCacheMetricsCollectorJob
@@ -1717,6 +1721,7 @@ org.apache.ignite.internal.visor.cache.VisorCacheMetricsCollectorTaskArg
org.apache.ignite.internal.visor.cache.VisorCacheNearConfiguration
org.apache.ignite.internal.visor.cache.VisorCacheNodesTask
org.apache.ignite.internal.visor.cache.VisorCacheNodesTask$VisorCacheNodesJob
+org.apache.ignite.internal.visor.cache.VisorCacheNodesTaskArg
org.apache.ignite.internal.visor.cache.VisorCachePartitions
org.apache.ignite.internal.visor.cache.VisorCachePartitionsTask
org.apache.ignite.internal.visor.cache.VisorCachePartitionsTask$VisorCachePartitionsJob
@@ -1724,20 +1729,23 @@ org.apache.ignite.internal.visor.cache.VisorCachePartitionsTaskArg
org.apache.ignite.internal.visor.cache.VisorCacheRebalanceConfiguration
org.apache.ignite.internal.visor.cache.VisorCacheRebalanceTask
org.apache.ignite.internal.visor.cache.VisorCacheRebalanceTask$VisorCachesRebalanceJob
+org.apache.ignite.internal.visor.cache.VisorCacheRebalanceTaskArg
org.apache.ignite.internal.visor.cache.VisorCacheResetMetricsTask
org.apache.ignite.internal.visor.cache.VisorCacheResetMetricsTask$VisorCacheResetMetricsJob
+org.apache.ignite.internal.visor.cache.VisorCacheResetMetricsTaskArg
org.apache.ignite.internal.visor.cache.VisorCacheSqlIndexMetadata
org.apache.ignite.internal.visor.cache.VisorCacheSqlMetadata
-org.apache.ignite.internal.visor.cache.VisorCacheStartArg
org.apache.ignite.internal.visor.cache.VisorCacheStartTask
org.apache.ignite.internal.visor.cache.VisorCacheStartTask$VisorCacheStartJob
org.apache.ignite.internal.visor.cache.VisorCacheStartTaskArg
org.apache.ignite.internal.visor.cache.VisorCacheStopTask
org.apache.ignite.internal.visor.cache.VisorCacheStopTask$VisorCacheStopJob
+org.apache.ignite.internal.visor.cache.VisorCacheStopTaskArg
org.apache.ignite.internal.visor.cache.VisorCacheStoreConfiguration
org.apache.ignite.internal.visor.cache.VisorPartitionMap
org.apache.ignite.internal.visor.compute.VisorComputeCancelSessionsTask
org.apache.ignite.internal.visor.compute.VisorComputeCancelSessionsTask$VisorComputeCancelSessionsJob
+org.apache.ignite.internal.visor.compute.VisorComputeCancelSessionsTaskArg
org.apache.ignite.internal.visor.compute.VisorComputeResetMetricsTask
org.apache.ignite.internal.visor.compute.VisorComputeResetMetricsTask$VisorComputeResetMetricsJob
org.apache.ignite.internal.visor.compute.VisorComputeToggleMonitoringTask
@@ -1759,7 +1767,6 @@ org.apache.ignite.internal.visor.event.VisorGridEventsLost
org.apache.ignite.internal.visor.event.VisorGridJobEvent
org.apache.ignite.internal.visor.event.VisorGridTaskEvent
org.apache.ignite.internal.visor.file.VisorFileBlock
-org.apache.ignite.internal.visor.file.VisorFileBlockArg
org.apache.ignite.internal.visor.file.VisorFileBlockTask
org.apache.ignite.internal.visor.file.VisorFileBlockTask$VisorFileBlockJob
org.apache.ignite.internal.visor.file.VisorFileBlockTaskArg
@@ -1770,21 +1777,24 @@ org.apache.ignite.internal.visor.igfs.VisorIgfs
org.apache.ignite.internal.visor.igfs.VisorIgfsEndpoint
org.apache.ignite.internal.visor.igfs.VisorIgfsFormatTask
org.apache.ignite.internal.visor.igfs.VisorIgfsFormatTask$VisorIgfsFormatJob
+org.apache.ignite.internal.visor.igfs.VisorIgfsFormatTaskArg
org.apache.ignite.internal.visor.igfs.VisorIgfsMetrics
org.apache.ignite.internal.visor.igfs.VisorIgfsProfilerClearTask
org.apache.ignite.internal.visor.igfs.VisorIgfsProfilerClearTask$VisorIgfsProfilerClearJob
+org.apache.ignite.internal.visor.igfs.VisorIgfsProfilerClearTaskArg
org.apache.ignite.internal.visor.igfs.VisorIgfsProfilerClearTaskResult
org.apache.ignite.internal.visor.igfs.VisorIgfsProfilerEntry
org.apache.ignite.internal.visor.igfs.VisorIgfsProfilerTask
org.apache.ignite.internal.visor.igfs.VisorIgfsProfilerTask$VisorIgfsProfilerJob
+org.apache.ignite.internal.visor.igfs.VisorIgfsProfilerTaskArg
org.apache.ignite.internal.visor.igfs.VisorIgfsProfilerUniformityCounters
org.apache.ignite.internal.visor.igfs.VisorIgfsResetMetricsTask
org.apache.ignite.internal.visor.igfs.VisorIgfsResetMetricsTask$VisorIgfsResetMetricsJob
+org.apache.ignite.internal.visor.igfs.VisorIgfsResetMetricsTaskArg
org.apache.ignite.internal.visor.igfs.VisorIgfsSamplingStateTask
org.apache.ignite.internal.visor.igfs.VisorIgfsSamplingStateTask$VisorIgfsSamplingStateJob
org.apache.ignite.internal.visor.igfs.VisorIgfsSamplingStateTaskArg
org.apache.ignite.internal.visor.log.VisorLogFile
-org.apache.ignite.internal.visor.log.VisorLogSearchArg
org.apache.ignite.internal.visor.log.VisorLogSearchResult
org.apache.ignite.internal.visor.log.VisorLogSearchTask
org.apache.ignite.internal.visor.log.VisorLogSearchTask$VisorLogSearchJob
@@ -1792,8 +1802,10 @@ org.apache.ignite.internal.visor.log.VisorLogSearchTaskArg
org.apache.ignite.internal.visor.log.VisorLogSearchTaskResult
org.apache.ignite.internal.visor.misc.VisorAckTask
org.apache.ignite.internal.visor.misc.VisorAckTask$VisorAckJob
+org.apache.ignite.internal.visor.misc.VisorAckTaskArg
org.apache.ignite.internal.visor.misc.VisorChangeGridActiveStateTask
org.apache.ignite.internal.visor.misc.VisorChangeGridActiveStateTask$VisorChangeGridActiveStateJob
+org.apache.ignite.internal.visor.misc.VisorChangeGridActiveStateTaskArg
org.apache.ignite.internal.visor.misc.VisorLatestVersionTask
org.apache.ignite.internal.visor.misc.VisorLatestVersionTask$VisorLatestVersionJob
org.apache.ignite.internal.visor.misc.VisorNopTask
@@ -1802,8 +1814,13 @@ org.apache.ignite.internal.visor.misc.VisorResolveHostNameTask
org.apache.ignite.internal.visor.misc.VisorResolveHostNameTask$VisorResolveHostNameJob
org.apache.ignite.internal.visor.node.VisorAtomicConfiguration
org.apache.ignite.internal.visor.node.VisorBasicConfiguration
+org.apache.ignite.internal.visor.node.VisorBinaryConfiguration
+org.apache.ignite.internal.visor.node.VisorBinaryTypeConfiguration
+org.apache.ignite.internal.visor.node.VisorCacheKeyConfiguration
+org.apache.ignite.internal.visor.node.VisorExecutorConfiguration
org.apache.ignite.internal.visor.node.VisorExecutorServiceConfiguration
org.apache.ignite.internal.visor.node.VisorGridConfiguration
+org.apache.ignite.internal.visor.node.VisorHadoopConfiguration
org.apache.ignite.internal.visor.node.VisorIgfsConfiguration
org.apache.ignite.internal.visor.node.VisorLifecycleConfiguration
org.apache.ignite.internal.visor.node.VisorMemoryConfiguration
@@ -1825,6 +1842,7 @@ org.apache.ignite.internal.visor.node.VisorNodeGcTask$VisorNodeGcJob
org.apache.ignite.internal.visor.node.VisorNodeGcTaskResult
org.apache.ignite.internal.visor.node.VisorNodePingTask
org.apache.ignite.internal.visor.node.VisorNodePingTask$VisorNodePingJob
+org.apache.ignite.internal.visor.node.VisorNodePingTaskArg
org.apache.ignite.internal.visor.node.VisorNodePingTaskResult
org.apache.ignite.internal.visor.node.VisorNodeRestartTask
org.apache.ignite.internal.visor.node.VisorNodeRestartTask$VisorNodesRestartJob
@@ -1833,22 +1851,27 @@ org.apache.ignite.internal.visor.node.VisorNodeStopTask$VisorNodesStopJob
org.apache.ignite.internal.visor.node.VisorNodeSuppressedErrors
org.apache.ignite.internal.visor.node.VisorNodeSuppressedErrorsTask
org.apache.ignite.internal.visor.node.VisorNodeSuppressedErrorsTask$VisorNodeSuppressedErrorsJob
+org.apache.ignite.internal.visor.node.VisorNodeSuppressedErrorsTaskArg
+org.apache.ignite.internal.visor.node.VisorOdbcConfiguration
org.apache.ignite.internal.visor.node.VisorPeerToPeerConfiguration
org.apache.ignite.internal.visor.node.VisorRestConfiguration
org.apache.ignite.internal.visor.node.VisorSegmentationConfiguration
+org.apache.ignite.internal.visor.node.VisorServiceConfiguration
org.apache.ignite.internal.visor.node.VisorSpiDescription
org.apache.ignite.internal.visor.node.VisorSpisConfiguration
org.apache.ignite.internal.visor.node.VisorSuppressedError
org.apache.ignite.internal.visor.node.VisorTransactionConfiguration
-org.apache.ignite.internal.visor.query.VisorQueryArg
org.apache.ignite.internal.visor.query.VisorQueryCancelTask
org.apache.ignite.internal.visor.query.VisorQueryCancelTask$VisorCancelQueriesJob
+org.apache.ignite.internal.visor.query.VisorQueryCancelTaskArg
org.apache.ignite.internal.visor.query.VisorQueryCleanupTask
org.apache.ignite.internal.visor.query.VisorQueryCleanupTask$VisorQueryCleanupJob
+org.apache.ignite.internal.visor.query.VisorQueryCleanupTaskArg
org.apache.ignite.internal.visor.query.VisorQueryConfiguration
org.apache.ignite.internal.visor.query.VisorQueryDetailMetrics
org.apache.ignite.internal.visor.query.VisorQueryDetailMetricsCollectorTask
org.apache.ignite.internal.visor.query.VisorQueryDetailMetricsCollectorTask$VisorCacheQueryDetailMetricsCollectorJob
+org.apache.ignite.internal.visor.query.VisorQueryDetailMetricsCollectorTaskArg
org.apache.ignite.internal.visor.query.VisorQueryEntity
org.apache.ignite.internal.visor.query.VisorQueryField
org.apache.ignite.internal.visor.query.VisorQueryIndex
@@ -1861,6 +1884,7 @@ org.apache.ignite.internal.visor.query.VisorQueryResetDetailMetricsTask
org.apache.ignite.internal.visor.query.VisorQueryResetDetailMetricsTask$VisorCacheResetQueryDetailMetricsJob
org.apache.ignite.internal.visor.query.VisorQueryResetMetricsTask
org.apache.ignite.internal.visor.query.VisorQueryResetMetricsTask$VisorQueryResetMetricsJob
+org.apache.ignite.internal.visor.query.VisorQueryResetMetricsTaskArg
org.apache.ignite.internal.visor.query.VisorQueryResult
org.apache.ignite.internal.visor.query.VisorQueryScanRegexFilter
org.apache.ignite.internal.visor.query.VisorQueryTask
@@ -1868,13 +1892,14 @@ org.apache.ignite.internal.visor.query.VisorQueryTask$VisorQueryJob
org.apache.ignite.internal.visor.query.VisorQueryTaskArg
org.apache.ignite.internal.visor.query.VisorRunningQueriesCollectorTask
org.apache.ignite.internal.visor.query.VisorRunningQueriesCollectorTask$VisorCollectRunningQueriesJob
+org.apache.ignite.internal.visor.query.VisorRunningQueriesCollectorTaskArg
org.apache.ignite.internal.visor.query.VisorRunningQuery
-org.apache.ignite.internal.visor.query.VisorScanQueryArg
org.apache.ignite.internal.visor.query.VisorScanQueryTask
org.apache.ignite.internal.visor.query.VisorScanQueryTask$VisorScanQueryJob
org.apache.ignite.internal.visor.query.VisorScanQueryTaskArg
org.apache.ignite.internal.visor.service.VisorCancelServiceTask
org.apache.ignite.internal.visor.service.VisorCancelServiceTask$VisorCancelServiceJob
+org.apache.ignite.internal.visor.service.VisorCancelServiceTaskArg
org.apache.ignite.internal.visor.service.VisorServiceDescriptor
org.apache.ignite.internal.visor.service.VisorServiceTask
org.apache.ignite.internal.visor.service.VisorServiceTask$VisorServiceJob
@@ -1972,11 +1997,11 @@ org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryDiscardMessage
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryDuplicateIdMessage
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryHandshakeRequest
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryHandshakeResponse
+org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryJoinRequestMessage
+org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryLoopbackProblemMessage
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryMetricsUpdateMessage
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryMetricsUpdateMessage$MetricsSet
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryMetricsUpdateMessage$MetricsSet$1
-org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryJoinRequestMessage
-org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryLoopbackProblemMessage
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryNodeAddFinishedMessage
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryNodeAddedMessage
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryNodeFailedMessage
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryConfigurationCustomSerializerSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryConfigurationCustomSerializerSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryConfigurationCustomSerializerSelfTest.java
index 1da2967..cedbbaf 100644
--- a/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryConfigurationCustomSerializerSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/internal/binary/BinaryConfigurationCustomSerializerSelfTest.java
@@ -36,6 +36,7 @@ import org.apache.ignite.internal.client.GridClientProtocol;
import org.apache.ignite.internal.client.balancer.GridClientRoundRobinBalancer;
import org.apache.ignite.internal.visor.VisorTaskArgument;
import org.apache.ignite.internal.visor.node.VisorNodePingTask;
+import org.apache.ignite.internal.visor.node.VisorNodePingTaskArg;
import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
/**
@@ -100,7 +101,8 @@ public class BinaryConfigurationCustomSerializerSelfTest extends GridCommonAbstr
GridClient client = GridClientFactory.start(clnCfg);
// Execute some task.
- client.compute().execute(VisorNodePingTask.class.getName(), new VisorTaskArgument<>(nid, nid, false));
+ client.compute().execute(VisorNodePingTask.class.getName(),
+ new VisorTaskArgument<>(nid, new VisorNodePingTaskArg(nid), false));
GridClientFactory.stop(client.id(), false);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/internal/GridInternalTasksLoadBalancingSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/internal/GridInternalTasksLoadBalancingSelfTest.java b/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/internal/GridInternalTasksLoadBalancingSelfTest.java
index f9d74b4..26f4a3b 100644
--- a/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/internal/GridInternalTasksLoadBalancingSelfTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/spi/loadbalancing/internal/GridInternalTasksLoadBalancingSelfTest.java
@@ -34,6 +34,7 @@ import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.processors.task.GridInternal;
import org.apache.ignite.internal.visor.VisorTaskArgument;
import org.apache.ignite.internal.visor.node.VisorNodePingTask;
+import org.apache.ignite.internal.visor.node.VisorNodePingTaskArg;
import org.apache.ignite.internal.visor.node.VisorNodePingTaskResult;
import org.apache.ignite.spi.IgniteSpiAdapter;
import org.apache.ignite.spi.IgniteSpiException;
@@ -93,7 +94,8 @@ public class GridInternalTasksLoadBalancingSelfTest extends GridCommonAbstractTe
UUID nid = ignite.cluster().localNode().id();
VisorNodePingTaskResult ping = ignite.compute()
- .execute(VisorNodePingTask.class.getName(), new VisorTaskArgument<>(nid, nid, false));
+ .execute(VisorNodePingTask.class.getName(),
+ new VisorTaskArgument<>(nid, new VisorNodePingTaskArg(nid), false));
assertTrue(ping.isAlive());
@@ -123,7 +125,8 @@ public class GridInternalTasksLoadBalancingSelfTest extends GridCommonAbstractTe
UUID nid = ignite.cluster().localNode().id();
VisorNodePingTaskResult ping = ignite.compute()
- .execute(VisorNodePingTask.class.getName(), new VisorTaskArgument<>(nid, nid, false));
+ .execute(VisorNodePingTask.class.getName(),
+ new VisorTaskArgument<>(nid, new VisorNodePingTaskArg(nid), false));
assertTrue(ping.isAlive());
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/ack/VisorAckCommand.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/ack/VisorAckCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/ack/VisorAckCommand.scala
index 2e3659d..13c343a 100644
--- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/ack/VisorAckCommand.scala
+++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/ack/VisorAckCommand.scala
@@ -22,8 +22,7 @@ import org.apache.ignite.internal.util.scala.impl
import org.apache.ignite.visor.VisorTag
import org.apache.ignite.visor.commands.common.VisorConsoleCommand
import org.apache.ignite.visor.visor._
-
-import org.apache.ignite.internal.visor.misc.VisorAckTask
+import org.apache.ignite.internal.visor.misc.{VisorAckTask, VisorAckTaskArg}
import scala.language.implicitConversions
@@ -93,7 +92,7 @@ class VisorAckCommand extends VisorConsoleCommand {
adviseToConnect()
else
try {
- executeMulti(classOf[VisorAckTask], msg)
+ executeMulti(classOf[VisorAckTask], new VisorAckTaskArg(msg))
}
catch {
case _: ClusterGroupEmptyException => scold("Topology is empty.")
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheClearCommand.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheClearCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheClearCommand.scala
index 517028a..96d0a86 100644
--- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheClearCommand.scala
+++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheClearCommand.scala
@@ -20,8 +20,7 @@ package org.apache.ignite.visor.commands.cache
import org.apache.ignite.cluster.{ClusterGroupEmptyException, ClusterNode}
import org.apache.ignite.visor.commands.common.VisorTextTable
import org.apache.ignite.visor.visor._
-
-import org.apache.ignite.internal.visor.cache.VisorCacheClearTask
+import org.apache.ignite.internal.visor.cache.{VisorCacheClearTask, VisorCacheClearTaskArg}
import org.apache.ignite.internal.visor.util.VisorTaskUtils._
import scala.language.reflectiveCalls
@@ -103,7 +102,7 @@ class VisorCacheClearCommand {
t #= ("Node ID8(@)", "Cache Size Before", "Cache Size After")
- val res = executeOne(nid, classOf[VisorCacheClearTask], cacheName)
+ val res = executeOne(nid, classOf[VisorCacheClearTask], new VisorCacheClearTaskArg(cacheName))
t += (nodeId8(nid), res.getSizeBefore, res.getSizeAfter)
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheResetCommand.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheResetCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheResetCommand.scala
index b59155b..4c4d21b 100644
--- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheResetCommand.scala
+++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheResetCommand.scala
@@ -18,7 +18,7 @@
package org.apache.ignite.visor.commands.cache
import org.apache.ignite.cluster.{ClusterGroupEmptyException, ClusterNode}
-import org.apache.ignite.internal.visor.cache.VisorCacheResetMetricsTask
+import org.apache.ignite.internal.visor.cache.{VisorCacheResetMetricsTask, VisorCacheResetMetricsTaskArg}
import org.apache.ignite.internal.visor.util.VisorTaskUtils._
import org.apache.ignite.visor.visor._
@@ -104,7 +104,7 @@ class VisorCacheResetCommand {
}
try {
- executeRandom(grp, classOf[VisorCacheResetMetricsTask], cacheName)
+ executeRandom(grp, classOf[VisorCacheResetMetricsTask], new VisorCacheResetMetricsTaskArg(cacheName))
println("Visor successfully reset metrics for cache: " + escapeName(cacheName))
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheStopCommand.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheStopCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheStopCommand.scala
index 22fb89d..185b452 100644
--- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheStopCommand.scala
+++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheStopCommand.scala
@@ -19,7 +19,7 @@ package org.apache.ignite.visor.commands.cache
import org.apache.ignite.cluster.{ClusterGroupEmptyException, ClusterNode}
import org.apache.ignite.visor.visor._
-import org.apache.ignite.internal.visor.cache.VisorCacheStopTask
+import org.apache.ignite.internal.visor.cache.{VisorCacheStopTask, VisorCacheStopTaskArg}
import org.apache.ignite.internal.visor.util.VisorTaskUtils._
/**
@@ -106,7 +106,7 @@ class VisorCacheStopCommand {
ask(s"Are you sure you want to stop cache: ${escapeName(cacheName)}? (y/n) [$dflt]: ", dflt) match {
case "y" | "Y" =>
try {
- executeRandom(grp, classOf[VisorCacheStopTask], cacheName)
+ executeRandom(grp, classOf[VisorCacheStopTask], new VisorCacheStopTaskArg(cacheName))
println("Visor successfully stop cache: " + escapeName(cacheName))
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/config/VisorConfigurationCommand.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/config/VisorConfigurationCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/config/VisorConfigurationCommand.scala
index 75c34ab..299c300 100644
--- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/config/VisorConfigurationCommand.scala
+++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/config/VisorConfigurationCommand.scala
@@ -162,7 +162,7 @@ class VisorConfigurationCommand extends VisorConsoleCommand {
cmnT += ("Grid name", escapeName(basic.getIgniteInstanceName))
cmnT += ("Ignite home", safe(basic.getGgHome))
cmnT += ("Localhost", safe(basic.getLocalHost))
- cmnT += ("Node ID", safe(basic.getNodeId))
+ cmnT += ("Consistent ID", safe(basic.getConsistentId))
cmnT += ("Marshaller", basic.getMarshaller)
cmnT += ("Deployment mode", safe(basic.getDeploymentMode))
cmnT += ("ClientMode", javaBoolToStr(basic.isClientMode))
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/visor-console/src/main/scala/org/apache/ignite/visor/visor.scala
----------------------------------------------------------------------
diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/visor.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/visor.scala
index e1dd14e..87ca5b1 100644
--- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/visor.scala
+++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/visor.scala
@@ -272,7 +272,8 @@ object visor extends VisorTag {
def groupForDataNode(node: Option[ClusterNode], cacheName: String) = {
val grp = node match {
case Some(n) => ignite.cluster.forNode(n)
- case None => ignite.cluster.forNodeIds(executeRandom(classOf[VisorCacheNodesTask], cacheName))
+ case None => ignite.cluster.forNodeIds(executeRandom(classOf[VisorCacheNodesTask],
+ new VisorCacheNodesTaskArg(cacheName)))
}
if (grp.nodes().isEmpty)
@@ -1832,7 +1833,7 @@ object visor extends VisorTag {
@throws[ClusterGroupEmptyException]("In case of empty topology.")
def cacheConfigurations(nid: UUID): JavaCollection[VisorCacheConfiguration] =
executeOne(nid, classOf[VisorCacheConfigurationCollectorTask],
- null.asInstanceOf[JavaCollection[IgniteUuid]]).values()
+ new VisorCacheConfigurationCollectorTaskArg(null.asInstanceOf[JavaCollection[IgniteUuid]])).values()
/**
* Asks user to select a node from the list.
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/web-console/backend/app/browsersHandler.js
----------------------------------------------------------------------
diff --git a/modules/web-console/backend/app/browsersHandler.js b/modules/web-console/backend/app/browsersHandler.js
index d77d9ce..9f31046 100644
--- a/modules/web-console/backend/app/browsersHandler.js
+++ b/modules/web-console/backend/app/browsersHandler.js
@@ -202,8 +202,7 @@ module.exports.factory = (_, socketio, configure, errors) => {
this.registerVisorTask('querySql', internalVisor('query.VisorQueryTask'), internalVisor('query.VisorQueryTaskArg'));
this.registerVisorTask('queryScan', internalVisor('query.VisorScanQueryTask'), internalVisor('query.VisorScanQueryTaskArg'));
this.registerVisorTask('queryFetch', internalVisor('query.VisorQueryNextPageTask'), internalVisor('query.VisorQueryNextPageTaskArg'));
- this.registerVisorTask('queryClose', internalVisor('query.VisorQueryCleanupTask'),
- 'java.util.Map', 'java.util.UUID', 'java.util.Set');
+ this.registerVisorTask('queryClose', internalVisor('query.VisorQueryCleanupTask'), internalVisor('query.VisorQueryCleanupTaskArg'));
// Return command result from grid to browser.
sock.on('node:visor', (clusterId, taskId, nids, ...args) => {
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/web-console/backend/app/mongo.js
----------------------------------------------------------------------
diff --git a/modules/web-console/backend/app/mongo.js b/modules/web-console/backend/app/mongo.js
index 3038ad2..c68e4f8 100644
--- a/modules/web-console/backend/app/mongo.js
+++ b/modules/web-console/backend/app/mongo.js
@@ -390,9 +390,7 @@ module.exports.factory = function(passportMongo, settings, pluginMongo, mongoose
networkTimeout: Number,
joinTimeout: Number,
threadPriority: Number,
- heartbeatFrequency: Number,
- maxMissedHeartbeats: Number,
- maxMissedClientHeartbeats: Number,
+ metricsUpdateFrequency: Number,
topHistorySize: Number,
listener: String,
dataExchange: String,
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/web-console/frontend/app/modules/agent/AgentManager.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/agent/AgentManager.service.js b/modules/web-console/frontend/app/modules/agent/AgentManager.service.js
index 3b39463..4c388f1 100644
--- a/modules/web-console/frontend/app/modules/agent/AgentManager.service.js
+++ b/modules/web-console/frontend/app/modules/agent/AgentManager.service.js
@@ -470,7 +470,8 @@ export default class IgniteAgentManager {
* @returns {Promise}
*/
queryClose(nid, queryId) {
- return this.visorTask('queryClose', nid, queryId);
+ return this.visorTask('queryClose', nid, 'java.util.Map', 'java.util.UUID', 'java.util.Collection',
+ nid + '=' + queryId);
}
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js b/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js
index a76d486..434a4b4 100644
--- a/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js
+++ b/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js
@@ -158,7 +158,7 @@ export default class IgniteConfigurationGenerator {
if (client)
cfg.prop('boolean', 'clientMode', true);
- cfg.stringProperty('name', 'gridName')
+ cfg.stringProperty('name', 'igniteInstanceName')
.stringProperty('localHost');
if (_.isNil(cluster.discovery))
@@ -906,6 +906,8 @@ export default class IgniteConfigurationGenerator {
// Generate discovery group.
static clusterDiscovery(discovery, cfg = this.igniteConfigurationBean(), discoSpi = this.discoveryConfigurationBean(discovery)) {
+ // TODO IGNITE-4988 cfg.intProperty('metricsUpdateFrequency')
+
discoSpi.stringProperty('localAddress')
.intProperty('localPort')
.intProperty('localPortRange')
@@ -916,9 +918,6 @@ export default class IgniteConfigurationGenerator {
.intProperty('networkTimeout')
.intProperty('joinTimeout')
.intProperty('threadPriority')
- .intProperty('heartbeatFrequency')
- .intProperty('maxMissedHeartbeats')
- .intProperty('maxMissedClientHeartbeats')
.intProperty('topHistorySize')
.emptyBeanProperty('listener')
.emptyBeanProperty('dataExchange')
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/web-console/frontend/app/modules/configuration/generator/PlatformGenerator.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/configuration/generator/PlatformGenerator.js b/modules/web-console/frontend/app/modules/configuration/generator/PlatformGenerator.js
index 807303d..233ecb2 100644
--- a/modules/web-console/frontend/app/modules/configuration/generator/PlatformGenerator.js
+++ b/modules/web-console/frontend/app/modules/configuration/generator/PlatformGenerator.js
@@ -184,6 +184,8 @@ export default ['JavaTypes', 'igniteClusterPlatformDefaults', 'igniteCachePlatfo
// Generate discovery group.
static clusterDiscovery(discovery, cfg = this.igniteConfigurationBean()) {
if (discovery) {
+ // TODO IGNITE-4988 cfg.intProperty('metricsUpdateFrequency')
+
let discoveryCfg = cfg.findProperty('discovery');
if (_.isNil(discoveryCfg)) {
@@ -200,9 +202,6 @@ export default ['JavaTypes', 'igniteClusterPlatformDefaults', 'igniteCachePlatfo
.intProperty('networkTimeout')
.intProperty('joinTimeout')
.intProperty('threadPriority')
- .intProperty('heartbeatFrequency')
- .intProperty('maxMissedHeartbeats')
- .intProperty('maxMissedClientHeartbeats')
.intProperty('topHistorySize')
.intProperty('reconnectCount')
.intProperty('statisticsPrintFrequency')
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cluster.service.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cluster.service.js b/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cluster.service.js
index 60f52a6..5ed90c5 100644
--- a/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cluster.service.js
+++ b/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cluster.service.js
@@ -26,9 +26,7 @@ const DFLT_CLUSTER = {
networkTimeout: 5000,
joinTimeout: 0,
threadPriority: 10,
- heartbeatFrequency: 2000,
- maxMissedHeartbeats: 1,
- maxMissedClientHeartbeats: 5,
+ metricsUpdateFrequency: 2000,
topHistorySize: 1000,
reconnectCount: 10,
statisticsPrintFrequency: 0,
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/web-console/frontend/app/modules/sql/sql.controller.js
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/sql/sql.controller.js b/modules/web-console/frontend/app/modules/sql/sql.controller.js
index bb94b0c..b3ca91b 100644
--- a/modules/web-console/frontend/app/modules/sql/sql.controller.js
+++ b/modules/web-console/frontend/app/modules/sql/sql.controller.js
@@ -1303,7 +1303,7 @@ export default ['$rootScope', '$scope', '$http', '$q', '$timeout', '$interval',
const _closeOldQuery = (paragraph) => {
const nid = paragraph.resNodeId;
- if (paragraph.queryId && _.find($scope.caches, ({nodes}) => _.includes(nodes, nid)))
+ if (paragraph.queryId && _.find($scope.caches, ({nodes}) => _.find(nodes, {nid: nid.toUpperCase()})))
return agentMgr.queryClose(nid, paragraph.queryId);
return $q.when();
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/web-console/frontend/app/modules/states/configuration/clusters/discovery.pug
----------------------------------------------------------------------
diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/discovery.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/discovery.pug
index af9d875..71d9974 100644
--- a/modules/web-console/frontend/app/modules/states/configuration/clusters/discovery.pug
+++ b/modules/web-console/frontend/app/modules/states/configuration/clusters/discovery.pug
@@ -56,13 +56,7 @@ include /app/helpers/jade/mixins
.settings-row
+number('Thread priority:', `${model}.threadPriority`, '"threadPriority"', 'true', '10', '1', 'Thread priority for all threads started by SPI')
.settings-row
- +number('Heartbeat frequency:', `${model}.heartbeatFrequency`, '"heartbeatFrequency"', 'true', '2000', '1', 'Heartbeat messages issuing frequency')
- .settings-row
- +number('Max heartbeats miss w/o init:', `${model}.maxMissedHeartbeats`, '"maxMissedHeartbeats"', 'true', '1', '1',
- 'Max heartbeats count node can miss without initiating status check')
- .settings-row
- +number('Max missed client heartbeats:', `${model}.maxMissedClientHeartbeats`, '"maxMissedClientHeartbeats"', 'true', '5', '1',
- 'Max heartbeats count node can miss without failing client node')
+ +number('Metrics update frequency:', `${model}.metricsUpdateFrequency`, '"metricsUpdateFrequency"', 'true', '2000', '1', 'Metrics update messages issuing frequency')
.settings-row
+number('Topology history:', `${model}.topHistorySize`, '"topHistorySize"', 'true', '1000', '0', 'Size of topology snapshots history')
.settings-row
[3/4] ignite git commit: IGNITE-4988 Rework Visor task arguments.
Code cleanup for ignite-2.0.
Posted by ak...@apache.org.
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTask.java
index f90ddbd..9f7c018 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTask.java
@@ -27,19 +27,19 @@ import org.apache.ignite.internal.visor.VisorOneNodeTask;
* Task that stop specified caches on specified node.
*/
@GridInternal
-public class VisorCacheStopTask extends VisorOneNodeTask<String, Void> {
+public class VisorCacheStopTask extends VisorOneNodeTask<VisorCacheStopTaskArg, Void> {
/** */
private static final long serialVersionUID = 0L;
/** {@inheritDoc} */
- @Override protected VisorCacheStopJob job(String arg) {
+ @Override protected VisorCacheStopJob job(VisorCacheStopTaskArg arg) {
return new VisorCacheStopJob(arg, debug);
}
/**
* Job that stop specified caches.
*/
- private static class VisorCacheStopJob extends VisorJob<String, Void> {
+ private static class VisorCacheStopJob extends VisorJob<VisorCacheStopTaskArg, Void> {
/** */
private static final long serialVersionUID = 0L;
@@ -49,14 +49,19 @@ public class VisorCacheStopTask extends VisorOneNodeTask<String, Void> {
* @param cacheName Cache name to clear.
* @param debug Debug flag.
*/
- private VisorCacheStopJob(String cacheName, boolean debug) {
+ private VisorCacheStopJob(VisorCacheStopTaskArg cacheName, boolean debug) {
super(cacheName, debug);
}
/** {@inheritDoc} */
- @Override protected Void run(String cacheName) {
+ @Override protected Void run(VisorCacheStopTaskArg arg) {
+ String cacheName = arg.getCacheName();
+
IgniteCache cache = ignite.cache(cacheName);
+ if (cache == null)
+ throw new IllegalStateException("Failed to find cache for name: " + cacheName);
+
cache.destroy();
return null;
@@ -67,4 +72,4 @@ public class VisorCacheStopTask extends VisorOneNodeTask<String, Void> {
return S.toString(VisorCacheStopJob.class, this);
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTaskArg.java
new file mode 100644
index 0000000..4976036
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStopTaskArg.java
@@ -0,0 +1,72 @@
+/*
+ * 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.visor.cache;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+
+/**
+ * Argument for {@link VisorCacheStopTask}.
+ */
+public class VisorCacheStopTaskArg extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Cache name. */
+ private String cacheName;
+
+ /**
+ * Default constructor.
+ */
+ public VisorCacheStopTaskArg() {
+ // No-op.
+ }
+
+ /**
+ * @param cacheName Cache name.
+ */
+ public VisorCacheStopTaskArg(String cacheName) {
+ this.cacheName = cacheName;
+ }
+
+ /**
+ * @return Cache name.
+ */
+ public String getCacheName() {
+ return cacheName;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeString(out, cacheName);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ cacheName = U.readString(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorCacheStopTaskArg.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStoreConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStoreConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStoreConfiguration.java
index dc1ba2a..1c0c6b8 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStoreConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStoreConfiguration.java
@@ -72,6 +72,9 @@ public class VisorCacheStoreConfiguration extends VisorDataTransferObject {
/** Keep binary in store flag. */
private boolean storeKeepBinary;
+ /** Write coalescing flag for write-behind cache store */
+ private boolean writeBehindCoalescing;
+
/**
* Default constructor.
*/
@@ -105,6 +108,8 @@ public class VisorCacheStoreConfiguration extends VisorDataTransferObject {
flushThreadCnt = ccfg.getWriteBehindFlushThreadCount();
storeKeepBinary = ccfg.isStoreKeepBinary();
+
+ writeBehindCoalescing = ccfg.getWriteBehindCoalescing();
}
/**
@@ -191,6 +196,13 @@ public class VisorCacheStoreConfiguration extends VisorDataTransferObject {
return storeKeepBinary;
}
+ /**
+ * @return Write coalescing flag.
+ */
+ public boolean getWriteBehindCoalescing() {
+ return writeBehindCoalescing;
+ }
+
/** {@inheritDoc} */
@Override protected void writeExternalData(ObjectOutput out) throws IOException {
out.writeBoolean(jdbcStore);
@@ -204,6 +216,7 @@ public class VisorCacheStoreConfiguration extends VisorDataTransferObject {
out.writeInt(flushSz);
out.writeInt(flushThreadCnt);
out.writeBoolean(storeKeepBinary);
+ out.writeBoolean(writeBehindCoalescing);
}
/** {@inheritDoc} */
@@ -219,6 +232,7 @@ public class VisorCacheStoreConfiguration extends VisorDataTransferObject {
flushSz = in.readInt();
flushThreadCnt = in.readInt();
storeKeepBinary = in.readBoolean();
+ writeBehindCoalescing = in.readBoolean();
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorPartitionMap.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorPartitionMap.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorPartitionMap.java
index f263db5..cadad0c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorPartitionMap.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorPartitionMap.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.visor.cache;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
+import java.util.HashMap;
import java.util.Map;
import org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtPartitionState;
import org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionMap;
@@ -75,12 +76,31 @@ public class VisorPartitionMap extends VisorDataTransferObject {
/** {@inheritDoc} */
@Override protected void writeExternalData(ObjectOutput out) throws IOException {
- U.writeIntKeyMap(out, parts);
+ if (parts != null) {
+ out.writeInt(parts.size());
+
+ for (Map.Entry<Integer, GridDhtPartitionState> e : parts.entrySet()) {
+ out.writeInt(e.getKey());
+ U.writeEnum(out, e.getValue());
+ }
+ }
+ else
+ out.writeInt(-1);
}
/** {@inheritDoc} */
@Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
- parts = U.readIntKeyMap(in);
+ int size = in.readInt();
+
+ // Check null flag.
+ if (size == -1)
+ parts = null;
+ else {
+ parts = new HashMap<>(size, 1.0f);
+
+ for (int i = 0; i < size; i++)
+ parts.put(in.readInt(), GridDhtPartitionState.fromOrdinal(in.readByte()));
+ }
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorComputeCancelSessionsTask.java
----------------------------------------------------------------------
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 4ee025d..f28d988 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
@@ -20,7 +20,6 @@ package org.apache.ignite.internal.visor.compute;
import java.util.List;
import java.util.Map;
import java.util.Set;
-import java.util.UUID;
import org.apache.ignite.IgniteCompute;
import org.apache.ignite.compute.ComputeJobResult;
import org.apache.ignite.compute.ComputeTaskFuture;
@@ -35,12 +34,12 @@ import org.jetbrains.annotations.Nullable;
* Cancels given tasks sessions.
*/
@GridInternal
-public class VisorComputeCancelSessionsTask extends VisorMultiNodeTask<Map<UUID, Set<IgniteUuid>>, Void, Void> {
+public class VisorComputeCancelSessionsTask extends VisorMultiNodeTask<VisorComputeCancelSessionsTaskArg, Void, Void> {
/** */
private static final long serialVersionUID = 0L;
/** {@inheritDoc} */
- @Override protected VisorComputeCancelSessionsJob job(Map<UUID, Set<IgniteUuid>> arg) {
+ @Override protected VisorComputeCancelSessionsJob job(VisorComputeCancelSessionsTaskArg arg) {
return new VisorComputeCancelSessionsJob(arg, debug);
}
@@ -53,7 +52,7 @@ public class VisorComputeCancelSessionsTask extends VisorMultiNodeTask<Map<UUID,
/**
* Job that cancel tasks.
*/
- private static class VisorComputeCancelSessionsJob extends VisorJob<Map<UUID, Set<IgniteUuid>>, Void> {
+ private static class VisorComputeCancelSessionsJob extends VisorJob<VisorComputeCancelSessionsTaskArg, Void> {
/** */
private static final long serialVersionUID = 0L;
@@ -61,13 +60,13 @@ public class VisorComputeCancelSessionsTask extends VisorMultiNodeTask<Map<UUID,
* @param arg Map with task sessions IDs to cancel.
* @param debug Debug flag.
*/
- private VisorComputeCancelSessionsJob(Map<UUID, Set<IgniteUuid>> arg, boolean debug) {
+ private VisorComputeCancelSessionsJob(VisorComputeCancelSessionsTaskArg arg, boolean debug) {
super(arg, debug);
}
/** {@inheritDoc} */
- @Override protected Void run(Map<UUID, Set<IgniteUuid>> arg) {
- Set<IgniteUuid> sesIds = arg.get(ignite.localNode().id());
+ @Override protected Void run(VisorComputeCancelSessionsTaskArg arg) {
+ Set<IgniteUuid> sesIds = arg.getSessionIds().get(ignite.localNode().id());
if (sesIds != null && !sesIds.isEmpty()) {
IgniteCompute compute = ignite.compute(ignite.cluster().forLocal());
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorComputeCancelSessionsTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorComputeCancelSessionsTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorComputeCancelSessionsTaskArg.java
new file mode 100644
index 0000000..28b7953
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorComputeCancelSessionsTaskArg.java
@@ -0,0 +1,76 @@
+/*
+ * 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.visor.compute;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.util.Map;
+import java.util.Set;
+import java.util.UUID;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+import org.apache.ignite.lang.IgniteUuid;
+
+/**
+ * Arguments for task {@link VisorComputeCancelSessionsTask}
+ */
+public class VisorComputeCancelSessionsTaskArg extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Session IDs to cancel. */
+ private Map<UUID, Set<IgniteUuid>> sesIds;
+
+ /**
+ * Default constructor.
+ */
+ public VisorComputeCancelSessionsTaskArg() {
+ // No-op.
+ }
+
+ /**
+ * @param sesIds Session IDs to cancel.
+ */
+ public VisorComputeCancelSessionsTaskArg(Map<UUID, Set<IgniteUuid>> sesIds) {
+ this.sesIds = sesIds;
+ }
+
+ /**
+ * @return Session IDs to cancel.
+ */
+ public Map<UUID, Set<IgniteUuid>> getSessionIds() {
+ return sesIds;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeMap(out, sesIds);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ sesIds = U.readMap(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorComputeCancelSessionsTaskArg.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorGatewayTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorGatewayTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorGatewayTask.java
index 658d6a1..f1fb79b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorGatewayTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorGatewayTask.java
@@ -63,6 +63,18 @@ public class VisorGatewayTask implements ComputeTask<Object[], Object> {
/** */
private static final int JOB_ARG_IDX = 3;
+ /** Array with additional length in arguments for specific nested types */
+ private static final Map<Class, Integer> TYPE_ARG_LENGTH = new HashMap<>(4);
+
+ static {
+ TYPE_ARG_LENGTH.put(Collection.class, 2);
+ TYPE_ARG_LENGTH.put(Set.class, 2);
+ TYPE_ARG_LENGTH.put(List.class, 2);
+ TYPE_ARG_LENGTH.put(Map.class, 3);
+ TYPE_ARG_LENGTH.put(IgniteBiTuple.class, 4);
+ TYPE_ARG_LENGTH.put(GridTuple3.class, 6);
+ }
+
/** Auto-injected grid instance. */
@IgniteInstanceResource
protected transient IgniteEx ignite;
@@ -140,16 +152,19 @@ public class VisorGatewayTask implements ComputeTask<Object[], Object> {
* Construct job argument.
*
* @param cls Class.
+ * @param startIdx Index of first value argument.
*/
- @Nullable private Object toJobArgument(Class cls) throws ClassNotFoundException {
- String arg = argument(JOB_ARG_IDX);
+ @Nullable private Object toJobArgument(Class cls, int startIdx) throws ClassNotFoundException {
+ String arg = argument(startIdx);
- if (cls == Collection.class || cls == Set.class) {
+ boolean isList = cls == Collection.class || cls == List.class;
+
+ if (isList || cls == Set.class) {
Class<?> itemsCls = Class.forName(arg);
- Collection<Object> res = cls == Collection.class ? new ArrayList<>() : new HashSet<>();
+ Collection<Object> res = isList ? new ArrayList<>() : new HashSet<>();
- String items = argument(JOB_ARG_IDX + 1);
+ String items = argument(startIdx + 1);
if (items != null) {
for (String item : items.split(";"))
@@ -162,20 +177,20 @@ public class VisorGatewayTask implements ComputeTask<Object[], Object> {
if (cls == IgniteBiTuple.class) {
Class<?> keyCls = Class.forName(arg);
- String valClsName = argument(JOB_ARG_IDX + 1);
+ String valClsName = argument(startIdx + 1);
assert valClsName != null;
Class<?> valCls = Class.forName(valClsName);
- return new IgniteBiTuple<>(toObject(keyCls, (String)argument(JOB_ARG_IDX + 2)),
- toObject(valCls, (String)argument(JOB_ARG_IDX + 3)));
+ return new IgniteBiTuple<>(toObject(keyCls, (String)argument(startIdx + 2)),
+ toObject(valCls, (String)argument(startIdx + 3)));
}
if (cls == Map.class) {
Class<?> keyCls = Class.forName(arg);
- String valClsName = argument(JOB_ARG_IDX + 1);
+ String valClsName = argument(startIdx + 1);
assert valClsName != null;
@@ -183,7 +198,7 @@ public class VisorGatewayTask implements ComputeTask<Object[], Object> {
Map<Object, Object> res = new HashMap<>();
- String entries = argument(JOB_ARG_IDX + 2);
+ String entries = argument(startIdx + 2);
if (entries != null) {
for (String entry : entries.split(";")) {
@@ -202,8 +217,8 @@ public class VisorGatewayTask implements ComputeTask<Object[], Object> {
}
if (cls == GridTuple3.class) {
- String v2ClsName = argument(JOB_ARG_IDX + 1);
- String v3ClsName = argument(JOB_ARG_IDX + 2);
+ String v2ClsName = argument(startIdx + 1);
+ String v3ClsName = argument(startIdx + 2);
assert v2ClsName != null;
assert v3ClsName != null;
@@ -212,8 +227,8 @@ public class VisorGatewayTask implements ComputeTask<Object[], Object> {
Class<?> v2Cls = Class.forName(v2ClsName);
Class<?> v3Cls = Class.forName(v3ClsName);
- return new GridTuple3<>(toObject(v1Cls, (String)argument(JOB_ARG_IDX + 3)), toObject(v2Cls,
- (String)argument(JOB_ARG_IDX + 4)), toObject(v3Cls, (String)argument(JOB_ARG_IDX + 5)));
+ return new GridTuple3<>(toObject(v1Cls, (String)argument(startIdx + 3)), toObject(v2Cls,
+ (String)argument(startIdx + 4)), toObject(v3Cls, (String)argument(startIdx + 5)));
}
return toObject(cls, arg);
@@ -299,6 +314,17 @@ public class VisorGatewayTask implements ComputeTask<Object[], Object> {
IgniteUuid.class == cls || IgniteBiTuple.class == cls || GridTuple3.class == cls;
}
+ /**
+ * Extract Class object from arguments.
+ *
+ * @param idx Index of argument.
+ */
+ private Class toClass(int idx) throws ClassNotFoundException {
+ Object arg = argument(idx); // Workaround generics: extract argument as Object to use in String.valueOf().
+
+ return Class.forName(String.valueOf(arg));
+ }
+
/** {@inheritDoc} */
@SuppressWarnings("unchecked")
@Override public Object execute() throws IgniteException {
@@ -321,20 +347,41 @@ public class VisorGatewayTask implements ComputeTask<Object[], Object> {
if (argCls == Void.class)
jobArgs = null;
else if (isBuildInObject(argCls))
- jobArgs = toJobArgument(argCls);
+ jobArgs = toJobArgument(argCls, JOB_ARG_IDX);
else {
int beanArgsCnt = argsCnt - JOB_ARG_IDX;
for (Constructor ctor : argCls.getDeclaredConstructors()) {
Class[] types = ctor.getParameterTypes();
- if (types.length == beanArgsCnt) {
- Object[] initArgs = new Object[beanArgsCnt];
+ int args = types.length;
+
+ // Length of arguments that required to constructor by influence of nested complex objects.
+ int needArgs = args;
+
+ for (Class type: types)
+ // When constructor required specified types increase length of required arguments.
+ if (TYPE_ARG_LENGTH.containsKey(type))
+ needArgs += TYPE_ARG_LENGTH.get(type);
+
+ if (needArgs == beanArgsCnt) {
+ Object[] initArgs = new Object[args];
+
+ for (int i = 0, ctrIdx = 0; i < beanArgsCnt; i++, ctrIdx++) {
+ Class type = types[ctrIdx];
+
+ // Parse nested complex objects from arguments for specified types.
+ if (TYPE_ARG_LENGTH.containsKey(type)) {
+ initArgs[ctrIdx] = toJobArgument(toClass(JOB_ARG_IDX + i), JOB_ARG_IDX + 1 + i);
- for (int i = 0; i < beanArgsCnt; i++) {
- String val = argument(i + JOB_ARG_IDX);
+ i += TYPE_ARG_LENGTH.get(type);
+ }
+ // In common case convert value to object.
+ else {
+ String val = argument(JOB_ARG_IDX + i);
- initArgs[i] = toObject(types[i], val);
+ initArgs[ctrIdx] = toObject(type, val);
+ }
}
jobArgs = ctor.newInstance(initArgs);
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/debug/VisorThreadInfo.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/debug/VisorThreadInfo.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/debug/VisorThreadInfo.java
index 3db4074..f48e6c1 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/debug/VisorThreadInfo.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/debug/VisorThreadInfo.java
@@ -42,7 +42,7 @@ public class VisorThreadInfo extends VisorDataTransferObject {
private String name;
/** Thread ID. */
- private Long id;
+ private long id;
/** Thread state. */
private Thread.State state;
@@ -54,28 +54,28 @@ public class VisorThreadInfo extends VisorDataTransferObject {
private String lockName;
/** Lock owner thread ID. */
- private Long lockOwnerId;
+ private long lockOwnerId;
/** Lock owner name. */
private String lockOwnerName;
/** Thread executing native code. */
- private Boolean inNative;
+ private boolean inNative;
/** Thread is suspended. */
- private Boolean suspended;
+ private boolean suspended;
/** Waited count. */
- private Long waitedCnt;
+ private long waitedCnt;
/** Waited time. */
- private Long waitedTime;
+ private long waitedTime;
/** Blocked count. */
- private Long blockedCnt;
+ private long blockedCnt;
/** Blocked time. */
- private Long blockedTime;
+ private long blockedTime;
/** Stack trace. */
private List<StackTraceElement> stackTrace;
@@ -141,7 +141,7 @@ public class VisorThreadInfo extends VisorDataTransferObject {
/**
* @return Thread ID.
*/
- public Long getId() {
+ public long getId() {
return id;
}
@@ -169,7 +169,7 @@ public class VisorThreadInfo extends VisorDataTransferObject {
/**
* @return Lock owner thread ID.
*/
- public Long getLockOwnerId() {
+ public long getLockOwnerId() {
return lockOwnerId;
}
@@ -183,42 +183,42 @@ public class VisorThreadInfo extends VisorDataTransferObject {
/**
* @return Thread executing native code.
*/
- public Boolean isInNative() {
+ public boolean isInNative() {
return inNative;
}
/**
* @return Thread is suspended.
*/
- public Boolean isSuspended() {
+ public boolean isSuspended() {
return suspended;
}
/**
* @return Waited count.
*/
- public Long getWaitedCount() {
+ public long getWaitedCount() {
return waitedCnt;
}
/**
* @return Waited time.
*/
- public Long getWaitedTime() {
+ public long getWaitedTime() {
return waitedTime;
}
/**
* @return Blocked count.
*/
- public Long getBlockedCount() {
+ public long getBlockedCount() {
return blockedCnt;
}
/**
* @return Blocked time.
*/
- public Long getBlockedTime() {
+ public long getBlockedTime() {
return blockedTime;
}
@@ -246,18 +246,18 @@ public class VisorThreadInfo extends VisorDataTransferObject {
/** {@inheritDoc} */
@Override protected void writeExternalData(ObjectOutput out) throws IOException {
U.writeString(out, name);
- out.writeObject(id);
+ out.writeLong(id);
U.writeString(out, state.toString());
out.writeObject(lock);
U.writeString(out, lockName);
- out.writeObject(lockOwnerId);
+ out.writeLong(lockOwnerId);
U.writeString(out, lockOwnerName);
- out.writeObject(inNative);
- out.writeObject(suspended);
- out.writeObject(waitedCnt);
- out.writeObject(waitedTime);
- out.writeObject(blockedCnt);
- out.writeObject(blockedTime);
+ out.writeBoolean(inNative);
+ out.writeBoolean(suspended);
+ out.writeLong(waitedCnt);
+ out.writeLong(waitedTime);
+ out.writeLong(blockedCnt);
+ out.writeLong(blockedTime);
U.writeCollection(out, stackTrace);
U.writeCollection(out, locks);
U.writeCollection(out, lockedMonitors);
@@ -266,7 +266,7 @@ public class VisorThreadInfo extends VisorDataTransferObject {
/** {@inheritDoc} */
@Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
name = U.readString(in);
- id = (Long)in.readObject();
+ id = in.readLong();
String statePresentation = U.readString(in);
@@ -275,14 +275,14 @@ public class VisorThreadInfo extends VisorDataTransferObject {
lock = (VisorThreadLockInfo)in.readObject();
lockName = U.readString(in);
- lockOwnerId = (Long)in.readObject();
+ lockOwnerId = in.readLong();
lockOwnerName = U.readString(in);
- inNative = (Boolean)in.readObject();
- suspended = (Boolean)in.readObject();
- waitedCnt = (Long)in.readObject();
- waitedTime = (Long)in.readObject();
- blockedCnt = (Long)in.readObject();
- blockedTime = (Long)in.readObject();
+ inNative = in.readBoolean();
+ suspended = in.readBoolean();
+ waitedCnt = in.readLong();
+ waitedTime = in.readLong();
+ blockedCnt = in.readLong();
+ blockedTime = in.readLong();
stackTrace = U.readList(in);
locks = U.readList(in);
lockedMonitors = U.readList(in);
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/debug/VisorThreadMonitorInfo.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/debug/VisorThreadMonitorInfo.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/debug/VisorThreadMonitorInfo.java
index 11e1141..e6171ed 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/debug/VisorThreadMonitorInfo.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/debug/VisorThreadMonitorInfo.java
@@ -33,7 +33,7 @@ public class VisorThreadMonitorInfo extends VisorThreadLockInfo {
private static final long serialVersionUID = 0L;
/** Stack depth. */
- private Integer stackDepth;
+ private int stackDepth;
/** Stack frame. */
private StackTraceElement stackFrame;
@@ -60,7 +60,7 @@ public class VisorThreadMonitorInfo extends VisorThreadLockInfo {
/**
* @return Stack depth.
*/
- public Integer getStackDepth() {
+ public int getStackDepth() {
return stackDepth;
}
@@ -83,7 +83,7 @@ public class VisorThreadMonitorInfo extends VisorThreadLockInfo {
super.writeExternalData(dtout);
}
- out.writeObject(stackDepth);
+ out.writeInt(stackDepth);
out.writeObject(stackFrame);
}
@@ -93,7 +93,7 @@ public class VisorThreadMonitorInfo extends VisorThreadLockInfo {
super.readExternalData(dtin.readByte(), dtin);
}
- stackDepth = (Integer)in.readObject();
+ stackDepth = in.readInt();
stackFrame = (StackTraceElement)in.readObject();
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/file/VisorFileBlockArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/file/VisorFileBlockArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/file/VisorFileBlockArg.java
deleted file mode 100644
index babb630..0000000
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/file/VisorFileBlockArg.java
+++ /dev/null
@@ -1,114 +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.visor.file;
-
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import org.apache.ignite.internal.util.typedef.internal.S;
-import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.internal.visor.VisorDataTransferObject;
-
-/**
- * Arguments for {@link VisorFileBlockTask}
- */
-public class VisorFileBlockArg extends VisorDataTransferObject {
- /** */
- private static final long serialVersionUID = 0L;
-
- /** Log file path. */
- private String path;
-
- /** Log file offset. */
- private long off;
-
- /** Block size. */
- private int blockSz;
-
- /** Log file last modified timestamp. */
- private long lastModified;
-
- /**
- * Default constructor.
- */
- public VisorFileBlockArg() {
- // No-op.
- }
-
- /**
- * @param path Log file path.
- * @param off Offset in file.
- * @param blockSz Block size.
- * @param lastModified Log file last modified timestamp.
- */
- public VisorFileBlockArg(String path, long off, int blockSz, long lastModified) {
- this.path = path;
- this.off = off;
- this.blockSz = blockSz;
- this.lastModified = lastModified;
- }
-
- /**
- * @return Log file path.
- */
- public String getPath() {
- return path;
- }
-
- /**
- * @return Log file offset.
- */
- public long getOffset() {
- return off;
- }
-
- /**
- * @return Block size
- */
- public int getBlockSize() {
- return blockSz;
- }
-
- /**
- * @return Log file last modified timestamp.
- */
- public long getLastModified() {
- return lastModified;
- }
-
- /** {@inheritDoc} */
- @Override protected void writeExternalData(ObjectOutput out) throws IOException {
- U.writeString(out, path);
- out.writeLong(off);
- out.writeInt(blockSz);
- out.writeLong(lastModified);
- }
-
- /** {@inheritDoc} */
- @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
- path = U.readString(in);
- off = in.readLong();
- blockSz = in.readInt();
- lastModified = in.readLong();
- }
-
- /** {@inheritDoc} */
- @Override public String toString() {
- return S.toString(VisorFileBlockArg.class, this);
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsFormatTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsFormatTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsFormatTask.java
index 3a9f683..0a75416 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsFormatTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsFormatTask.java
@@ -27,19 +27,19 @@ import org.apache.ignite.internal.visor.VisorOneNodeTask;
* Format IGFS instance.
*/
@GridInternal
-public class VisorIgfsFormatTask extends VisorOneNodeTask<String, Void> {
+public class VisorIgfsFormatTask extends VisorOneNodeTask<VisorIgfsFormatTaskArg, Void> {
/** */
private static final long serialVersionUID = 0L;
/** {@inheritDoc} */
- @Override protected VisorIgfsFormatJob job(String arg) {
+ @Override protected VisorIgfsFormatJob job(VisorIgfsFormatTaskArg arg) {
return new VisorIgfsFormatJob(arg, debug);
}
/**
* Job that format IGFS.
*/
- private static class VisorIgfsFormatJob extends VisorJob<String, Void> {
+ private static class VisorIgfsFormatJob extends VisorJob<VisorIgfsFormatTaskArg, Void> {
/** */
private static final long serialVersionUID = 0L;
@@ -47,17 +47,17 @@ public class VisorIgfsFormatTask extends VisorOneNodeTask<String, Void> {
* @param arg IGFS name to format.
* @param debug Debug flag.
*/
- private VisorIgfsFormatJob(String arg, boolean debug) {
+ private VisorIgfsFormatJob(VisorIgfsFormatTaskArg arg, boolean debug) {
super(arg, debug);
}
/** {@inheritDoc} */
- @Override protected Void run(String igfsName) {
+ @Override protected Void run(VisorIgfsFormatTaskArg arg) {
try {
- ignite.fileSystem(igfsName).clear();
+ ignite.fileSystem(arg.getIgfsName()).clear();
}
catch (IllegalArgumentException iae) {
- throw new IgniteException("Failed to format IGFS: " + igfsName, iae);
+ throw new IgniteException("Failed to format IGFS: " + arg.getIgfsName(), iae);
}
return null;
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsFormatTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsFormatTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsFormatTaskArg.java
new file mode 100644
index 0000000..b8450cf
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsFormatTaskArg.java
@@ -0,0 +1,72 @@
+/*
+ * 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.visor.igfs;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+
+/**
+ * Argument for {@link VisorIgfsFormatTask}.
+ */
+public class VisorIgfsFormatTaskArg extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** IGFS name. */
+ private String igfsName;
+
+ /**
+ * Default constructor.
+ */
+ public VisorIgfsFormatTaskArg() {
+ // No-op.
+ }
+
+ /**
+ * @param igfsName IGFS name.
+ */
+ public VisorIgfsFormatTaskArg(String igfsName) {
+ this.igfsName = igfsName;
+ }
+
+ /**
+ * @return IGFS name.
+ */
+ public String getIgfsName() {
+ return igfsName;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeString(out, igfsName);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ igfsName = U.readString(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorIgfsFormatTaskArg.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerClearTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerClearTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerClearTask.java
index b8bfe9e..c730840 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerClearTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerClearTask.java
@@ -39,14 +39,19 @@ import static org.apache.ignite.internal.visor.util.VisorTaskUtils.resolveIgfsPr
* Remove all IGFS profiler logs.
*/
@GridInternal
-public class VisorIgfsProfilerClearTask extends VisorOneNodeTask<String, VisorIgfsProfilerClearTaskResult> {
+public class VisorIgfsProfilerClearTask extends VisorOneNodeTask<VisorIgfsProfilerClearTaskArg, VisorIgfsProfilerClearTaskResult> {
/** */
private static final long serialVersionUID = 0L;
+ /** {@inheritDoc} */
+ @Override protected VisorIgfsProfilerClearJob job(VisorIgfsProfilerClearTaskArg arg) {
+ return new VisorIgfsProfilerClearJob(arg, debug);
+ }
+
/**
* Job to clear profiler logs.
*/
- private static class VisorIgfsProfilerClearJob extends VisorJob<String, VisorIgfsProfilerClearTaskResult> {
+ private static class VisorIgfsProfilerClearJob extends VisorJob<VisorIgfsProfilerClearTaskArg, VisorIgfsProfilerClearTaskResult> {
/** */
private static final long serialVersionUID = 0L;
@@ -56,23 +61,23 @@ public class VisorIgfsProfilerClearTask extends VisorOneNodeTask<String, VisorIg
* @param arg Job argument.
* @param debug Debug flag.
*/
- private VisorIgfsProfilerClearJob(String arg, boolean debug) {
+ private VisorIgfsProfilerClearJob(VisorIgfsProfilerClearTaskArg arg, boolean debug) {
super(arg, debug);
}
/** {@inheritDoc} */
- @Override protected VisorIgfsProfilerClearTaskResult run(String arg) {
+ @Override protected VisorIgfsProfilerClearTaskResult run(VisorIgfsProfilerClearTaskArg arg) {
int deleted = 0;
int notDeleted = 0;
try {
- IgniteFileSystem igfs = ignite.fileSystem(arg);
+ IgniteFileSystem igfs = ignite.fileSystem(arg.getIgfsName());
Path logsDir = resolveIgfsProfilerLogsDir(igfs);
if (logsDir != null) {
PathMatcher matcher = FileSystems.getDefault().getPathMatcher(
- "glob:igfs-log-" + arg + "-*.csv");
+ "glob:igfs-log-" + arg.getIgfsName() + "-*.csv");
try (DirectoryStream<Path> dirStream = Files.newDirectoryStream(logsDir)) {
for (Path p : dirStream) {
@@ -99,7 +104,7 @@ public class VisorIgfsProfilerClearTask extends VisorOneNodeTask<String, VisorIg
}
}
catch (IOException | IllegalArgumentException e) {
- throw new IgniteException("Failed to clear profiler logs for IGFS: " + arg, e);
+ throw new IgniteException("Failed to clear profiler logs for IGFS: " + arg.getIgfsName(), e);
}
catch (IgniteCheckedException e) {
throw U.convertException(e);
@@ -113,9 +118,4 @@ public class VisorIgfsProfilerClearTask extends VisorOneNodeTask<String, VisorIg
return S.toString(VisorIgfsProfilerClearJob.class, this);
}
}
-
- /** {@inheritDoc} */
- @Override protected VisorIgfsProfilerClearJob job(String arg) {
- return new VisorIgfsProfilerClearJob(arg, debug);
- }
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerClearTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerClearTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerClearTaskArg.java
new file mode 100644
index 0000000..1afbb1c
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerClearTaskArg.java
@@ -0,0 +1,72 @@
+/*
+ * 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.visor.igfs;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+
+/**
+ * Argument for {@link VisorIgfsProfilerClearTask}.
+ */
+public class VisorIgfsProfilerClearTaskArg extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** IGFS name. */
+ private String igfsName;
+
+ /**
+ * Default constructor.
+ */
+ public VisorIgfsProfilerClearTaskArg() {
+ // No-op.
+ }
+
+ /**
+ * @param igfsName IGFS name.
+ */
+ public VisorIgfsProfilerClearTaskArg(String igfsName) {
+ this.igfsName = igfsName;
+ }
+
+ /**
+ * @return IGFS name.
+ */
+ public String getIgfsName() {
+ return igfsName;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeString(out, igfsName);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ igfsName = U.readString(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorIgfsProfilerClearTaskArg.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerClearTaskResult.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerClearTaskResult.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerClearTaskResult.java
index 4eafe53..4e22f37 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerClearTaskResult.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerClearTaskResult.java
@@ -31,10 +31,10 @@ public class VisorIgfsProfilerClearTaskResult extends VisorDataTransferObject {
private static final long serialVersionUID = 0L;
/** Count of deleted files. */
- private Integer deleted;
+ private int deleted;
/** Count of not deleted files. */
- private Integer notDeleted;
+ private int notDeleted;
/**
* Default constructor.
@@ -47,7 +47,7 @@ public class VisorIgfsProfilerClearTaskResult extends VisorDataTransferObject {
* @param deleted Count of deleted files.
* @param notDeleted Count of not deleted files.
*/
- public VisorIgfsProfilerClearTaskResult(Integer deleted, Integer notDeleted) {
+ public VisorIgfsProfilerClearTaskResult(int deleted, int notDeleted) {
this.deleted = deleted;
this.notDeleted = notDeleted;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerTask.java
index 956458c..935a3da 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerTask.java
@@ -56,7 +56,7 @@ import static org.apache.ignite.internal.visor.util.VisorTaskUtils.resolveIgfsPr
* Task that parse hadoop profiler logs.
*/
@GridInternal
-public class VisorIgfsProfilerTask extends VisorOneNodeTask<String, List<VisorIgfsProfilerEntry>> {
+public class VisorIgfsProfilerTask extends VisorOneNodeTask<VisorIgfsProfilerTaskArg, List<VisorIgfsProfilerEntry>> {
/** */
private static final long serialVersionUID = 0L;
@@ -140,14 +140,14 @@ public class VisorIgfsProfilerTask extends VisorOneNodeTask<String, List<VisorIg
};
/** {@inheritDoc} */
- @Override protected VisorIgfsProfilerJob job(String arg) {
+ @Override protected VisorIgfsProfilerJob job(VisorIgfsProfilerTaskArg arg) {
return new VisorIgfsProfilerJob(arg, debug);
}
/**
* Job that do actual profiler work.
*/
- private static class VisorIgfsProfilerJob extends VisorJob<String, List<VisorIgfsProfilerEntry>> {
+ private static class VisorIgfsProfilerJob extends VisorJob<VisorIgfsProfilerTaskArg, List<VisorIgfsProfilerEntry>> {
/** */
private static final long serialVersionUID = 0L;
@@ -196,22 +196,24 @@ public class VisorIgfsProfilerTask extends VisorOneNodeTask<String, List<VisorIg
* @param arg IGFS name.
* @param debug Debug flag.
*/
- private VisorIgfsProfilerJob(String arg, boolean debug) {
+ private VisorIgfsProfilerJob(VisorIgfsProfilerTaskArg arg, boolean debug) {
super(arg, debug);
}
/** {@inheritDoc} */
- @Override protected List<VisorIgfsProfilerEntry> run(String arg) {
+ @Override protected List<VisorIgfsProfilerEntry> run(VisorIgfsProfilerTaskArg arg) {
+ String name = arg.getIgfsName();
+
try {
- Path logsDir = resolveIgfsProfilerLogsDir(ignite.fileSystem(arg));
+ Path logsDir = resolveIgfsProfilerLogsDir(ignite.fileSystem(name));
if (logsDir != null)
- return parse(logsDir, arg);
+ return parse(logsDir, name);
return Collections.emptyList();
}
catch (IOException | IllegalArgumentException e) {
- throw new IgniteException("Failed to parse profiler logs for IGFS: " + arg, e);
+ throw new IgniteException("Failed to parse profiler logs for IGFS: " + name, e);
}
catch (IgniteCheckedException e) {
throw U.convertException(e);
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerTaskArg.java
new file mode 100644
index 0000000..7fe9935
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsProfilerTaskArg.java
@@ -0,0 +1,72 @@
+/*
+ * 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.visor.igfs;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+
+/**
+ * Argument for {@link VisorIgfsProfilerTask}.
+ */
+public class VisorIgfsProfilerTaskArg extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** IGFS name. */
+ private String igfsName;
+
+ /**
+ * Default constructor.
+ */
+ public VisorIgfsProfilerTaskArg() {
+ // No-op.
+ }
+
+ /**
+ * @param igfsName IGFS name.
+ */
+ public VisorIgfsProfilerTaskArg(String igfsName) {
+ this.igfsName = igfsName;
+ }
+
+ /**
+ * @return IGFS name.
+ */
+ public String getIgfsName() {
+ return igfsName;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeString(out, igfsName);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ igfsName = U.readString(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorIgfsProfilerTaskArg.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsResetMetricsTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsResetMetricsTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsResetMetricsTask.java
index b10cce3..ee90edf 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsResetMetricsTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsResetMetricsTask.java
@@ -17,7 +17,6 @@
package org.apache.ignite.internal.visor.igfs;
-import java.util.Set;
import org.apache.ignite.IgniteException;
import org.apache.ignite.internal.processors.task.GridInternal;
import org.apache.ignite.internal.util.typedef.internal.S;
@@ -28,19 +27,19 @@ import org.apache.ignite.internal.visor.VisorOneNodeTask;
* Resets IGFS metrics.
*/
@GridInternal
-public class VisorIgfsResetMetricsTask extends VisorOneNodeTask<Set<String>, Void> {
+public class VisorIgfsResetMetricsTask extends VisorOneNodeTask<VisorIgfsResetMetricsTaskArg, Void> {
/** */
private static final long serialVersionUID = 0L;
/** {@inheritDoc} */
- @Override protected VisorIgfsResetMetricsJob job(Set<String> arg) {
+ @Override protected VisorIgfsResetMetricsJob job(VisorIgfsResetMetricsTaskArg arg) {
return new VisorIgfsResetMetricsJob(arg, debug);
}
/**
* Job that reset IGFS metrics.
*/
- private static class VisorIgfsResetMetricsJob extends VisorJob<Set<String>, Void> {
+ private static class VisorIgfsResetMetricsJob extends VisorJob<VisorIgfsResetMetricsTaskArg, Void> {
/** */
private static final long serialVersionUID = 0L;
@@ -48,13 +47,13 @@ public class VisorIgfsResetMetricsTask extends VisorOneNodeTask<Set<String>, Voi
* @param arg IGFS names.
* @param debug Debug flag.
*/
- private VisorIgfsResetMetricsJob(Set<String> arg, boolean debug) {
+ private VisorIgfsResetMetricsJob(VisorIgfsResetMetricsTaskArg arg, boolean debug) {
super(arg, debug);
}
/** {@inheritDoc} */
- @Override protected Void run(Set<String> igfsNames) {
- for (String igfsName : igfsNames)
+ @Override protected Void run(VisorIgfsResetMetricsTaskArg arg) {
+ for (String igfsName : arg.getIgfsNames())
try {
ignite.fileSystem(igfsName).resetMetrics();
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsResetMetricsTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsResetMetricsTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsResetMetricsTaskArg.java
new file mode 100644
index 0000000..033a05d
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/igfs/VisorIgfsResetMetricsTaskArg.java
@@ -0,0 +1,73 @@
+/*
+ * 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.visor.igfs;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.util.Set;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+
+/**
+ * Argument for {@link VisorIgfsResetMetricsTask}.
+ */
+public class VisorIgfsResetMetricsTaskArg extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** IGFS names. */
+ private Set<String> igfsNames;
+
+ /**
+ * Default constructor.
+ */
+ public VisorIgfsResetMetricsTaskArg() {
+ // No-op.
+ }
+
+ /**
+ * @param igfsNames IGFS names.
+ */
+ public VisorIgfsResetMetricsTaskArg(Set<String> igfsNames) {
+ this.igfsNames = igfsNames;
+ }
+
+ /**
+ * @return IGFS names.
+ */
+ public Set<String> getIgfsNames() {
+ return igfsNames;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeCollection(out, igfsNames);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ igfsNames = U.readSet(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorIgfsResetMetricsTaskArg.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/log/VisorLogSearchArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/log/VisorLogSearchArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/log/VisorLogSearchArg.java
deleted file mode 100644
index 2a6b79b..0000000
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/log/VisorLogSearchArg.java
+++ /dev/null
@@ -1,114 +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.visor.log;
-
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import org.apache.ignite.internal.util.typedef.internal.S;
-import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.internal.visor.VisorDataTransferObject;
-
-/**
- * Arguments for {@link VisorLogSearchTask}.
- */
-public class VisorLogSearchArg extends VisorDataTransferObject {
- /** */
- private static final long serialVersionUID = 0L;
-
- /** Searched string. */
- private String searchStr;
-
- /** Folder. */
- private String folder;
-
- /** File name search pattern. */
- private String filePtrn;
-
- /** Max number of results. */
- private int limit;
-
- /**
- * Default constructor.
- */
- public VisorLogSearchArg() {
- // No-op.
- }
-
- /**
- * @param searchStr Searched string.
- * @param folder Folder.
- * @param filePtrn File name search pattern.
- * @param limit Max number of results.
- */
- public VisorLogSearchArg(String searchStr, String folder, String filePtrn, int limit) {
- this.searchStr = searchStr;
- this.folder = folder;
- this.filePtrn = filePtrn;
- this.limit = limit;
- }
-
- /**
- * @return Searched string.
- */
- public String getSearchString() {
- return searchStr;
- }
-
- /**
- * @return Folder.
- */
- public String getFolder() {
- return folder;
- }
-
- /**
- * @return File name search pattern.
- */
- public String getFilePattern() {
- return filePtrn;
- }
-
- /**
- * @return Max number of results.
- */
- public int getLimit() {
- return limit;
- }
-
- /** {@inheritDoc} */
- @Override protected void writeExternalData(ObjectOutput out) throws IOException {
- U.writeString(out, searchStr);
- U.writeString(out, folder);
- U.writeString(out, filePtrn);
- out.writeInt(limit);
- }
-
- /** {@inheritDoc} */
- @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
- searchStr = U.readString(in);
- folder = U.readString(in);
- filePtrn = U.readString(in);
- limit = in.readInt();
- }
-
- /** {@inheritDoc} */
- @Override public String toString() {
- return S.toString(VisorLogSearchArg.class, this);
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorAckTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorAckTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorAckTask.java
index bad3f53..eaa036c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorAckTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorAckTask.java
@@ -29,12 +29,12 @@ import org.jetbrains.annotations.Nullable;
* Ack task to run on node.
*/
@GridInternal
-public class VisorAckTask extends VisorMultiNodeTask<String, Void, Void> {
+public class VisorAckTask extends VisorMultiNodeTask<VisorAckTaskArg, Void, Void> {
/** */
private static final long serialVersionUID = 0L;
/** {@inheritDoc} */
- @Override protected VisorAckJob job(String arg) {
+ @Override protected VisorAckJob job(VisorAckTaskArg arg) {
return new VisorAckJob(arg, debug);
}
@@ -46,7 +46,7 @@ public class VisorAckTask extends VisorMultiNodeTask<String, Void, Void> {
/**
* Ack job to run on node.
*/
- private static class VisorAckJob extends VisorJob<String, Void> {
+ private static class VisorAckJob extends VisorJob<VisorAckTaskArg, Void> {
/** */
private static final long serialVersionUID = 0L;
@@ -56,13 +56,13 @@ public class VisorAckTask extends VisorMultiNodeTask<String, Void, Void> {
* @param arg Message to ack in node console.
* @param debug Debug flag.
*/
- private VisorAckJob(String arg, boolean debug) {
+ private VisorAckJob(VisorAckTaskArg arg, boolean debug) {
super(arg, debug);
}
/** {@inheritDoc} */
- @Override protected Void run(String arg) {
- System.out.println("<visor>: ack: " + (arg == null ? ignite.localNode().id() : arg));
+ @Override protected Void run(VisorAckTaskArg arg) {
+ System.out.println("<visor>: ack: " + (arg.getMessage() == null ? ignite.localNode().id() : arg.getMessage()));
return null;
}
@@ -72,4 +72,4 @@ public class VisorAckTask extends VisorMultiNodeTask<String, Void, Void> {
return S.toString(VisorAckJob.class, this);
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorAckTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorAckTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorAckTaskArg.java
new file mode 100644
index 0000000..93c4aef
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorAckTaskArg.java
@@ -0,0 +1,72 @@
+/*
+ * 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.visor.misc;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+
+/**
+ * Arguments for {@link VisorAckTask}.
+ */
+public class VisorAckTaskArg extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Message to show. */
+ private String msg;
+
+ /**
+ * Default constructor.
+ */
+ public VisorAckTaskArg() {
+ // No-op.
+ }
+
+ /**
+ * @param msg Message to show.
+ */
+ public VisorAckTaskArg(String msg) {
+ this.msg = msg;
+ }
+
+ /**
+ * @return Cache name.
+ */
+ public String getMessage() {
+ return msg;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeString(out, msg);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ msg = U.readString(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorAckTaskArg.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorChangeGridActiveStateTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorChangeGridActiveStateTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorChangeGridActiveStateTask.java
index 08a0067..bde4d6c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorChangeGridActiveStateTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorChangeGridActiveStateTask.java
@@ -26,19 +26,19 @@ import org.apache.ignite.internal.visor.VisorOneNodeTask;
* Task for changing grid active state.
*/
@GridInternal
-public class VisorChangeGridActiveStateTask extends VisorOneNodeTask<Boolean, Void> {
+public class VisorChangeGridActiveStateTask extends VisorOneNodeTask<VisorChangeGridActiveStateTaskArg, Void> {
/** */
private static final long serialVersionUID = 0L;
/** {@inheritDoc} */
- @Override protected VisorChangeGridActiveStateJob job(Boolean arg) {
+ @Override protected VisorChangeGridActiveStateJob job(VisorChangeGridActiveStateTaskArg arg) {
return new VisorChangeGridActiveStateJob(arg, debug);
}
/**
* Job for changing grid active state.
*/
- private static class VisorChangeGridActiveStateJob extends VisorJob<Boolean, Void> {
+ private static class VisorChangeGridActiveStateJob extends VisorJob<VisorChangeGridActiveStateTaskArg, Void> {
/** */
private static final long serialVersionUID = 0L;
@@ -46,13 +46,13 @@ public class VisorChangeGridActiveStateTask extends VisorOneNodeTask<Boolean, Vo
* @param arg New state of grid.
* @param debug Debug flag.
*/
- private VisorChangeGridActiveStateJob(Boolean arg, boolean debug) {
+ private VisorChangeGridActiveStateJob(VisorChangeGridActiveStateTaskArg arg, boolean debug) {
super(arg, debug);
}
/** {@inheritDoc} */
- @Override protected Void run(Boolean arg) {
- ignite.active(arg);
+ @Override protected Void run(VisorChangeGridActiveStateTaskArg arg) {
+ ignite.active(arg.isActive());
return null;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorChangeGridActiveStateTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorChangeGridActiveStateTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorChangeGridActiveStateTaskArg.java
new file mode 100644
index 0000000..15e76fb
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorChangeGridActiveStateTaskArg.java
@@ -0,0 +1,71 @@
+/*
+ * 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.visor.misc;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+
+/**
+ * Argument for {@link VisorChangeGridActiveStateTask}.
+ */
+public class VisorChangeGridActiveStateTaskArg extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** If True start activation process. If False start deactivation process. */
+ private boolean active;
+
+ /**
+ * Default constructor.
+ */
+ public VisorChangeGridActiveStateTaskArg() {
+ // No-op.
+ }
+
+ /**
+ * @param active If True start activation process. If False start deactivation process.
+ */
+ public VisorChangeGridActiveStateTaskArg(boolean active) {
+ this.active = active;
+ }
+
+ /**
+ * @return If True start activation process. If False start deactivation process.
+ */
+ public boolean isActive() {
+ return active;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ out.writeBoolean(active);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ active = in.readBoolean();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorChangeGridActiveStateTaskArg.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorBasicConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorBasicConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorBasicConfiguration.java
index 0a3a8ea..56d000d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorBasicConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorBasicConfiguration.java
@@ -20,7 +20,6 @@ package org.apache.ignite.internal.visor.node;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
-import java.util.UUID;
import org.apache.ignite.configuration.DeploymentMode;
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.IgniteEx;
@@ -59,9 +58,6 @@ public class VisorBasicConfiguration extends VisorDataTransferObject {
/** Local host value used. */
private String locHost;
- /** Node id. */
- private UUID nodeId;
-
/** Marshaller used. */
private String marsh;
@@ -113,9 +109,54 @@ public class VisorBasicConfiguration extends VisorDataTransferObject {
/** Whether update checker is enabled. */
private boolean updateNtf;
+ /** Active on start flag. */
+ private boolean activeOnStart;
+
+ /** Address resolver. */
+ private String addrRslvr;
+
+ /** Flag indicating whether cache sanity check is enabled. */
+ private boolean cacheSanityCheckEnabled;
+
+ /** User's class loader. */
+ private String clsLdr;
+
+ /** Consistent globally unique node ID which survives node restarts. */
+ private String consistentId;
+
+ /** Failure detection timeout. */
+ private Long failureDetectionTimeout;
+
+ /** Ignite work folder. */
+ private String igniteWorkDir;
+
+ /** */
+ private boolean lateAffAssignment;
+
+ /** Marshal local jobs. */
+ private boolean marshLocJobs;
+
/** Full metrics enabled flag. */
private long metricsUpdateFreq;
+ /** Failure detection timeout for client nodes. */
+ private Long clientFailureDetectionTimeout;
+
+ /** Message send retries delay. */
+ private int sndRetryCnt;
+
+ /** Interval between message send retries. */
+ private long sndRetryDelay;
+
+ /** Base port number for time server. */
+ private int timeSrvPortBase;
+
+ /** Port number range for time server. */
+ private int timeSrvPortRange;
+
+ /** Utility cache pool keep alive time. */
+ private long utilityCacheKeepAliveTime;
+
/**
* Default constructor.
*/
@@ -133,7 +174,6 @@ public class VisorBasicConfiguration extends VisorDataTransferObject {
igniteInstanceName = c.getIgniteInstanceName();
ggHome = getProperty(IGNITE_HOME, c.getIgniteHome());
locHost = getProperty(IGNITE_LOCAL_HOST, c.getLocalHost());
- nodeId = ignite.localNode().id();
marsh = compactClass(c.getMarshaller());
deployMode = c.getDeploymentMode();
clientMode = c.isClientMode();
@@ -151,7 +191,22 @@ public class VisorBasicConfiguration extends VisorDataTransferObject {
quiet = boolValue(IGNITE_QUIET, true);
successFile = getProperty(IGNITE_SUCCESS_FILE);
updateNtf = boolValue(IGNITE_UPDATE_NOTIFIER, true);
+ activeOnStart = c.isActiveOnStart();
+ addrRslvr = compactClass(c.getAddressResolver());
+ cacheSanityCheckEnabled = c.isCacheSanityCheckEnabled();
+ clsLdr = compactClass(c.getClassLoader());
+ consistentId = String.valueOf(c.getConsistentId());
+ failureDetectionTimeout = c.getFailureDetectionTimeout();
+ igniteWorkDir = c.getWorkDirectory();
+ lateAffAssignment = c.isLateAffinityAssignment();
+ marshLocJobs = c.isMarshalLocalJobs();
metricsUpdateFreq = c.getMetricsUpdateFrequency();
+ clientFailureDetectionTimeout = c.getClientFailureDetectionTimeout();
+ sndRetryCnt = c.getNetworkSendRetryCount();
+ sndRetryDelay = c.getNetworkSendRetryDelay();
+ timeSrvPortBase = c.getTimeServerPortBase();
+ timeSrvPortRange = c.getTimeServerPortRange();
+ utilityCacheKeepAliveTime = c.getUtilityCacheKeepAliveTime();
}
/**
@@ -176,13 +231,6 @@ public class VisorBasicConfiguration extends VisorDataTransferObject {
}
/**
- * @return Node id.
- */
- public UUID getNodeId() {
- return nodeId;
- }
-
- /**
* @return Marshaller used.
*/
public String getMarshaller() {
@@ -302,18 +350,124 @@ public class VisorBasicConfiguration extends VisorDataTransferObject {
}
/**
+ * @return Active on start flag.
+ */
+ public boolean isActiveOnStart() {
+ return activeOnStart;
+ }
+
+ /**
+ * @return Class name of address resolver instance.
+ */
+ public String getAddressResolver() {
+ return addrRslvr;
+ }
+
+ /**
+ * @return Flag indicating whether cache sanity check is enabled.
+ */
+ public boolean isCacheSanityCheckEnabled() {
+ return cacheSanityCheckEnabled;
+ }
+
+ /**
+ * @return User's class loader.
+ */
+ public String getClassLoader() {
+ return clsLdr;
+ }
+
+ /**
+ * Gets consistent globally unique node ID which survives node restarts.
+ *
+ * @return Node consistent ID.a
+ */
+ public String getConsistentId() {
+ return consistentId;
+ }
+
+ /**
+ * @return Failure detection timeout in milliseconds.
+ */
+ public Long getFailureDetectionTimeout() {
+ return failureDetectionTimeout;
+ }
+
+ /**
+ * @return Ignite work directory.
+ */
+ public String getWorkDirectory() {
+ return igniteWorkDir;
+ }
+
+ /**
+ * @return Late affinity assignment flag.
+ */
+ public boolean isLateAffinityAssignment() {
+ return lateAffAssignment;
+ }
+
+ /**
+ * @return {@code True} if local jobs should be marshalled.
+ */
+ public boolean isMarshalLocalJobs() {
+ return marshLocJobs;
+ }
+
+ /**
* @return Job metrics update frequency in milliseconds.
*/
public long getMetricsUpdateFrequency() {
return metricsUpdateFreq;
}
+ /**
+ * @return Failure detection timeout for client nodes in milliseconds.
+ */
+ public Long getClientFailureDetectionTimeout() {
+ return clientFailureDetectionTimeout;
+ }
+
+ /**
+ * @return Message send retries count.
+ */
+ public int getNetworkSendRetryCount() {
+ return sndRetryCnt;
+ }
+
+ /**
+ * @return Interval between message send retries.
+ */
+ public long getNetworkSendRetryDelay() {
+ return sndRetryDelay;
+ }
+
+ /**
+ * @return Base UPD port number for grid time server.
+ */
+ public int getTimeServerPortBase() {
+ return timeSrvPortBase;
+ }
+
+ /**
+ * @return Number of ports to try before server initialization fails.
+ */
+ public int getTimeServerPortRange() {
+ return timeSrvPortRange;
+ }
+
+ /**
+ * @return Thread pool keep alive time (in milliseconds) to be used in grid for utility cache messages.
+ */
+ public long getUtilityCacheKeepAliveTime() {
+ return utilityCacheKeepAliveTime;
+ }
+
/** {@inheritDoc} */
@Override protected void writeExternalData(ObjectOutput out) throws IOException {
U.writeString(out, igniteInstanceName);
U.writeString(out, ggHome);
U.writeString(out, locHost);
- U.writeUuid(out, nodeId);
U.writeString(out, marsh);
U.writeEnum(out, deployMode);
out.writeObject(clientMode);
@@ -331,7 +485,22 @@ public class VisorBasicConfiguration extends VisorDataTransferObject {
out.writeBoolean(quiet);
U.writeString(out, successFile);
out.writeBoolean(updateNtf);
+ out.writeBoolean(activeOnStart);
+ U.writeString(out, addrRslvr);
+ out.writeBoolean(cacheSanityCheckEnabled);
+ U.writeString(out, clsLdr);
+ U.writeString(out, consistentId);
+ out.writeObject(failureDetectionTimeout);
+ U.writeString(out, igniteWorkDir);
+ out.writeBoolean(lateAffAssignment);
+ out.writeBoolean(marshLocJobs);
out.writeLong(metricsUpdateFreq);
+ out.writeObject(clientFailureDetectionTimeout);
+ out.writeInt(sndRetryCnt);
+ out.writeLong(sndRetryDelay);
+ out.writeInt(timeSrvPortBase);
+ out.writeInt(timeSrvPortRange);
+ out.writeLong(utilityCacheKeepAliveTime);
}
/** {@inheritDoc} */
@@ -339,7 +508,6 @@ public class VisorBasicConfiguration extends VisorDataTransferObject {
igniteInstanceName = U.readString(in);
ggHome = U.readString(in);
locHost = U.readString(in);
- nodeId = U.readUuid(in);
marsh = U.readString(in);
deployMode = DeploymentMode.fromOrdinal(in.readByte());
clientMode = (Boolean)in.readObject();
@@ -357,7 +525,22 @@ public class VisorBasicConfiguration extends VisorDataTransferObject {
quiet = in.readBoolean();
successFile = U.readString(in);
updateNtf = in.readBoolean();
+ activeOnStart = in.readBoolean();
+ addrRslvr = U.readString(in);
+ cacheSanityCheckEnabled = in.readBoolean();
+ clsLdr = U.readString(in);
+ consistentId = U.readString(in);
+ failureDetectionTimeout = (Long)in.readObject();
+ igniteWorkDir = U.readString(in);
+ lateAffAssignment = in.readBoolean();
+ marshLocJobs = in.readBoolean();
metricsUpdateFreq = in.readLong();
+ clientFailureDetectionTimeout = (Long)in.readObject();
+ sndRetryCnt = in.readInt();
+ sndRetryDelay = in.readLong();
+ timeSrvPortBase = in.readInt();
+ timeSrvPortRange = in.readInt();
+ utilityCacheKeepAliveTime = in.readLong();
}
/** {@inheritDoc} */
[4/4] ignite git commit: IGNITE-4988 Rework Visor task arguments.
Code cleanup for ignite-2.0.
Posted by ak...@apache.org.
IGNITE-4988 Rework Visor task arguments. Code cleanup for ignite-2.0.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/6a435b17
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/6a435b17
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/6a435b17
Branch: refs/heads/ignite-2.0
Commit: 6a435b17e23239d58c3410d405b61147ee152dd9
Parents: f4d233c
Author: Vasiliy Sisko <vs...@gridgain.com>
Authored: Thu Apr 27 11:02:42 2017 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Thu Apr 27 11:02:43 2017 +0700
----------------------------------------------------------------------
.../JettyRestProcessorAbstractSelfTest.java | 124 +++++++++--
.../configuration/DataPageEvictionMode.java | 17 +-
.../visor/binary/VisorBinaryMetadata.java | 8 +-
.../VisorBinaryMetadataCollectorTask.java | 16 +-
.../VisorBinaryMetadataCollectorTaskArg.java | 71 +++++++
.../VisorBinaryMetadataCollectorTaskResult.java | 4 +-
.../cache/VisorCacheAffinityConfiguration.java | 8 +-
.../visor/cache/VisorCacheClearTask.java | 19 +-
.../visor/cache/VisorCacheClearTaskArg.java | 72 +++++++
.../visor/cache/VisorCacheConfiguration.java | 149 +++++++++++++
.../VisorCacheConfigurationCollectorJob.java | 12 +-
.../VisorCacheConfigurationCollectorTask.java | 5 +-
...VisorCacheConfigurationCollectorTaskArg.java | 74 +++++++
.../visor/cache/VisorCacheLoadTask.java | 5 +-
.../visor/cache/VisorCacheLoadTaskArg.java | 2 +-
.../visor/cache/VisorCacheMetadataTask.java | 14 +-
.../visor/cache/VisorCacheMetadataTaskArg.java | 72 +++++++
.../visor/cache/VisorCacheNodesTask.java | 12 +-
.../visor/cache/VisorCacheNodesTaskArg.java | 72 +++++++
.../cache/VisorCacheRebalanceConfiguration.java | 26 +++
.../visor/cache/VisorCacheRebalanceTask.java | 13 +-
.../visor/cache/VisorCacheRebalanceTaskArg.java | 73 +++++++
.../visor/cache/VisorCacheResetMetricsTask.java | 14 +-
.../cache/VisorCacheResetMetricsTaskArg.java | 72 +++++++
.../visor/cache/VisorCacheStartArg.java | 100 ---------
.../visor/cache/VisorCacheStopTask.java | 17 +-
.../visor/cache/VisorCacheStopTaskArg.java | 72 +++++++
.../cache/VisorCacheStoreConfiguration.java | 14 ++
.../internal/visor/cache/VisorPartitionMap.java | 24 ++-
.../compute/VisorComputeCancelSessionsTask.java | 13 +-
.../VisorComputeCancelSessionsTaskArg.java | 76 +++++++
.../visor/compute/VisorGatewayTask.java | 87 ++++++--
.../internal/visor/debug/VisorThreadInfo.java | 64 +++---
.../visor/debug/VisorThreadMonitorInfo.java | 8 +-
.../internal/visor/file/VisorFileBlockArg.java | 114 ----------
.../visor/igfs/VisorIgfsFormatTask.java | 14 +-
.../visor/igfs/VisorIgfsFormatTaskArg.java | 72 +++++++
.../visor/igfs/VisorIgfsProfilerClearTask.java | 24 +--
.../igfs/VisorIgfsProfilerClearTaskArg.java | 72 +++++++
.../igfs/VisorIgfsProfilerClearTaskResult.java | 6 +-
.../visor/igfs/VisorIgfsProfilerTask.java | 18 +-
.../visor/igfs/VisorIgfsProfilerTaskArg.java | 72 +++++++
.../visor/igfs/VisorIgfsResetMetricsTask.java | 13 +-
.../igfs/VisorIgfsResetMetricsTaskArg.java | 73 +++++++
.../internal/visor/log/VisorLogSearchArg.java | 114 ----------
.../internal/visor/misc/VisorAckTask.java | 14 +-
.../internal/visor/misc/VisorAckTaskArg.java | 72 +++++++
.../misc/VisorChangeGridActiveStateTask.java | 12 +-
.../misc/VisorChangeGridActiveStateTaskArg.java | 71 +++++++
.../visor/node/VisorBasicConfiguration.java | 211 +++++++++++++++++--
.../visor/node/VisorBinaryConfiguration.java | 131 ++++++++++++
.../node/VisorBinaryTypeConfiguration.java | 150 +++++++++++++
.../visor/node/VisorCacheKeyConfiguration.java | 108 ++++++++++
.../visor/node/VisorExecutorConfiguration.java | 108 ++++++++++
.../node/VisorExecutorServiceConfiguration.java | 115 ++++++++++
.../visor/node/VisorGridConfiguration.java | 110 ++++++++++
.../visor/node/VisorHadoopConfiguration.java | 145 +++++++++++++
.../visor/node/VisorIgfsConfiguration.java | 42 +++-
.../node/VisorMemoryPolicyConfiguration.java | 41 ++++
.../internal/visor/node/VisorNodePingTask.java | 13 +-
.../visor/node/VisorNodePingTaskArg.java | 73 +++++++
.../visor/node/VisorNodeSuppressedErrors.java | 6 +-
.../node/VisorNodeSuppressedErrorsTask.java | 12 +-
.../node/VisorNodeSuppressedErrorsTaskArg.java | 74 +++++++
.../visor/node/VisorOdbcConfiguration.java | 114 ++++++++++
.../visor/node/VisorRestConfiguration.java | 207 +++++++++++++++++-
.../node/VisorSegmentationConfiguration.java | 13 ++
.../visor/node/VisorServiceConfiguration.java | 176 ++++++++++++++++
.../internal/visor/query/VisorQueryArg.java | 155 --------------
.../visor/query/VisorQueryCancelTask.java | 12 +-
.../visor/query/VisorQueryCancelTaskArg.java | 71 +++++++
.../visor/query/VisorQueryCleanupTask.java | 10 +-
.../visor/query/VisorQueryCleanupTaskArg.java | 75 +++++++
.../VisorQueryDetailMetricsCollectorTask.java | 17 +-
...VisorQueryDetailMetricsCollectorTaskArg.java | 71 +++++++
.../query/VisorQueryResetDetailMetricsTask.java | 6 +-
.../visor/query/VisorQueryResetMetricsTask.java | 18 +-
.../query/VisorQueryResetMetricsTaskArg.java | 72 +++++++
.../query/VisorRunningQueriesCollectorTask.java | 16 +-
.../VisorRunningQueriesCollectorTaskArg.java | 71 +++++++
.../internal/visor/query/VisorScanQueryArg.java | 157 --------------
.../visor/service/VisorCancelServiceTask.java | 12 +-
.../service/VisorCancelServiceTaskArg.java | 72 +++++++
.../internal/visor/util/VisorTaskUtils.java | 23 ++
.../resources/META-INF/classnames.properties | 39 +++-
...ryConfigurationCustomSerializerSelfTest.java | 4 +-
.../GridInternalTasksLoadBalancingSelfTest.java | 7 +-
.../visor/commands/ack/VisorAckCommand.scala | 5 +-
.../commands/cache/VisorCacheClearCommand.scala | 5 +-
.../commands/cache/VisorCacheResetCommand.scala | 4 +-
.../commands/cache/VisorCacheStopCommand.scala | 4 +-
.../config/VisorConfigurationCommand.scala | 2 +-
.../scala/org/apache/ignite/visor/visor.scala | 5 +-
.../web-console/backend/app/browsersHandler.js | 3 +-
modules/web-console/backend/app/mongo.js | 4 +-
.../app/modules/agent/AgentManager.service.js | 3 +-
.../generator/ConfigurationGenerator.js | 7 +-
.../generator/PlatformGenerator.js | 5 +-
.../generator/defaults/Cluster.service.js | 4 +-
.../frontend/app/modules/sql/sql.controller.js | 2 +-
.../states/configuration/clusters/discovery.pug | 8 +-
101 files changed, 4043 insertions(+), 965 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
index 9a59338..130d9d1 100644
--- a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
+++ b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
@@ -59,21 +59,29 @@ import org.apache.ignite.internal.util.typedef.T2;
import org.apache.ignite.internal.util.typedef.internal.SB;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.internal.visor.cache.VisorCacheClearTask;
+import org.apache.ignite.internal.visor.cache.VisorCacheClearTaskArg;
import org.apache.ignite.internal.visor.cache.VisorCacheConfigurationCollectorTask;
+import org.apache.ignite.internal.visor.cache.VisorCacheConfigurationCollectorTaskArg;
import org.apache.ignite.internal.visor.cache.VisorCacheLoadTask;
import org.apache.ignite.internal.visor.cache.VisorCacheLoadTaskArg;
import org.apache.ignite.internal.visor.cache.VisorCacheMetadataTask;
+import org.apache.ignite.internal.visor.cache.VisorCacheMetadataTaskArg;
import org.apache.ignite.internal.visor.cache.VisorCacheMetricsCollectorTask;
import org.apache.ignite.internal.visor.cache.VisorCacheMetricsCollectorTaskArg;
import org.apache.ignite.internal.visor.cache.VisorCacheNodesTask;
+import org.apache.ignite.internal.visor.cache.VisorCacheNodesTaskArg;
import org.apache.ignite.internal.visor.cache.VisorCachePartitionsTask;
import org.apache.ignite.internal.visor.cache.VisorCachePartitionsTaskArg;
import org.apache.ignite.internal.visor.cache.VisorCacheRebalanceTask;
+import org.apache.ignite.internal.visor.cache.VisorCacheRebalanceTaskArg;
import org.apache.ignite.internal.visor.cache.VisorCacheResetMetricsTask;
+import org.apache.ignite.internal.visor.cache.VisorCacheResetMetricsTaskArg;
import org.apache.ignite.internal.visor.cache.VisorCacheStartTaskArg;
import org.apache.ignite.internal.visor.cache.VisorCacheStartTask;
import org.apache.ignite.internal.visor.cache.VisorCacheStopTask;
+import org.apache.ignite.internal.visor.cache.VisorCacheStopTaskArg;
import org.apache.ignite.internal.visor.compute.VisorComputeCancelSessionsTask;
+import org.apache.ignite.internal.visor.compute.VisorComputeCancelSessionsTaskArg;
import org.apache.ignite.internal.visor.compute.VisorComputeResetMetricsTask;
import org.apache.ignite.internal.visor.compute.VisorComputeToggleMonitoringTask;
import org.apache.ignite.internal.visor.compute.VisorComputeToggleMonitoringTaskArg;
@@ -84,14 +92,21 @@ import org.apache.ignite.internal.visor.file.VisorFileBlockTask;
import org.apache.ignite.internal.visor.file.VisorLatestTextFilesTask;
import org.apache.ignite.internal.visor.file.VisorLatestTextFilesTaskArg;
import org.apache.ignite.internal.visor.igfs.VisorIgfsFormatTask;
+import org.apache.ignite.internal.visor.igfs.VisorIgfsFormatTaskArg;
import org.apache.ignite.internal.visor.igfs.VisorIgfsProfilerClearTask;
+import org.apache.ignite.internal.visor.igfs.VisorIgfsProfilerClearTaskArg;
import org.apache.ignite.internal.visor.igfs.VisorIgfsProfilerTask;
+import org.apache.ignite.internal.visor.igfs.VisorIgfsProfilerTaskArg;
import org.apache.ignite.internal.visor.igfs.VisorIgfsResetMetricsTask;
+import org.apache.ignite.internal.visor.igfs.VisorIgfsResetMetricsTaskArg;
import org.apache.ignite.internal.visor.igfs.VisorIgfsSamplingStateTask;
import org.apache.ignite.internal.visor.igfs.VisorIgfsSamplingStateTaskArg;
import org.apache.ignite.internal.visor.log.VisorLogSearchTaskArg;
import org.apache.ignite.internal.visor.log.VisorLogSearchTask;
import org.apache.ignite.internal.visor.misc.VisorAckTask;
+import org.apache.ignite.internal.visor.misc.VisorAckTaskArg;
+import org.apache.ignite.internal.visor.misc.VisorChangeGridActiveStateTask;
+import org.apache.ignite.internal.visor.misc.VisorChangeGridActiveStateTaskArg;
import org.apache.ignite.internal.visor.misc.VisorLatestVersionTask;
import org.apache.ignite.internal.visor.misc.VisorResolveHostNameTask;
import org.apache.ignite.internal.visor.node.VisorNodeConfigurationCollectorTask;
@@ -101,12 +116,23 @@ import org.apache.ignite.internal.visor.node.VisorNodeEventsCollectorTask;
import org.apache.ignite.internal.visor.node.VisorNodeEventsCollectorTaskArg;
import org.apache.ignite.internal.visor.node.VisorNodeGcTask;
import org.apache.ignite.internal.visor.node.VisorNodePingTask;
+import org.apache.ignite.internal.visor.node.VisorNodePingTaskArg;
import org.apache.ignite.internal.visor.node.VisorNodeSuppressedErrorsTask;
+import org.apache.ignite.internal.visor.node.VisorNodeSuppressedErrorsTaskArg;
+import org.apache.ignite.internal.visor.query.VisorQueryCancelTask;
+import org.apache.ignite.internal.visor.query.VisorQueryCancelTaskArg;
+import org.apache.ignite.internal.visor.query.VisorQueryCleanupTaskArg;
+import org.apache.ignite.internal.visor.query.VisorQueryDetailMetricsCollectorTask;
+import org.apache.ignite.internal.visor.query.VisorQueryDetailMetricsCollectorTaskArg;
+import org.apache.ignite.internal.visor.query.VisorQueryResetMetricsTask;
+import org.apache.ignite.internal.visor.query.VisorQueryResetMetricsTaskArg;
import org.apache.ignite.internal.visor.query.VisorQueryTaskArg;
import org.apache.ignite.internal.visor.query.VisorQueryCleanupTask;
import org.apache.ignite.internal.visor.query.VisorQueryNextPageTask;
import org.apache.ignite.internal.visor.query.VisorQueryNextPageTaskArg;
import org.apache.ignite.internal.visor.query.VisorQueryTask;
+import org.apache.ignite.internal.visor.query.VisorRunningQueriesCollectorTask;
+import org.apache.ignite.internal.visor.query.VisorRunningQueriesCollectorTaskArg;
import org.apache.ignite.lang.IgniteBiPredicate;
import org.apache.ignite.lang.IgnitePredicate;
import org.apache.ignite.lang.IgniteUuid;
@@ -1276,6 +1302,7 @@ public abstract class JettyRestProcessorAbstractSelfTest extends AbstractRestPro
String ret = content(new VisorGatewayArgument(VisorCacheConfigurationCollectorTask.class)
.forNode(locNode)
+ .argument(VisorCacheConfigurationCollectorTaskArg.class)
.collection(IgniteUuid.class, cid));
info("VisorCacheConfigurationCollectorTask result: " + ret);
@@ -1284,7 +1311,7 @@ public abstract class JettyRestProcessorAbstractSelfTest extends AbstractRestPro
ret = content(new VisorGatewayArgument(VisorCacheNodesTask.class)
.forNode(locNode)
- .argument("person"));
+ .argument(VisorCacheNodesTaskArg.class, "person"));
info("VisorCacheNodesTask result: " + ret);
@@ -1300,7 +1327,9 @@ public abstract class JettyRestProcessorAbstractSelfTest extends AbstractRestPro
ret = content(new VisorGatewayArgument(VisorCacheLoadTask.class)
.forNode(locNode)
- .argument(VisorCacheLoadTaskArg.class, "person", 0, "null"));
+ .argument(VisorCacheLoadTaskArg.class)
+ .set(String.class, "person")
+ .arguments(0, "null"));
info("VisorCacheLoadTask result: " + ret);
@@ -1308,6 +1337,7 @@ public abstract class JettyRestProcessorAbstractSelfTest extends AbstractRestPro
ret = content(new VisorGatewayArgument(VisorCacheRebalanceTask.class)
.forNode(locNode)
+ .argument(VisorCacheRebalanceTaskArg.class)
.set(String.class, "person"));
info("VisorCacheRebalanceTask result: " + ret);
@@ -1316,7 +1346,7 @@ public abstract class JettyRestProcessorAbstractSelfTest extends AbstractRestPro
ret = content(new VisorGatewayArgument(VisorCacheMetadataTask.class)
.forNode(locNode)
- .argument("person"));
+ .argument(VisorCacheMetadataTaskArg.class, "person"));
info("VisorCacheMetadataTask result: " + ret);
@@ -1324,7 +1354,7 @@ public abstract class JettyRestProcessorAbstractSelfTest extends AbstractRestPro
ret = content(new VisorGatewayArgument(VisorCacheResetMetricsTask.class)
.forNode(locNode)
- .argument("person"));
+ .argument(VisorCacheResetMetricsTaskArg.class, "person"));
info("VisorCacheResetMetricsTask result: " + ret);
@@ -1340,7 +1370,7 @@ public abstract class JettyRestProcessorAbstractSelfTest extends AbstractRestPro
ret = content(new VisorGatewayArgument(VisorIgfsProfilerClearTask.class)
.forNode(locNode)
- .argument("igfs"));
+ .argument(VisorIgfsProfilerClearTaskArg.class, "igfs"));
info("VisorIgfsProfilerClearTask result: " + ret);
@@ -1348,7 +1378,7 @@ public abstract class JettyRestProcessorAbstractSelfTest extends AbstractRestPro
ret = content(new VisorGatewayArgument(VisorIgfsProfilerTask.class)
.forNode(locNode)
- .argument("igfs"));
+ .argument(VisorIgfsProfilerTaskArg.class, "igfs"));
info("VisorIgfsProfilerTask result: " + ret);
@@ -1356,7 +1386,7 @@ public abstract class JettyRestProcessorAbstractSelfTest extends AbstractRestPro
ret = content(new VisorGatewayArgument(VisorIgfsFormatTask.class)
.forNode(locNode)
- .argument("igfs"));
+ .argument(VisorIgfsFormatTaskArg.class, "igfs"));
info("VisorIgfsFormatTask result: " + ret);
@@ -1364,6 +1394,7 @@ public abstract class JettyRestProcessorAbstractSelfTest extends AbstractRestPro
ret = content(new VisorGatewayArgument(VisorIgfsResetMetricsTask.class)
.forNode(locNode)
+ .argument(VisorIgfsResetMetricsTaskArg.class)
.set(String.class, "igfs"));
info("VisorIgfsResetMetricsTask result: " + ret);
@@ -1402,7 +1433,7 @@ public abstract class JettyRestProcessorAbstractSelfTest extends AbstractRestPro
ret = content(new VisorGatewayArgument(VisorNodePingTask.class)
.forNode(locNode)
- .argument(UUID.class, locNode.id()));
+ .argument(VisorNodePingTaskArg.class, locNode.id()));
info("VisorNodePingTask result: " + ret);
@@ -1442,6 +1473,7 @@ public abstract class JettyRestProcessorAbstractSelfTest extends AbstractRestPro
jsonTaskResult(ret);
ret = content(new VisorGatewayArgument(VisorQueryCleanupTask.class)
+ .argument(VisorQueryCleanupTaskArg.class)
.map(UUID.class, Set.class, F.asMap(locNode.id(), qryId)));
info("VisorQueryCleanupTask result: " + ret);
@@ -1455,9 +1487,38 @@ public abstract class JettyRestProcessorAbstractSelfTest extends AbstractRestPro
jsonTaskResult(ret);
+ ret = content(new VisorGatewayArgument(VisorQueryCancelTask.class)
+ .argument(VisorQueryCancelTaskArg.class, 0L));
+
+ info("VisorResolveHostNameTask result: " + ret);
+
+ jsonTaskResult(ret);
+
+ ret = content(new VisorGatewayArgument(VisorQueryResetMetricsTask.class)
+ .argument(VisorQueryResetMetricsTaskArg.class, "person"));
+
+ info("VisorResolveHostNameTask result: " + ret);
+
+ jsonTaskResult(ret);
+
+ ret = content(new VisorGatewayArgument(VisorQueryCancelTask.class)
+ .argument(VisorQueryCancelTaskArg.class, 0L));
+
+ info("VisorResolveHostNameTask result: " + ret);
+
+ jsonTaskResult(ret);
+
+ ret = content(new VisorGatewayArgument(VisorQueryResetMetricsTask.class)
+ .argument(VisorQueryResetMetricsTaskArg.class, "person"));
+
+ info("VisorResolveHostNameTask result: " + ret);
+
+ jsonTaskResult(ret);
+
// Multinode tasks
ret = content(new VisorGatewayArgument(VisorComputeCancelSessionsTask.class)
+ .argument(VisorComputeCancelSessionsTaskArg.class)
.map(UUID.class, Set.class, new HashMap()));
info("VisorComputeCancelSessionsTask result: " + ret);
@@ -1465,13 +1526,15 @@ public abstract class JettyRestProcessorAbstractSelfTest extends AbstractRestPro
jsonTaskResult(ret);
ret = content(new VisorGatewayArgument(VisorCacheMetricsCollectorTask.class)
- .argument(VisorCacheMetricsCollectorTaskArg.class, false, "person"));
+ .argument(VisorCacheMetricsCollectorTaskArg.class, false)
+ .collection(String.class, "person"));
info("VisorCacheMetricsCollectorTask result: " + ret);
ret = content(new VisorGatewayArgument(VisorCacheMetricsCollectorTask.class)
.forNodes(grid(1).cluster().nodes())
- .argument(VisorCacheMetricsCollectorTaskArg.class, false, "person"));
+ .argument(VisorCacheMetricsCollectorTaskArg.class, false)
+ .collection(String.class, "person"));
info("VisorCacheMetricsCollectorTask (with nodes) result: " + ret);
@@ -1491,7 +1554,7 @@ public abstract class JettyRestProcessorAbstractSelfTest extends AbstractRestPro
jsonTaskResult(ret);
ret = content(new VisorGatewayArgument(VisorAckTask.class)
- .argument("MSG"));
+ .argument(VisorAckTaskArg.class, "MSG"));
info("VisorAckTask result: " + ret);
@@ -1521,6 +1584,7 @@ public abstract class JettyRestProcessorAbstractSelfTest extends AbstractRestPro
jsonTaskResult(ret);
ret = content(new VisorGatewayArgument(VisorNodeSuppressedErrorsTask.class)
+ .argument(VisorNodeSuppressedErrorsTaskArg.class)
.map(UUID.class, Long.class, new HashMap()));
info("VisorNodeSuppressedErrorsTask result: " + ret);
@@ -1529,7 +1593,7 @@ public abstract class JettyRestProcessorAbstractSelfTest extends AbstractRestPro
ret = content(new VisorGatewayArgument(VisorCacheClearTask.class)
.forNode(locNode)
- .argument("person"));
+ .argument(VisorCacheClearTaskArg.class, "person"));
info("VisorCacheClearTask result: " + ret);
@@ -1557,11 +1621,32 @@ public abstract class JettyRestProcessorAbstractSelfTest extends AbstractRestPro
ret = content(new VisorGatewayArgument(VisorCacheStopTask.class)
.forNode(locNode)
- .argument(String.class, "c"));
+ .argument(VisorCacheStopTaskArg.class, "c"));
info("VisorCacheStopTask result: " + ret);
jsonTaskResult(ret);
+
+ ret = content(new VisorGatewayArgument(VisorQueryDetailMetricsCollectorTask.class)
+ .argument(VisorQueryDetailMetricsCollectorTaskArg.class, 0));
+
+ info("VisorQueryDetailMetricsCollectorTask result: " + ret);
+
+ jsonTaskResult(ret);
+
+ ret = content(new VisorGatewayArgument(VisorRunningQueriesCollectorTask.class)
+ .argument(VisorRunningQueriesCollectorTaskArg.class, 0L));
+
+ info("VisorQueryDetailMetricsCollectorTask result: " + ret);
+
+ jsonTaskResult(ret);
+
+ ret = content(new VisorGatewayArgument(VisorChangeGridActiveStateTask.class)
+ .argument(VisorChangeGridActiveStateTaskArg.class, true));
+
+ info("VisorQueryDetailMetricsCollectorTask result: " + ret);
+
+ jsonTaskResult(ret);
}
/**
@@ -2125,6 +2210,19 @@ public abstract class JettyRestProcessorAbstractSelfTest extends AbstractRestPro
}
/**
+ * Add custom argument.
+ *
+ * @param vals Values.
+ * @return This helper for chaining method calls.
+ */
+ public VisorGatewayArgument arguments(Object... vals) {
+ for (Object val: vals)
+ put("p" + idx++, String.valueOf(val));
+
+ return this;
+ }
+
+ /**
* Add string argument.
*
* @param val Value.
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/configuration/DataPageEvictionMode.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/DataPageEvictionMode.java b/modules/core/src/main/java/org/apache/ignite/configuration/DataPageEvictionMode.java
index 0d1b5b9..1aec15a 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/DataPageEvictionMode.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/DataPageEvictionMode.java
@@ -17,6 +17,8 @@
package org.apache.ignite.configuration;
+import org.jetbrains.annotations.Nullable;
+
/**
* Defines memory page eviction algorithm. A mode is set for a specific
* {@link MemoryPolicyConfiguration}. Only data pages, that store key-value entries, are eligible for eviction. The
@@ -49,5 +51,18 @@ public enum DataPageEvictionMode {
* minimums of other pages that might be evicted. LRU-2 outperforms LRU by resolving "one-hit wonder" problem -
* if a data page is accessed rarely, but accidentally accessed once, it's protected from eviction for a long time.
*/
- RANDOM_2_LRU
+ RANDOM_2_LRU;
+
+ /** Enumerated values. */
+ private static final DataPageEvictionMode[] VALS = values();
+
+ /**
+ * Efficiently gets enumerated value from its ordinal.
+ *
+ * @param ord Ordinal value.
+ * @return Enumerated value or {@code null} if ordinal out of range.
+ */
+ @Nullable public static DataPageEvictionMode fromOrdinal(int ord) {
+ return ord >= 0 && ord < VALS.length ? VALS[ord] : null;
+ }
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/binary/VisorBinaryMetadata.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/binary/VisorBinaryMetadata.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/binary/VisorBinaryMetadata.java
index 285bff9..6f7e625 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/binary/VisorBinaryMetadata.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/binary/VisorBinaryMetadata.java
@@ -41,7 +41,7 @@ public class VisorBinaryMetadata extends VisorDataTransferObject {
private String typeName;
/** Type Id */
- private Integer typeId;
+ private int typeId;
/** Affinity key field name. */
private String affinityKeyFieldName;
@@ -97,7 +97,7 @@ public class VisorBinaryMetadata extends VisorDataTransferObject {
/**
* @return Type Id.
*/
- public Integer getTypeId() {
+ public int getTypeId() {
return typeId;
}
@@ -118,7 +118,7 @@ public class VisorBinaryMetadata extends VisorDataTransferObject {
/** {@inheritDoc} */
@Override protected void writeExternalData(ObjectOutput out) throws IOException {
U.writeString(out, typeName);
- out.writeObject(typeId);
+ out.writeInt(typeId);
U.writeString(out, affinityKeyFieldName);
U.writeCollection(out, fields);
}
@@ -126,7 +126,7 @@ public class VisorBinaryMetadata extends VisorDataTransferObject {
/** {@inheritDoc} */
@Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
typeName = U.readString(in);
- typeId = (Integer)in.readObject();
+ typeId = in.readInt();
affinityKeyFieldName = U.readString(in);
fields = U.readList(in);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/binary/VisorBinaryMetadataCollectorTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/binary/VisorBinaryMetadataCollectorTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/binary/VisorBinaryMetadataCollectorTask.java
index de67805..bf072e2 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/binary/VisorBinaryMetadataCollectorTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/binary/VisorBinaryMetadataCollectorTask.java
@@ -29,32 +29,34 @@ import org.apache.ignite.marshaller.Marshaller;
* Task that collects binary metadata.
*/
@GridInternal
-public class VisorBinaryMetadataCollectorTask extends VisorOneNodeTask<Long, VisorBinaryMetadataCollectorTaskResult> {
+public class VisorBinaryMetadataCollectorTask
+ extends VisorOneNodeTask<VisorBinaryMetadataCollectorTaskArg, VisorBinaryMetadataCollectorTaskResult> {
/** */
private static final long serialVersionUID = 0L;
/** {@inheritDoc} */
- @Override protected VisorBinaryCollectMetadataJob job(Long lastUpdate) {
+ @Override protected VisorBinaryCollectMetadataJob job(VisorBinaryMetadataCollectorTaskArg lastUpdate) {
return new VisorBinaryCollectMetadataJob(lastUpdate, debug);
}
/** Job that collect portables metadata on node. */
- private static class VisorBinaryCollectMetadataJob extends VisorJob<Long, VisorBinaryMetadataCollectorTaskResult> {
+ private static class VisorBinaryCollectMetadataJob
+ extends VisorJob<VisorBinaryMetadataCollectorTaskArg, VisorBinaryMetadataCollectorTaskResult> {
/** */
private static final long serialVersionUID = 0L;
/**
* Create job with given argument.
*
- * @param lastUpdate Time data was collected last time.
+ * @param arg Task argument.
* @param debug Debug flag.
*/
- private VisorBinaryCollectMetadataJob(Long lastUpdate, boolean debug) {
- super(lastUpdate, debug);
+ private VisorBinaryCollectMetadataJob(VisorBinaryMetadataCollectorTaskArg arg, boolean debug) {
+ super(arg, debug);
}
/** {@inheritDoc} */
- @Override protected VisorBinaryMetadataCollectorTaskResult run(Long lastUpdate) {
+ @Override protected VisorBinaryMetadataCollectorTaskResult run(VisorBinaryMetadataCollectorTaskArg arg) {
Marshaller marsh = ignite.configuration().getMarshaller();
IgniteBinary binary = marsh == null || marsh instanceof BinaryMarshaller ? ignite.binary() : null;
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/binary/VisorBinaryMetadataCollectorTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/binary/VisorBinaryMetadataCollectorTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/binary/VisorBinaryMetadataCollectorTaskArg.java
new file mode 100644
index 0000000..84ff96a
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/binary/VisorBinaryMetadataCollectorTaskArg.java
@@ -0,0 +1,71 @@
+/*
+ * 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.visor.binary;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+
+/**
+ * Arguments for {@link VisorBinaryMetadataCollectorTask}.
+ */
+public class VisorBinaryMetadataCollectorTaskArg extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Time data was collected last time. */
+ private long lastUpdate;
+
+ /**
+ * Default constructor.
+ */
+ public VisorBinaryMetadataCollectorTaskArg() {
+ // No-op.
+ }
+
+ /**
+ * @param lastUpdate Time data was collected last time.
+ */
+ public VisorBinaryMetadataCollectorTaskArg(long lastUpdate) {
+ this.lastUpdate = lastUpdate;
+ }
+
+ /**
+ * @return Time data was collected last time.
+ */
+ public long getMessage() {
+ return lastUpdate;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ out.writeLong(lastUpdate);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ lastUpdate = in.readLong();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorBinaryMetadataCollectorTaskArg.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/binary/VisorBinaryMetadataCollectorTaskResult.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/binary/VisorBinaryMetadataCollectorTaskResult.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/binary/VisorBinaryMetadataCollectorTaskResult.java
index e96b7ef..b31897c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/binary/VisorBinaryMetadataCollectorTaskResult.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/binary/VisorBinaryMetadataCollectorTaskResult.java
@@ -33,7 +33,7 @@ public class VisorBinaryMetadataCollectorTaskResult extends VisorDataTransferObj
private static final long serialVersionUID = 0L;
/** Last binary metadata update date. */
- private Long lastUpdate;
+ private long lastUpdate;
/** Remote data center IDs for which full state transfer was requested. */
private List<VisorBinaryMetadata> binary;
@@ -57,7 +57,7 @@ public class VisorBinaryMetadataCollectorTaskResult extends VisorDataTransferObj
/**
* @return Last binary metadata update date.
*/
- public Long getLastUpdate() {
+ public long getLastUpdate() {
return lastUpdate;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheAffinityConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheAffinityConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheAffinityConfiguration.java
index d8616d3..eb4eb35 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheAffinityConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheAffinityConfiguration.java
@@ -49,7 +49,7 @@ public class VisorCacheAffinityConfiguration extends VisorDataTransferObject {
private int partitionedBackups;
/** Total partition count. */
- private Integer partitions;
+ private int partitions;
/** Cache partitioned affinity exclude neighbors. */
private Boolean exclNeighbors;
@@ -110,7 +110,7 @@ public class VisorCacheAffinityConfiguration extends VisorDataTransferObject {
/**
* @return Total partition count.
*/
- public Integer getPartitions() {
+ public int getPartitions() {
return partitions;
}
@@ -126,7 +126,7 @@ public class VisorCacheAffinityConfiguration extends VisorDataTransferObject {
U.writeString(out, function);
U.writeString(out, mapper);
out.writeInt(partitionedBackups);
- out.writeObject(partitions);
+ out.writeInt(partitions);
out.writeObject(exclNeighbors);
}
@@ -135,7 +135,7 @@ public class VisorCacheAffinityConfiguration extends VisorDataTransferObject {
function = U.readString(in);
mapper = U.readString(in);
partitionedBackups = in.readInt();
- partitions = (Integer)in.readObject();
+ partitions = in.readInt();
exclNeighbors = (Boolean)in.readObject();
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheClearTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheClearTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheClearTask.java
index 6d14939..bdfc9eb 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheClearTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheClearTask.java
@@ -32,19 +32,19 @@ import org.apache.ignite.resources.JobContextResource;
* Task that clears specified caches on specified node.
*/
@GridInternal
-public class VisorCacheClearTask extends VisorOneNodeTask<String, VisorCacheClearTaskResult> {
+public class VisorCacheClearTask extends VisorOneNodeTask<VisorCacheClearTaskArg, VisorCacheClearTaskResult> {
/** */
private static final long serialVersionUID = 0L;
/** {@inheritDoc} */
- @Override protected VisorCacheClearJob job(String arg) {
+ @Override protected VisorCacheClearJob job(VisorCacheClearTaskArg arg) {
return new VisorCacheClearJob(arg, debug);
}
/**
* Job that clear specified caches.
*/
- private static class VisorCacheClearJob extends VisorJob<String, VisorCacheClearTaskResult> {
+ private static class VisorCacheClearJob extends VisorJob<VisorCacheClearTaskArg, VisorCacheClearTaskResult> {
/** */
private static final long serialVersionUID = 0L;
@@ -61,11 +61,11 @@ public class VisorCacheClearTask extends VisorOneNodeTask<String, VisorCacheClea
/**
* Create job.
*
- * @param cacheName Cache name to clear.
+ * @param arg Task argument.
* @param debug Debug flag.
*/
- private VisorCacheClearJob(String cacheName, boolean debug) {
- super(cacheName, debug);
+ private VisorCacheClearJob(VisorCacheClearTaskArg arg, boolean debug) {
+ super(arg, debug);
lsnr = new IgniteInClosure<IgniteFuture>() {
/** */
@@ -97,13 +97,18 @@ public class VisorCacheClearTask extends VisorOneNodeTask<String, VisorCacheClea
}
/** {@inheritDoc} */
- @Override protected VisorCacheClearTaskResult run(final String cacheName) {
+ @Override protected VisorCacheClearTaskResult run(final VisorCacheClearTaskArg arg) {
if (futs == null)
futs = new IgniteFuture[3];
if (futs[0] == null || futs[1] == null || futs[2] == null) {
+ String cacheName = arg.getCacheName();
+
IgniteCache cache = ignite.cache(cacheName);
+ if (cache == null)
+ throw new IllegalStateException("Failed to find cache for name: " + cacheName);
+
if (futs[0] == null) {
futs[0] = cache.sizeLongAsync(CachePeekMode.PRIMARY);
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheClearTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheClearTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheClearTaskArg.java
new file mode 100644
index 0000000..ade2e12
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheClearTaskArg.java
@@ -0,0 +1,72 @@
+/*
+ * 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.visor.cache;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+
+/**
+ * Argument for {@link VisorCacheClearTask}.
+ */
+public class VisorCacheClearTaskArg extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Cache name. */
+ private String cacheName;
+
+ /**
+ * Default constructor.
+ */
+ public VisorCacheClearTaskArg() {
+ // No-op.
+ }
+
+ /**
+ * @param cacheName Cache name.
+ */
+ public VisorCacheClearTaskArg(String cacheName) {
+ this.cacheName = cacheName;
+ }
+
+ /**
+ * @return Cache name.
+ */
+ public String getCacheName() {
+ return cacheName;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeString(out, cacheName);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ cacheName = U.readString(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorCacheClearTaskArg.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfiguration.java
index 5b5d3a8..c1b56c1 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfiguration.java
@@ -26,6 +26,7 @@ import org.apache.ignite.cache.CacheMode;
import org.apache.ignite.cache.CacheWriteSynchronizationMode;
import org.apache.ignite.cache.PartitionLossPolicy;
import org.apache.ignite.configuration.CacheConfiguration;
+import org.apache.ignite.configuration.MemoryPolicyConfiguration;
import org.apache.ignite.internal.IgniteEx;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
@@ -35,6 +36,7 @@ import org.apache.ignite.internal.visor.query.VisorQueryEntity;
import org.jetbrains.annotations.Nullable;
import static org.apache.ignite.internal.visor.util.VisorTaskUtils.compactClass;
+import static org.apache.ignite.internal.visor.util.VisorTaskUtils.compactIterable;
/**
* Data transfer object for cache configuration properties.
@@ -127,6 +129,39 @@ public class VisorCacheConfiguration extends VisorDataTransferObject {
/** Query parallelism. */
private int qryParallelism;
+ /** Copy on read flag. */
+ private boolean cpOnRead;
+
+ /** Eviction filter. */
+ private String evictFilter;
+
+ /** Listener configurations. */
+ private String lsnrConfigurations;
+
+ /** */
+ private boolean loadPrevVal;
+
+ /** Name of {@link MemoryPolicyConfiguration} for this cache */
+ private String memPlcName;
+
+ /** Maximum inline size for sql indexes. */
+ private int sqlIdxMaxInlineSize;
+
+ /** Node filter specifying nodes on which this cache should be deployed. */
+ private String nodeFilter;
+
+ /** */
+ private int qryDetailMetricsSz;
+
+ /** Flag indicating whether data can be read from backup. */
+ private boolean readFromBackup;
+
+ /** Name of class implementing GridCacheTmLookup. */
+ private String tmLookupClsName;
+
+ /** Cache topology validator. */
+ private String topValidator;
+
/**
* Default constructor.
*/
@@ -173,6 +208,18 @@ public class VisorCacheConfiguration extends VisorDataTransferObject {
storeCfg = new VisorCacheStoreConfiguration(ignite, ccfg);
qryCfg = new VisorQueryConfiguration(ccfg);
+
+ cpOnRead = ccfg.isCopyOnRead();
+ evictFilter = compactClass(ccfg.getEvictionFilter());
+ lsnrConfigurations = compactIterable(ccfg.getCacheEntryListenerConfigurations());
+ loadPrevVal = ccfg.isLoadPreviousValue();
+ memPlcName = ccfg.getMemoryPolicyName();
+ sqlIdxMaxInlineSize = ccfg.getSqlIndexMaxInlineSize();
+ nodeFilter = compactClass(ccfg.getNodeFilter());
+ qryDetailMetricsSz = ccfg.getQueryDetailMetricsSize();
+ readFromBackup = ccfg.isReadFromBackup();
+ tmLookupClsName = ccfg.getTransactionManagerLookupClassName();
+ topValidator = compactClass(ccfg.getTopologyValidator());
}
/**
@@ -385,6 +432,85 @@ public class VisorCacheConfiguration extends VisorDataTransferObject {
return qryParallelism;
}
+ /**
+ * @return Copy on read flag.
+ */
+ public boolean isCopyOnRead() {
+ return cpOnRead;
+ }
+
+ /**
+ * @return Eviction filter or {@code null}.
+ */
+ public String getEvictionFilter() {
+ return evictFilter;
+ }
+
+ /**
+ * @return Listener configurations.
+ */
+ public String getLsnrConfigurations() {
+ return lsnrConfigurations;
+ }
+
+ /**
+ * @return Load previous value flag.
+ */
+ public boolean isLoadPreviousValue() {
+ return loadPrevVal;
+ }
+
+ /**
+ * @return {@link MemoryPolicyConfiguration} name.
+ */
+ public String getMemoryPolicyName() {
+ return memPlcName;
+ }
+
+ /**
+ * @return Maximum payload size for offheap indexes.
+ */
+ public int getSqlIdxMaxInlineSize() {
+ return sqlIdxMaxInlineSize;
+ }
+
+ /**
+ * @return Predicate specifying on which nodes the cache should be started.
+ */
+ public String getNodeFilter() {
+ return nodeFilter;
+ }
+
+ /**
+ * @return Maximum number of query metrics that will be stored in memory.
+ */
+ public int getQueryDetailMetricsSize() {
+ return qryDetailMetricsSz;
+ }
+
+ /**
+ * @return {@code true} if data can be read from backup node or {@code false} if data always
+ * should be read from primary node and never from backup.
+ */
+ public boolean isReadFromBackup() {
+ return readFromBackup;
+ }
+
+ /**
+ * @return Transaction manager finder.
+ */
+ @Deprecated
+ public String getTransactionManagerLookupClassName() {
+ return tmLookupClsName;
+ }
+
+ /**
+ * @return validator.
+ */
+ public String getTopologyValidator() {
+ return topValidator;
+ }
+
/** {@inheritDoc} */
@Override protected void writeExternalData(ObjectOutput out) throws IOException {
U.writeString(out, name);
@@ -415,6 +541,17 @@ public class VisorCacheConfiguration extends VisorDataTransferObject {
out.writeBoolean(onheapCache);
U.writeEnum(out, partLossPlc);
out.writeInt(qryParallelism);
+ out.writeBoolean(cpOnRead);
+ U.writeString(out, evictFilter);
+ U.writeString(out, lsnrConfigurations);
+ out.writeBoolean(loadPrevVal);
+ U.writeString(out, memPlcName);
+ out.writeInt(sqlIdxMaxInlineSize);
+ U.writeString(out, nodeFilter);
+ out.writeInt(qryDetailMetricsSz);
+ out.writeBoolean(readFromBackup);
+ U.writeString(out, tmLookupClsName);
+ U.writeString(out, topValidator);
}
/** {@inheritDoc} */
@@ -443,9 +580,21 @@ public class VisorCacheConfiguration extends VisorDataTransferObject {
expiryPlcFactory = U.readString(in);
qryCfg = (VisorQueryConfiguration)in.readObject();
sys = in.readBoolean();
+ storeKeepBinary = in.readBoolean();
onheapCache = in.readBoolean();
partLossPlc = PartitionLossPolicy.fromOrdinal(in.readByte());
qryParallelism = in.readInt();
+ cpOnRead = in.readBoolean();
+ evictFilter = U.readString(in);
+ lsnrConfigurations = U.readString(in);
+ loadPrevVal = in.readBoolean();
+ memPlcName = U.readString(in);
+ sqlIdxMaxInlineSize = in.readInt();
+ nodeFilter = U.readString(in);
+ qryDetailMetricsSz = in.readInt();
+ readFromBackup = in.readBoolean();
+ tmLookupClsName = U.readString(in);
+ topValidator = U.readString(in);
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfigurationCollectorJob.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfigurationCollectorJob.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfigurationCollectorJob.java
index c2a3c02..fcce158 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfigurationCollectorJob.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfigurationCollectorJob.java
@@ -30,7 +30,7 @@ import org.apache.ignite.lang.IgniteUuid;
* Job that collect cache metrics from node.
*/
public class VisorCacheConfigurationCollectorJob
- extends VisorJob<Collection<IgniteUuid>, Map<IgniteUuid, VisorCacheConfiguration>> {
+ extends VisorJob<VisorCacheConfigurationCollectorTaskArg, Map<IgniteUuid, VisorCacheConfiguration>> {
/** */
private static final long serialVersionUID = 0L;
@@ -40,22 +40,24 @@ public class VisorCacheConfigurationCollectorJob
* @param arg Whether to collect metrics for all caches or for specified cache name only.
* @param debug Debug flag.
*/
- public VisorCacheConfigurationCollectorJob(Collection<IgniteUuid> arg, boolean debug) {
+ public VisorCacheConfigurationCollectorJob(VisorCacheConfigurationCollectorTaskArg arg, boolean debug) {
super(arg, debug);
}
/** {@inheritDoc} */
- @Override protected Map<IgniteUuid, VisorCacheConfiguration> run(Collection<IgniteUuid> arg) {
+ @Override protected Map<IgniteUuid, VisorCacheConfiguration> run(VisorCacheConfigurationCollectorTaskArg arg) {
Collection<IgniteCacheProxy<?, ?>> caches = ignite.context().cache().jcaches();
- boolean all = arg == null || arg.isEmpty();
+ Collection<IgniteUuid> depIds = arg.getDeploymentIds();
+
+ boolean all = depIds == null || depIds.isEmpty();
Map<IgniteUuid, VisorCacheConfiguration> res = U.newHashMap(caches.size());
for (IgniteCacheProxy<?, ?> cache : caches) {
IgniteUuid deploymentId = cache.context().dynamicDeploymentId();
- if (all || arg.contains(deploymentId))
+ if (all || depIds.contains(deploymentId))
res.put(deploymentId, config(cache.getConfiguration(CacheConfiguration.class)));
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfigurationCollectorTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfigurationCollectorTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfigurationCollectorTask.java
index 49e8de4..f931b17 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfigurationCollectorTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfigurationCollectorTask.java
@@ -17,7 +17,6 @@
package org.apache.ignite.internal.visor.cache;
-import java.util.Collection;
import java.util.Map;
import org.apache.ignite.internal.processors.task.GridInternal;
import org.apache.ignite.internal.visor.VisorOneNodeTask;
@@ -28,12 +27,12 @@ import org.apache.ignite.lang.IgniteUuid;
*/
@GridInternal
public class VisorCacheConfigurationCollectorTask
- extends VisorOneNodeTask<Collection<IgniteUuid>, Map<IgniteUuid, VisorCacheConfiguration>> {
+ extends VisorOneNodeTask<VisorCacheConfigurationCollectorTaskArg, Map<IgniteUuid, VisorCacheConfiguration>> {
/** */
private static final long serialVersionUID = 0L;
/** {@inheritDoc} */
- @Override protected VisorCacheConfigurationCollectorJob job(Collection<IgniteUuid> arg) {
+ @Override protected VisorCacheConfigurationCollectorJob job(VisorCacheConfigurationCollectorTaskArg arg) {
return new VisorCacheConfigurationCollectorJob(arg, debug);
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfigurationCollectorTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfigurationCollectorTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfigurationCollectorTaskArg.java
new file mode 100644
index 0000000..9dd8632
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfigurationCollectorTaskArg.java
@@ -0,0 +1,74 @@
+/*
+ * 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.visor.cache;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.util.Collection;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+import org.apache.ignite.lang.IgniteUuid;
+
+/**
+ * Argument for {@link VisorCacheConfigurationCollectorTask}.
+ */
+public class VisorCacheConfigurationCollectorTaskArg extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Collection of cache deployment IDs. */
+ private Collection<IgniteUuid> deploymentIds;
+
+ /**
+ * Default constructor.
+ */
+ public VisorCacheConfigurationCollectorTaskArg() {
+ // No-op.
+ }
+
+ /**
+ * @param deploymentIds Collection of cache deployment IDs.
+ */
+ public VisorCacheConfigurationCollectorTaskArg(Collection<IgniteUuid> deploymentIds) {
+ this.deploymentIds = deploymentIds;
+ }
+
+ /**
+ * @return Collection of cache deployment IDs.
+ */
+ public Collection<IgniteUuid> getDeploymentIds() {
+ return deploymentIds;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeCollection(out, deploymentIds);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ deploymentIds = U.readCollection(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorCacheConfigurationCollectorTaskArg.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheLoadTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheLoadTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheLoadTask.java
index 34ae12c..7b25ae4 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheLoadTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheLoadTask.java
@@ -63,7 +63,7 @@ public class VisorCacheLoadTask extends
@Override protected Map<String, Integer> run(VisorCacheLoadTaskArg arg) {
Set<String> cacheNames = arg.getCacheNames();
long ttl = arg.getTtl();
- Object[] ldrArgs = arg.getLdrArgs();
+ Object[] ldrArgs = arg.getLoaderArguments();
assert cacheNames != null && !cacheNames.isEmpty();
@@ -74,6 +74,9 @@ public class VisorCacheLoadTask extends
for (String cacheName : cacheNames) {
IgniteCache cache = ignite.cache(cacheName);
+ if (cache == null)
+ throw new IllegalStateException("Failed to find cache for name: " + cacheName);
+
if (ttl > 0) {
if (plc == null)
plc = new CreatedExpiryPolicy(new Duration(TimeUnit.MILLISECONDS, ttl));
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheLoadTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheLoadTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheLoadTaskArg.java
index d5c7f20..b5da993 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheLoadTaskArg.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheLoadTaskArg.java
@@ -76,7 +76,7 @@ public class VisorCacheLoadTaskArg extends VisorDataTransferObject {
/**
* @return Optional user arguments to be passed into CacheStore.loadCache(IgniteBiInClosure, Object...) method.
*/
- public Object[] getLdrArgs() {
+ public Object[] getLoaderArguments() {
return ldrArgs;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetadataTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetadataTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetadataTask.java
index 598c8cf..0330875 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetadataTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetadataTask.java
@@ -34,19 +34,19 @@ import static org.apache.ignite.internal.visor.util.VisorTaskUtils.escapeName;
* Task to get cache SQL metadata.
*/
@GridInternal
-public class VisorCacheMetadataTask extends VisorOneNodeTask<String, VisorCacheSqlMetadata> {
+public class VisorCacheMetadataTask extends VisorOneNodeTask<VisorCacheMetadataTaskArg, VisorCacheSqlMetadata> {
/** */
private static final long serialVersionUID = 0L;
/** {@inheritDoc} */
- @Override protected VisorCacheMetadataJob job(String arg) {
+ @Override protected VisorCacheMetadataJob job(VisorCacheMetadataTaskArg arg) {
return new VisorCacheMetadataJob(arg, debug);
}
/**
* Job to get cache SQL metadata.
*/
- private static class VisorCacheMetadataJob extends VisorJob<String, VisorCacheSqlMetadata> {
+ private static class VisorCacheMetadataJob extends VisorJob<VisorCacheMetadataTaskArg, VisorCacheSqlMetadata> {
/** */
private static final long serialVersionUID = 0L;
@@ -54,14 +54,14 @@ public class VisorCacheMetadataTask extends VisorOneNodeTask<String, VisorCacheS
* @param arg Cache name to take metadata.
* @param debug Debug flag.
*/
- private VisorCacheMetadataJob(String arg, boolean debug) {
+ private VisorCacheMetadataJob(VisorCacheMetadataTaskArg arg, boolean debug) {
super(arg, debug);
}
/** {@inheritDoc} */
- @Override protected VisorCacheSqlMetadata run(String cacheName) {
+ @Override protected VisorCacheSqlMetadata run(VisorCacheMetadataTaskArg arg) {
try {
- IgniteInternalCache<Object, Object> cache = ignite.cachex(cacheName);
+ IgniteInternalCache<Object, Object> cache = ignite.cachex(arg.getCacheName());
if (cache != null) {
GridCacheSqlMetadata meta = F.first(cache.context().queries().sqlMetadata());
@@ -72,7 +72,7 @@ public class VisorCacheMetadataTask extends VisorOneNodeTask<String, VisorCacheS
return null;
}
- throw new IgniteException("Cache not found: " + escapeName(cacheName));
+ throw new IgniteException("Cache not found: " + escapeName(arg.getCacheName()));
}
catch (IgniteCheckedException e) {
throw U.convertException(e);
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetadataTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetadataTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetadataTaskArg.java
new file mode 100644
index 0000000..99ee350
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetadataTaskArg.java
@@ -0,0 +1,72 @@
+/*
+ * 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.visor.cache;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+
+/**
+ * Argument for {@link VisorCacheMetadataTask}.
+ */
+public class VisorCacheMetadataTaskArg extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Cache name. */
+ private String cacheName;
+
+ /**
+ * Default constructor.
+ */
+ public VisorCacheMetadataTaskArg() {
+ // No-op.
+ }
+
+ /**
+ * @param cacheName Cache name.
+ */
+ public VisorCacheMetadataTaskArg(String cacheName) {
+ this.cacheName = cacheName;
+ }
+
+ /**
+ * @return Cache name.
+ */
+ public String getCacheName() {
+ return cacheName;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeString(out, cacheName);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ cacheName = U.readString(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorCacheMetadataTaskArg.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheNodesTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheNodesTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheNodesTask.java
index 955fc64..2dc6dc1 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheNodesTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheNodesTask.java
@@ -30,19 +30,19 @@ import org.apache.ignite.internal.visor.VisorOneNodeTask;
* Task that returns collection of cache data nodes IDs.
*/
@GridInternal
-public class VisorCacheNodesTask extends VisorOneNodeTask<String, Collection<UUID>> {
+public class VisorCacheNodesTask extends VisorOneNodeTask<VisorCacheNodesTaskArg, Collection<UUID>> {
/** */
private static final long serialVersionUID = 0L;
/** {@inheritDoc} */
- @Override protected VisorCacheNodesJob job(String arg) {
+ @Override protected VisorCacheNodesJob job(VisorCacheNodesTaskArg arg) {
return new VisorCacheNodesJob(arg, debug);
}
/**
* Job that collects cluster group for specified cache.
*/
- private static class VisorCacheNodesJob extends VisorJob<String, Collection<UUID>> {
+ private static class VisorCacheNodesJob extends VisorJob<VisorCacheNodesTaskArg, Collection<UUID>> {
/** */
private static final long serialVersionUID = 0L;
@@ -52,13 +52,13 @@ public class VisorCacheNodesTask extends VisorOneNodeTask<String, Collection<UUI
* @param cacheName Cache name to clear.
* @param debug Debug flag.
*/
- private VisorCacheNodesJob(String cacheName, boolean debug) {
+ private VisorCacheNodesJob(VisorCacheNodesTaskArg cacheName, boolean debug) {
super(cacheName, debug);
}
/** {@inheritDoc} */
- @Override protected Collection<UUID> run(String cacheName) {
- Collection<ClusterNode> nodes = ignite.cluster().forDataNodes(cacheName).nodes();
+ @Override protected Collection<UUID> run(VisorCacheNodesTaskArg arg) {
+ Collection<ClusterNode> nodes = ignite.cluster().forDataNodes(arg.getCacheName()).nodes();
Collection<UUID> res = new ArrayList<>(nodes.size());
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheNodesTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheNodesTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheNodesTaskArg.java
new file mode 100644
index 0000000..29e00e5
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheNodesTaskArg.java
@@ -0,0 +1,72 @@
+/*
+ * 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.visor.cache;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+
+/**
+ * Argument for {@link VisorCacheNodesTask}.
+ */
+public class VisorCacheNodesTaskArg extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Cache name. */
+ private String cacheName;
+
+ /**
+ * Default constructor.
+ */
+ public VisorCacheNodesTaskArg() {
+ // No-op.
+ }
+
+ /**
+ * @param cacheName Cache name.
+ */
+ public VisorCacheNodesTaskArg(String cacheName) {
+ this.cacheName = cacheName;
+ }
+
+ /**
+ * @return Cache name.
+ */
+ public String getCacheName() {
+ return cacheName;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeString(out, cacheName);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ cacheName = U.readString(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorCacheNodesTaskArg.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheRebalanceConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheRebalanceConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheRebalanceConfiguration.java
index 618fa97..8a3acaa 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheRebalanceConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheRebalanceConfiguration.java
@@ -48,6 +48,12 @@ public class VisorCacheRebalanceConfiguration extends VisorDataTransferObject {
/** Rebalance timeout. */
private long timeout;
+ /** Rebalance batches prefetch count. */
+ private long batchesPrefetchCnt;
+
+ /** Cache rebalance order. */
+ private int rebalanceOrder;
+
/**
* Default constructor.
*/
@@ -65,6 +71,8 @@ public class VisorCacheRebalanceConfiguration extends VisorDataTransferObject {
partitionedDelay = ccfg.getRebalanceDelay();
throttle = ccfg.getRebalanceThrottle();
timeout = ccfg.getRebalanceTimeout();
+ batchesPrefetchCnt = ccfg.getRebalanceBatchesPrefetchCount();
+ rebalanceOrder = ccfg.getRebalanceOrder();
}
/**
@@ -102,6 +110,20 @@ public class VisorCacheRebalanceConfiguration extends VisorDataTransferObject {
return timeout;
}
+ /**
+ * @return Batches count
+ */
+ public long getBatchesPrefetchCnt() {
+ return batchesPrefetchCnt;
+ }
+
+ /**
+ * @return Cache rebalance order.
+ */
+ public int getRebalanceOrder() {
+ return rebalanceOrder;
+ }
+
/** {@inheritDoc} */
@Override protected void writeExternalData(ObjectOutput out) throws IOException {
U.writeEnum(out, mode);
@@ -109,6 +131,8 @@ public class VisorCacheRebalanceConfiguration extends VisorDataTransferObject {
out.writeLong(partitionedDelay);
out.writeLong(throttle);
out.writeLong(timeout);
+ out.writeLong(batchesPrefetchCnt);
+ out.writeInt(rebalanceOrder);
}
/** {@inheritDoc} */
@@ -118,6 +142,8 @@ public class VisorCacheRebalanceConfiguration extends VisorDataTransferObject {
partitionedDelay = in.readLong();
throttle = in.readLong();
timeout = in.readLong();
+ batchesPrefetchCnt = in.readLong();
+ rebalanceOrder = in.readInt();
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheRebalanceTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheRebalanceTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheRebalanceTask.java
index e0c94bf..87a2ce6 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheRebalanceTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheRebalanceTask.java
@@ -19,7 +19,6 @@ package org.apache.ignite.internal.visor.cache;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Set;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.internal.IgniteInternalFuture;
import org.apache.ignite.internal.processors.cache.IgniteInternalCache;
@@ -33,19 +32,19 @@ import org.apache.ignite.internal.visor.VisorOneNodeTask;
* Pre-loads caches. Made callable just to conform common pattern.
*/
@GridInternal
-public class VisorCacheRebalanceTask extends VisorOneNodeTask<Set<String>, Void> {
+public class VisorCacheRebalanceTask extends VisorOneNodeTask<VisorCacheRebalanceTaskArg, Void> {
/** */
private static final long serialVersionUID = 0L;
/** {@inheritDoc} */
- @Override protected VisorCachesRebalanceJob job(Set<String> arg) {
+ @Override protected VisorCachesRebalanceJob job(VisorCacheRebalanceTaskArg arg) {
return new VisorCachesRebalanceJob(arg, debug);
}
/**
* Job that rebalance caches.
*/
- private static class VisorCachesRebalanceJob extends VisorJob<Set<String>, Void> {
+ private static class VisorCachesRebalanceJob extends VisorJob<VisorCacheRebalanceTaskArg, Void> {
/** */
private static final long serialVersionUID = 0L;
@@ -53,17 +52,17 @@ public class VisorCacheRebalanceTask extends VisorOneNodeTask<Set<String>, Void>
* @param arg Caches names.
* @param debug Debug flag.
*/
- private VisorCachesRebalanceJob(Set<String> arg, boolean debug) {
+ private VisorCachesRebalanceJob(VisorCacheRebalanceTaskArg arg, boolean debug) {
super(arg, debug);
}
/** {@inheritDoc} */
- @Override protected Void run(Set<String> cacheNames) {
+ @Override protected Void run(VisorCacheRebalanceTaskArg arg) {
try {
Collection<IgniteInternalFuture<?>> futs = new ArrayList<>();
for (IgniteInternalCache c : ignite.cachesx()) {
- if (cacheNames.contains(c.name()))
+ if (arg.getCacheNames().contains(c.name()))
futs.add(c.rebalance());
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheRebalanceTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheRebalanceTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheRebalanceTaskArg.java
new file mode 100644
index 0000000..0bf420c
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheRebalanceTaskArg.java
@@ -0,0 +1,73 @@
+/*
+ * 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.visor.cache;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.util.Set;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+
+/**
+ * Argument for {@link VisorCacheRebalanceTask}.
+ */
+public class VisorCacheRebalanceTaskArg extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Cache names. */
+ private Set<String> cacheNames;
+
+ /**
+ * Default constructor.
+ */
+ public VisorCacheRebalanceTaskArg() {
+ // No-op.
+ }
+
+ /**
+ * @param cacheNames Cache names.
+ */
+ public VisorCacheRebalanceTaskArg(Set<String> cacheNames) {
+ this.cacheNames = cacheNames;
+ }
+
+ /**
+ * @return Cache names.
+ */
+ public Set<String> getCacheNames() {
+ return cacheNames;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeCollection(out, cacheNames);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ cacheNames = U.readSet(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorCacheRebalanceTaskArg.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheResetMetricsTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheResetMetricsTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheResetMetricsTask.java
index ccec241..bc6698d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheResetMetricsTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheResetMetricsTask.java
@@ -27,19 +27,19 @@ import org.apache.ignite.internal.visor.VisorOneNodeTask;
* Reset compute grid metrics.
*/
@GridInternal
-public class VisorCacheResetMetricsTask extends VisorOneNodeTask<String, Void> {
+public class VisorCacheResetMetricsTask extends VisorOneNodeTask<VisorCacheResetMetricsTaskArg, Void> {
/** */
private static final long serialVersionUID = 0L;
/** {@inheritDoc} */
- @Override protected VisorCacheResetMetricsJob job(String arg) {
+ @Override protected VisorCacheResetMetricsJob job(VisorCacheResetMetricsTaskArg arg) {
return new VisorCacheResetMetricsJob(arg, debug);
}
/**
* Job that reset cache metrics.
*/
- private static class VisorCacheResetMetricsJob extends VisorJob<String, Void> {
+ private static class VisorCacheResetMetricsJob extends VisorJob<VisorCacheResetMetricsTaskArg, Void> {
/** */
private static final long serialVersionUID = 0L;
@@ -47,13 +47,13 @@ public class VisorCacheResetMetricsTask extends VisorOneNodeTask<String, Void> {
* @param arg Cache name to reset metrics for.
* @param debug Debug flag.
*/
- private VisorCacheResetMetricsJob(String arg, boolean debug) {
+ private VisorCacheResetMetricsJob(VisorCacheResetMetricsTaskArg arg, boolean debug) {
super(arg, debug);
}
/** {@inheritDoc} */
- @Override protected Void run(String cacheName) {
- IgniteInternalCache cache = ignite.cachex(cacheName);
+ @Override protected Void run(VisorCacheResetMetricsTaskArg arg) {
+ IgniteInternalCache cache = ignite.cachex(arg.getCacheName());
if (cache != null)
cache.localMxBean().clear();
@@ -66,4 +66,4 @@ public class VisorCacheResetMetricsTask extends VisorOneNodeTask<String, Void> {
return S.toString(VisorCacheResetMetricsJob.class, this);
}
}
-}
\ No newline at end of file
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheResetMetricsTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheResetMetricsTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheResetMetricsTaskArg.java
new file mode 100644
index 0000000..3a9d8ae
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheResetMetricsTaskArg.java
@@ -0,0 +1,72 @@
+/*
+ * 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.visor.cache;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+
+/**
+ * Argument for {@link VisorCacheResetMetricsTask}.
+ */
+public class VisorCacheResetMetricsTaskArg extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Cache name. */
+ private String cacheName;
+
+ /**
+ * Default constructor.
+ */
+ public VisorCacheResetMetricsTaskArg() {
+ // No-op.
+ }
+
+ /**
+ * @param cacheName Cache name.
+ */
+ public VisorCacheResetMetricsTaskArg(String cacheName) {
+ this.cacheName = cacheName;
+ }
+
+ /**
+ * @return Cache name.
+ */
+ public String getCacheName() {
+ return cacheName;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeString(out, cacheName);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ cacheName = U.readString(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorCacheResetMetricsTaskArg.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStartArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStartArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStartArg.java
deleted file mode 100644
index a2fd518..0000000
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheStartArg.java
+++ /dev/null
@@ -1,100 +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.visor.cache;
-
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import org.apache.ignite.internal.util.typedef.internal.S;
-import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.internal.visor.VisorDataTransferObject;
-
-/**
- * Cache start arguments.
- */
-public class VisorCacheStartArg extends VisorDataTransferObject {
- /** */
- private static final long serialVersionUID = 0L;
-
- /** */
- private boolean near;
-
- /** */
- private String name;
-
- /** */
- private String cfg;
-
- /**
- * Default constructor.
- */
- public VisorCacheStartArg() {
- // No-op.
- }
-
- /**
- * @param near {@code true} if near cache should be started.
- * @param name Name for near cache.
- * @param cfg Cache XML configuration.
- */
- public VisorCacheStartArg(boolean near, String name, String cfg) {
- this.near = near;
- this.name = name;
- this.cfg = cfg;
- }
-
- /**
- * @return {@code true} if near cache should be started.
- */
- public boolean isNear() {
- return near;
- }
-
- /**
- * @return Name for near cache.
- */
- public String getName() {
- return name;
- }
-
- /**
- * @return Cache XML configuration.
- */
- public String getConfiguration() {
- return cfg;
- }
-
- /** {@inheritDoc} */
- @Override protected void writeExternalData(ObjectOutput out) throws IOException {
- out.writeBoolean(near);
- U.writeString(out, name);
- U.writeString(out, cfg);
- }
-
- /** {@inheritDoc} */
- @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
- near = in.readBoolean();
- name = U.readString(in);
- cfg = U.readString(in);
- }
-
- /** {@inheritDoc} */
- @Override public String toString() {
- return S.toString(VisorCacheStartArg.class, this);
- }
-}
[2/4] ignite git commit: IGNITE-4988 Rework Visor task arguments.
Code cleanup for ignite-2.0.
Posted by ak...@apache.org.
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorBinaryConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorBinaryConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorBinaryConfiguration.java
new file mode 100644
index 0000000..f69caf1
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorBinaryConfiguration.java
@@ -0,0 +1,131 @@
+/*
+ * 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.visor.node;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.util.List;
+import org.apache.ignite.configuration.BinaryConfiguration;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+
+import static org.apache.ignite.internal.visor.util.VisorTaskUtils.compactClass;
+
+/**
+ * Data transfer object for configuration of binary data structures.
+ */
+public class VisorBinaryConfiguration extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** ID mapper. */
+ private String idMapper;
+
+ /** Name mapper. */
+ private String nameMapper;
+
+ /** Serializer. */
+ private String serializer;
+
+ /** Types. */
+ private List<VisorBinaryTypeConfiguration> typeCfgs;
+
+ /** Compact footer flag. */
+ private boolean compactFooter;
+
+ /**
+ * Default constructor.
+ */
+ public VisorBinaryConfiguration() {
+ // No-op.
+ }
+
+ /**
+ * Create data transfer object for binary configuration.
+ *
+ * @param src Binary configuration.
+ */
+ public VisorBinaryConfiguration(BinaryConfiguration src) {
+ idMapper = compactClass(src.getIdMapper());
+ nameMapper = compactClass(src.getNameMapper());
+ serializer = compactClass(src.getSerializer());
+ compactFooter = src.isCompactFooter();
+
+ typeCfgs = VisorBinaryTypeConfiguration.list(src.getTypeConfigurations());
+ }
+
+ /**
+ * @return ID mapper.
+ */
+ public String getIdMapper() {
+ return idMapper;
+ }
+
+ /**
+ * @return Name mapper.
+ */
+ public String getNameMapper() {
+ return nameMapper;
+ }
+
+ /**
+ * @return Serializer.
+ */
+ public String getSerializer() {
+ return serializer;
+ }
+
+ /**
+ * @return Types.
+ */
+ public List<VisorBinaryTypeConfiguration> getTypeConfigurations() {
+ return typeCfgs;
+ }
+
+ /**
+ * @return Compact footer flag.
+ */
+ public boolean isCompactFooter() {
+ return compactFooter;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeString(out, idMapper);
+ U.writeString(out, nameMapper);
+ U.writeString(out, serializer);
+ U.writeCollection(out, typeCfgs);
+ out.writeBoolean(compactFooter);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ idMapper = U.readString(in);
+ nameMapper = U.readString(in);
+ serializer = U.readString(in);
+ typeCfgs = U.readList(in);
+ compactFooter = in.readBoolean();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorBinaryConfiguration.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorBinaryTypeConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorBinaryTypeConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorBinaryTypeConfiguration.java
new file mode 100644
index 0000000..3b575ee
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorBinaryTypeConfiguration.java
@@ -0,0 +1,150 @@
+/*
+ * 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.visor.node;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import org.apache.ignite.binary.BinaryTypeConfiguration;
+import org.apache.ignite.internal.util.typedef.F;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+
+import static org.apache.ignite.internal.visor.util.VisorTaskUtils.compactClass;
+
+/**
+ * Data transfer object for configuration of binary type structures.
+ */
+public class VisorBinaryTypeConfiguration extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Class name. */
+ private String typeName;
+
+ /** ID mapper. */
+ private String idMapper;
+
+ /** Name mapper. */
+ private String nameMapper;
+
+ /** Serializer. */
+ private String serializer;
+
+ /** Enum flag. */
+ private boolean isEnum;
+
+ /**
+ * Construct data transfer object for Executor configurations properties.
+ *
+ * @param cfgs Executor configurations.
+ * @return Executor configurations properties.
+ */
+ public static List<VisorBinaryTypeConfiguration> list(Collection<BinaryTypeConfiguration> cfgs) {
+ List<VisorBinaryTypeConfiguration> res = new ArrayList<>();
+
+ if (!F.isEmpty(cfgs)) {
+ for (BinaryTypeConfiguration cfg : cfgs)
+ res.add(new VisorBinaryTypeConfiguration(cfg));
+ }
+
+ return res;
+ }
+
+ /**
+ * Default constructor.
+ */
+ public VisorBinaryTypeConfiguration() {
+ // No-op.
+ }
+
+ /**
+ * Create data transfer object for binary type configuration.
+ *
+ * @param src Binary type configuration.
+ */
+ public VisorBinaryTypeConfiguration(BinaryTypeConfiguration src) {
+ typeName = src.getTypeName();
+ idMapper = compactClass(src.getIdMapper());
+ nameMapper = compactClass(src.getNameMapper());
+ serializer = compactClass(src.getSerializer());
+ isEnum = src.isEnum();
+ }
+
+ /**
+ * @return Class name.
+ */
+ public String getTypeName() {
+ return typeName;
+ }
+
+ /**
+ * @return ID mapper.
+ */
+ public String getIdMapper() {
+ return idMapper;
+ }
+
+ /**
+ * @return Name mapper.
+ */
+ public String getNameMapper() {
+ return nameMapper;
+ }
+
+ /**
+ * @return Serializer.
+ */
+ public String getSerializer() {
+ return serializer;
+ }
+
+ /**
+ * @return Enum flag.
+ */
+ public boolean isEnum() {
+ return isEnum;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeString(out, typeName);
+ U.writeString(out, idMapper);
+ U.writeString(out, nameMapper);
+ U.writeString(out, serializer);
+ out.writeBoolean(isEnum);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ typeName = U.readString(in);
+ idMapper = U.readString(in);
+ nameMapper = U.readString(in);
+ serializer = U.readString(in);
+ isEnum = in.readBoolean();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorBinaryTypeConfiguration.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorCacheKeyConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorCacheKeyConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorCacheKeyConfiguration.java
new file mode 100644
index 0000000..cbd7b55
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorCacheKeyConfiguration.java
@@ -0,0 +1,108 @@
+/*
+ * 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.visor.node;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.ignite.cache.CacheKeyConfiguration;
+import org.apache.ignite.internal.util.typedef.F;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+
+/**
+ * Data transfer object for configuration of cache key data structures.
+ */
+public class VisorCacheKeyConfiguration extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Type name. */
+ private String typeName;
+
+ /** Affinity key field name. */
+ private String affKeyFieldName;
+
+ /**
+ * Construct data transfer object for cache key configurations properties.
+ *
+ * @param cfgs Cache key configurations.
+ * @return Cache key configurations properties.
+ */
+ public static List<VisorCacheKeyConfiguration> list(CacheKeyConfiguration[] cfgs) {
+ List<VisorCacheKeyConfiguration> res = new ArrayList<>();
+
+ if (!F.isEmpty(cfgs)) {
+ for (CacheKeyConfiguration cfg : cfgs)
+ res.add(new VisorCacheKeyConfiguration(cfg));
+ }
+
+ return res;
+ }
+
+ /**
+ * Default constructor.
+ */
+ public VisorCacheKeyConfiguration() {
+ // No-op.
+ }
+
+ /**
+ * Create data transfer object for cache key configuration.
+ *
+ * @param src Cache key configuration.
+ */
+ public VisorCacheKeyConfiguration(CacheKeyConfiguration src) {
+ typeName = src.getTypeName();
+ affKeyFieldName = src.getAffinityKeyFieldName();
+ }
+
+ /**
+ * @return Type name.
+ */
+ public String getTypeName() {
+ return typeName;
+ }
+
+ /**
+ * @return Affinity key field name.
+ */
+ public String getAffinityKeyFieldName() {
+ return affKeyFieldName;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeString(out, typeName);
+ U.writeString(out, affKeyFieldName);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ typeName = U.readString(in);
+ affKeyFieldName = U.readString(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorCacheKeyConfiguration.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorExecutorConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorExecutorConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorExecutorConfiguration.java
new file mode 100644
index 0000000..82eaf0b
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorExecutorConfiguration.java
@@ -0,0 +1,108 @@
+/*
+ * 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.visor.node;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.ignite.configuration.ExecutorConfiguration;
+import org.apache.ignite.internal.util.typedef.F;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+
+/**
+ * Data transfer object for configuration of executor data structures.
+ */
+public class VisorExecutorConfiguration extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Thread pool name. */
+ private String name;
+
+ /** Thread pool size. */
+ private int size;
+
+ /**
+ * Construct data transfer object for Executor configurations properties.
+ *
+ * @param cfgs Executor configurations.
+ * @return Executor configurations properties.
+ */
+ public static List<VisorExecutorConfiguration> list(ExecutorConfiguration[] cfgs) {
+ List<VisorExecutorConfiguration> res = new ArrayList<>();
+
+ if (!F.isEmpty(cfgs)) {
+ for (ExecutorConfiguration cfg : cfgs)
+ res.add(new VisorExecutorConfiguration(cfg));
+ }
+
+ return res;
+ }
+
+ /**
+ * Default constructor.
+ */
+ public VisorExecutorConfiguration() {
+ // No-op.
+ }
+
+ /**
+ * Create data transfer object for executor configuration.
+ *
+ * @param src Executor configuration.
+ */
+ public VisorExecutorConfiguration(ExecutorConfiguration src) {
+ name = src.getName();
+ size = src.getSize();
+ }
+
+ /**
+ * @return Executor name.
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * @return Thread pool size.
+ */
+ public int getSize() {
+ return size;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeString(out, name);
+ out.writeInt(size);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ name = U.readString(in);
+ size = in.readInt();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorExecutorConfiguration.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorExecutorServiceConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorExecutorServiceConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorExecutorServiceConfiguration.java
index 0ad9288..6929190 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorExecutorServiceConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorExecutorServiceConfiguration.java
@@ -20,9 +20,12 @@ package org.apache.ignite.internal.visor.node;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
+import java.util.List;
import org.apache.ignite.configuration.ConnectorConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.configuration.OdbcConfiguration;
import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.internal.visor.VisorDataTransferObject;
/**
@@ -53,6 +56,30 @@ public class VisorExecutorServiceConfiguration extends VisorDataTransferObject {
/** REST requests pool size. */
private int restPoolSz;
+ /** Async Callback pool size. */
+ private int cbPoolSize;
+
+ /** Data stream pool size. */
+ private int dataStreamerPoolSize;
+
+ /** Query pool size. */
+ private int qryPoolSize;
+
+ /** Use striped pool for internal requests processing when possible */
+ private int stripedPoolSize;
+
+ /** Service pool size. */
+ private int svcPoolSize;
+
+ /** Utility cache pool size. */
+ private int utilityCachePoolSize;
+
+ /** ODBC pool size. */
+ private int odbcPoolSize;
+
+ /** List of executor configurations. */
+ private List<VisorExecutorConfiguration> executors;
+
/**
* Default constructor.
*/
@@ -77,6 +104,20 @@ public class VisorExecutorServiceConfiguration extends VisorDataTransferObject {
if (cc != null)
restPoolSz = cc.getThreadPoolSize();
+
+ cbPoolSize = c.getAsyncCallbackPoolSize();
+ dataStreamerPoolSize = c.getDataStreamerThreadPoolSize();
+ qryPoolSize = c.getQueryThreadPoolSize();
+ stripedPoolSize = c.getStripedPoolSize();
+ svcPoolSize = c.getServiceThreadPoolSize();
+ utilityCachePoolSize = c.getUtilityCacheThreadPoolSize();
+
+ OdbcConfiguration oc = c.getOdbcConfiguration();
+
+ if (oc != null)
+ odbcPoolSize = oc.getThreadPoolSize();
+
+ executors = VisorExecutorConfiguration.list(c.getExecutorConfiguration());
}
/**
@@ -128,6 +169,64 @@ public class VisorExecutorServiceConfiguration extends VisorDataTransferObject {
return restPoolSz;
}
+ /**
+ * @return Thread pool size to be used for processing of asynchronous callbacks.
+ */
+ public int getCallbackPoolSize() {
+ return cbPoolSize;
+ }
+
+ /**
+ * @return Thread pool size to be used for data stream messages.
+ */
+ public int getDataStreamerPoolSize() {
+ return dataStreamerPoolSize;
+ }
+
+ /**
+ * @return Thread pool size to be used in grid for query messages.
+ */
+ public int getQueryThreadPoolSize() {
+ return qryPoolSize;
+ }
+
+ /**
+ * @return Positive value if striped pool should be initialized
+ * with configured number of threads (stripes) and used for requests processing
+ * or non-positive value to process requests in system pool.
+ */
+ public int getStripedPoolSize() {
+ return stripedPoolSize;
+ }
+
+ /**
+ * @return Thread pool size to be used in grid to process service proxy invocations.
+ */
+ public int getServiceThreadPoolSize() {
+ return svcPoolSize;
+ }
+
+ /**
+ * @return Thread pool size to be used in grid for utility cache messages.
+ */
+ public int getUtilityCacheThreadPoolSize() {
+ return utilityCachePoolSize;
+ }
+
+ /**
+ * @return Thread pool that is in charge of processing ODBC tasks.
+ */
+ public int getOdbcThreadPoolSize() {
+ return odbcPoolSize;
+ }
+
+ /**
+ * @return List of executor configurations.
+ */
+ public List<VisorExecutorConfiguration> getExecutors() {
+ return executors;
+ }
+
/** {@inheritDoc} */
@Override protected void writeExternalData(ObjectOutput out) throws IOException {
out.writeInt(pubPoolSize);
@@ -137,6 +236,14 @@ public class VisorExecutorServiceConfiguration extends VisorDataTransferObject {
out.writeInt(p2pPoolSz);
out.writeInt(rebalanceThreadPoolSize);
out.writeInt(restPoolSz);
+ out.writeInt(cbPoolSize);
+ out.writeInt(dataStreamerPoolSize);
+ out.writeInt(qryPoolSize);
+ out.writeInt(stripedPoolSize);
+ out.writeInt(svcPoolSize);
+ out.writeInt(utilityCachePoolSize);
+ out.writeInt(odbcPoolSize);
+ U.writeCollection(out, executors);
}
/** {@inheritDoc} */
@@ -148,6 +255,14 @@ public class VisorExecutorServiceConfiguration extends VisorDataTransferObject {
p2pPoolSz = in.readInt();
rebalanceThreadPoolSize = in.readInt();
restPoolSz = in.readInt();
+ cbPoolSize = in.readInt();
+ dataStreamerPoolSize = in.readInt();
+ qryPoolSize = in.readInt();
+ stripedPoolSize = in.readInt();
+ svcPoolSize = in.readInt();
+ utilityCachePoolSize = in.readInt();
+ odbcPoolSize = in.readInt();
+ executors = U.readList(in);
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorGridConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorGridConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorGridConfiguration.java
index 23a74e7..ea5ce9e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorGridConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorGridConfiguration.java
@@ -25,13 +25,17 @@ import java.util.List;
import java.util.Map;
import java.util.Properties;
import org.apache.ignite.IgniteSystemProperties;
+import org.apache.ignite.configuration.BinaryConfiguration;
+import org.apache.ignite.configuration.HadoopConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.configuration.OdbcConfiguration;
import org.apache.ignite.internal.IgniteEx;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.internal.visor.VisorDataTransferObject;
import static org.apache.ignite.internal.visor.util.VisorTaskUtils.compactArray;
+import static org.apache.ignite.internal.visor.util.VisorTaskUtils.compactClass;
/**
* Data transfer object for node configuration data.
@@ -91,6 +95,27 @@ public class VisorGridConfiguration extends VisorDataTransferObject {
/** Database configuration. */
private VisorMemoryConfiguration memCfg;
+ /** Cache store session listeners. */
+ private String storeSesLsnrs;
+
+ /** Warmup closure. Will be invoked before actual grid start. */
+ private String warmupClos;
+
+ /** Binary configuration. */
+ private VisorBinaryConfiguration binaryCfg;
+
+ /** List of cache key configurations. */
+ private List<VisorCacheKeyConfiguration> cacheKeyCfgs;
+
+ /** Hadoop configuration. */
+ private VisorHadoopConfiguration hadoopCfg;
+
+ /** ODBC configuration. */
+ private VisorOdbcConfiguration odbcCfg;
+
+ /** List of service configurations. */
+ private List<VisorServiceConfiguration> srvcCfgs;
+
/**
* Default constructor.
*/
@@ -127,6 +152,28 @@ public class VisorGridConfiguration extends VisorDataTransferObject {
if (c.getMemoryConfiguration() != null)
memCfg = new VisorMemoryConfiguration(c.getMemoryConfiguration());
+
+ storeSesLsnrs = compactArray(c.getCacheStoreSessionListenerFactories());
+ warmupClos = compactClass(c.getWarmupClosure());
+
+ BinaryConfiguration bc = c.getBinaryConfiguration();
+
+ if (bc != null)
+ binaryCfg = new VisorBinaryConfiguration();
+
+ cacheKeyCfgs = VisorCacheKeyConfiguration.list(c.getCacheKeyConfiguration());
+
+ HadoopConfiguration hc = c.getHadoopConfiguration();
+
+ if (hc != null)
+ hadoopCfg = new VisorHadoopConfiguration(hc);
+
+ OdbcConfiguration oc = c.getOdbcConfiguration();
+
+ if (oc != null)
+ odbcCfg = new VisorOdbcConfiguration(c.getOdbcConfiguration());
+
+ srvcCfgs = VisorServiceConfiguration.list(c.getServiceConfiguration());
}
/**
@@ -248,6 +295,55 @@ public class VisorGridConfiguration extends VisorDataTransferObject {
return memCfg;
}
+ /**
+ * @return Cache store session listener factories.
+ */
+ public String getCacheStoreSessionListenerFactories() {
+ return storeSesLsnrs;
+ }
+
+ /**
+ * @return Warmup closure to execute.
+ */
+ public String getWarmupClosure() {
+ return warmupClos;
+ }
+
+ /**
+ * @return Binary configuration.
+ */
+ public VisorBinaryConfiguration getBinaryConfiguration() {
+ return binaryCfg;
+ }
+
+ /**
+ * @return List of cache key configurations.
+ */
+ public List<VisorCacheKeyConfiguration> getCacheKeyConfigurations() {
+ return cacheKeyCfgs;
+ }
+
+ /**
+ * @return Hadoop configuration.
+ */
+ public VisorHadoopConfiguration getHadoopConfiguration() {
+ return hadoopCfg;
+ }
+
+ /**
+ * @return ODBC configuration.
+ */
+ public VisorOdbcConfiguration getOdbcConfiguration() {
+ return odbcCfg;
+ }
+
+ /**
+ * @return List of service configurations
+ */
+ public List<VisorServiceConfiguration> getServiceConfigurations() {
+ return srvcCfgs;
+ }
+
/** {@inheritDoc} */
@Override protected void writeExternalData(ObjectOutput out) throws IOException {
out.writeObject(basic);
@@ -267,6 +363,13 @@ public class VisorGridConfiguration extends VisorDataTransferObject {
out.writeObject(atomic);
out.writeObject(txCfg);
out.writeObject(memCfg);
+ U.writeString(out, storeSesLsnrs);
+ U.writeString(out, warmupClos);
+ out.writeObject(binaryCfg);
+ U.writeCollection(out, cacheKeyCfgs);
+ out.writeObject(hadoopCfg);
+ out.writeObject(odbcCfg);
+ U.writeCollection(out, srvcCfgs);
}
/** {@inheritDoc} */
@@ -288,6 +391,13 @@ public class VisorGridConfiguration extends VisorDataTransferObject {
atomic = (VisorAtomicConfiguration)in.readObject();
txCfg = (VisorTransactionConfiguration)in.readObject();
memCfg = (VisorMemoryConfiguration)in.readObject();
+ storeSesLsnrs = U.readString(in);
+ warmupClos = U.readString(in);
+ binaryCfg = (VisorBinaryConfiguration)in.readObject();
+ cacheKeyCfgs = U.readList(in);
+ hadoopCfg = (VisorHadoopConfiguration)in.readObject();
+ odbcCfg = (VisorOdbcConfiguration)in.readObject();
+ srvcCfgs = U.readList(in);
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorHadoopConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorHadoopConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorHadoopConfiguration.java
new file mode 100644
index 0000000..de41def
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorHadoopConfiguration.java
@@ -0,0 +1,145 @@
+/*
+ * 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.visor.node;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.util.List;
+import org.apache.ignite.configuration.HadoopConfiguration;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+import org.jetbrains.annotations.Nullable;
+
+import static org.apache.ignite.internal.visor.util.VisorTaskUtils.compactClass;
+
+/**
+ * Data transfer object for configuration of hadoop data structures.
+ */
+public class VisorHadoopConfiguration extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Map reduce planner. */
+ private String planner;
+
+ /** */
+ private boolean extExecution;
+
+ /** Finished job info TTL. */
+ private long finishedJobInfoTtl;
+
+ /** */
+ private int maxParallelTasks;
+
+ /** */
+ private int maxTaskQueueSize;
+
+ /** Library names. */
+ private List<String> libNames;
+
+ /**
+ * Default constructor.
+ */
+ public VisorHadoopConfiguration() {
+ // No-op.
+ }
+
+ /**
+ * Create data transfer object for hadoop configuration.
+ *
+ * @param src Hadoop configuration.
+ */
+ public VisorHadoopConfiguration(HadoopConfiguration src) {
+ planner = compactClass(src.getMapReducePlanner());
+ // TODO: IGNITE-404: Uncomment when fixed.
+ //extExecution = cfg.isExternalExecution();
+ finishedJobInfoTtl = src.getFinishedJobInfoTtl();
+ maxParallelTasks = src.getMaxParallelTasks();
+ maxTaskQueueSize = src.getMaxTaskQueueSize();
+ libNames = U.sealList(src.getNativeLibraryNames());
+ }
+
+ /**
+ * @return Max number of local tasks that may be executed in parallel.
+ */
+ public int getMaxParallelTasks() {
+ return maxParallelTasks;
+ }
+
+ /**
+ * @return Max task queue size.
+ */
+ public int getMaxTaskQueueSize() {
+ return maxTaskQueueSize;
+ }
+
+ /**
+ * @return Finished job info time-to-live.
+ */
+ public long getFinishedJobInfoTtl() {
+ return finishedJobInfoTtl;
+ }
+
+ /**
+ * @return {@code True} if external execution.
+ */
+ public boolean isExternalExecution() {
+ return extExecution;
+ }
+
+ /**
+ * @return Map-reduce planner.
+ */
+ public String getMapReducePlanner() {
+ return planner;
+ }
+
+ /**
+ * @return Native library names.
+ */
+ @Nullable public List<String> getNativeLibraryNames() {
+ return libNames;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeString(out, planner);
+ out.writeBoolean(extExecution);
+ out.writeLong(finishedJobInfoTtl);
+ out.writeInt(maxParallelTasks);
+ out.writeInt(maxTaskQueueSize);
+ U.writeCollection(out, libNames);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ planner = U.readString(in);
+ extExecution = in.readBoolean();
+ finishedJobInfoTtl = in.readLong();
+ maxParallelTasks = in.readInt();
+ maxTaskQueueSize = in.readInt();
+ libNames = U.readList(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorHadoopConfiguration.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorIgfsConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorIgfsConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorIgfsConfiguration.java
index db91982..3075b26 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorIgfsConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorIgfsConfiguration.java
@@ -32,8 +32,6 @@ import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.internal.visor.VisorDataTransferObject;
import org.jetbrains.annotations.Nullable;
-import static org.apache.ignite.internal.visor.util.VisorTaskUtils.compactClass;
-
/**
* Data transfer object for IGFS configuration properties.
*/
@@ -98,6 +96,15 @@ public class VisorIgfsConfiguration extends VisorDataTransferObject {
/** Amount of sequential block reads before prefetch is triggered. */
private int seqReadsBeforePrefetch;
+ /** Metadata co-location flag. */
+ private boolean colocateMeta;
+
+ /** Relaxed consistency flag. */
+ private boolean relaxedConsistency;
+
+ /** Update file length on flush flag. */
+ private boolean updateFileLenOnFlush;
+
/**
* Default constructor.
*/
@@ -134,6 +141,10 @@ public class VisorIgfsConfiguration extends VisorDataTransferObject {
ipcEndpointEnabled = igfs.isIpcEndpointEnabled();
mgmtPort = igfs.getManagementPort();
seqReadsBeforePrefetch = igfs.getSequentialReadsBeforePrefetch();
+
+ colocateMeta = igfs.isColocateMetadata();
+ relaxedConsistency = igfs.isRelaxedConsistency();
+ updateFileLenOnFlush = igfs.isUpdateFileLengthOnFlush();
}
/**
@@ -286,6 +297,27 @@ public class VisorIgfsConfiguration extends VisorDataTransferObject {
return seqReadsBeforePrefetch;
}
+ /**
+ * @return {@code True} if metadata co-location is enabled.
+ */
+ public boolean isColocateMetadata() {
+ return colocateMeta;
+ }
+
+ /**
+ * @return {@code True} if relaxed consistency is enabled.
+ */
+ public boolean isRelaxedConsistency() {
+ return relaxedConsistency;
+ }
+
+ /**
+ * @return Whether to update file length on flush.
+ */
+ public boolean isUpdateFileLengthOnFlush() {
+ return updateFileLenOnFlush;
+ }
+
/** {@inheritDoc} */
@Override protected void writeExternalData(ObjectOutput out) throws IOException {
U.writeString(out, name);
@@ -307,6 +339,9 @@ public class VisorIgfsConfiguration extends VisorDataTransferObject {
out.writeBoolean(ipcEndpointEnabled);
out.writeInt(mgmtPort);
out.writeInt(seqReadsBeforePrefetch);
+ out.writeBoolean(colocateMeta);
+ out.writeBoolean(relaxedConsistency);
+ out.writeBoolean(updateFileLenOnFlush);
}
/** {@inheritDoc} */
@@ -330,6 +365,9 @@ public class VisorIgfsConfiguration extends VisorDataTransferObject {
ipcEndpointEnabled = in.readBoolean();
mgmtPort = in.readInt();
seqReadsBeforePrefetch = in.readInt();
+ colocateMeta = in.readBoolean();
+ relaxedConsistency = in.readBoolean();
+ updateFileLenOnFlush = in.readBoolean();
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorMemoryPolicyConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorMemoryPolicyConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorMemoryPolicyConfiguration.java
index 509aa48..d117e5f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorMemoryPolicyConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorMemoryPolicyConfiguration.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.visor.node;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
+import org.apache.ignite.configuration.DataPageEvictionMode;
import org.apache.ignite.configuration.MemoryPolicyConfiguration;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.U;
@@ -41,6 +42,17 @@ public class VisorMemoryPolicyConfiguration extends VisorDataTransferObject {
/** Path for memory mapped file. */
private String swapFilePath;
+ /** An algorithm for memory pages eviction. */
+ private DataPageEvictionMode pageEvictionMode;
+
+ /**
+ * A threshold for memory pages eviction initiation. For instance, if the threshold is 0.9 it means that the page
+ * memory will start the eviction only after 90% memory region (defined by this policy) is occupied.
+ */
+ private double evictionThreshold;
+
+ /** Minimum number of empty pages in reuse lists. */
+ private int emptyPagesPoolSize;
/**
* Default constructor.
@@ -60,6 +72,9 @@ public class VisorMemoryPolicyConfiguration extends VisorDataTransferObject {
name = plc.getName();
size = plc.getSize();
swapFilePath = plc.getSwapFilePath();
+ pageEvictionMode = plc.getPageEvictionMode();
+ evictionThreshold = plc.getEvictionThreshold();
+ emptyPagesPoolSize = plc.getEmptyPagesPoolSize();
}
/**
@@ -83,12 +98,35 @@ public class VisorMemoryPolicyConfiguration extends VisorDataTransferObject {
return swapFilePath;
}
+ /**
+ * @return Memory pages eviction algorithm. {@link DataPageEvictionMode#DISABLED} used by default.
+ */
+ public DataPageEvictionMode getPageEvictionMode() {
+ return pageEvictionMode;
+ }
+
+ /**
+ * @return Memory pages eviction threshold.
+ */
+ public double getEvictionThreshold() {
+ return evictionThreshold;
+ }
+
+ /**
+ * @return Minimum number of empty pages in reuse list.
+ */
+ public int getEmptyPagesPoolSize() {
+ return emptyPagesPoolSize;
+ }
/** {@inheritDoc} */
@Override protected void writeExternalData(ObjectOutput out) throws IOException {
U.writeString(out, name);
out.writeLong(size);
U.writeString(out, swapFilePath);
+ U.writeEnum(out, pageEvictionMode);
+ out.writeDouble(evictionThreshold);
+ out.writeInt(emptyPagesPoolSize);
}
/** {@inheritDoc} */
@@ -96,6 +134,9 @@ public class VisorMemoryPolicyConfiguration extends VisorDataTransferObject {
name = U.readString(in);
size = in.readLong();
swapFilePath = U.readString(in);
+ pageEvictionMode = DataPageEvictionMode.fromOrdinal(in.readByte());
+ evictionThreshold = in.readDouble();
+ emptyPagesPoolSize = in.readInt();
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodePingTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodePingTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodePingTask.java
index 6169dcb..ee2e968 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodePingTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodePingTask.java
@@ -18,7 +18,6 @@
package org.apache.ignite.internal.visor.node;
import java.util.List;
-import java.util.UUID;
import org.apache.ignite.cluster.ClusterTopologyException;
import org.apache.ignite.compute.ComputeJobResult;
import org.apache.ignite.internal.processors.task.GridInternal;
@@ -31,12 +30,12 @@ import org.jetbrains.annotations.Nullable;
* Ping other node.
*/
@GridInternal
-public class VisorNodePingTask extends VisorOneNodeTask<UUID, VisorNodePingTaskResult> {
+public class VisorNodePingTask extends VisorOneNodeTask<VisorNodePingTaskArg, VisorNodePingTaskResult> {
/** */
private static final long serialVersionUID = 0L;
/** {@inheritDoc} */
- @Override protected VisorNodePingJob job(UUID arg) {
+ @Override protected VisorNodePingJob job(VisorNodePingTaskArg arg) {
return new VisorNodePingJob(arg, debug);
}
@@ -53,7 +52,7 @@ public class VisorNodePingTask extends VisorOneNodeTask<UUID, VisorNodePingTaskR
/**
* Job that ping node.
*/
- private static class VisorNodePingJob extends VisorJob<UUID, VisorNodePingTaskResult> {
+ private static class VisorNodePingJob extends VisorJob<VisorNodePingTaskArg, VisorNodePingTaskResult> {
/** */
private static final long serialVersionUID = 0L;
@@ -61,15 +60,15 @@ public class VisorNodePingTask extends VisorOneNodeTask<UUID, VisorNodePingTaskR
* @param arg Node ID to ping.
* @param debug Debug flag.
*/
- protected VisorNodePingJob(UUID arg, boolean debug) {
+ protected VisorNodePingJob(VisorNodePingTaskArg arg, boolean debug) {
super(arg, debug);
}
/** {@inheritDoc} */
- @Override protected VisorNodePingTaskResult run(UUID nodeToPing) {
+ @Override protected VisorNodePingTaskResult run(VisorNodePingTaskArg arg) {
long start = System.currentTimeMillis();
- return new VisorNodePingTaskResult(ignite.cluster().pingNode(nodeToPing), start, System.currentTimeMillis());
+ return new VisorNodePingTaskResult(ignite.cluster().pingNode(arg.getNodeId()), start, System.currentTimeMillis());
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodePingTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodePingTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodePingTaskArg.java
new file mode 100644
index 0000000..bd5a826
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodePingTaskArg.java
@@ -0,0 +1,73 @@
+/*
+ * 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.visor.node;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.util.UUID;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+
+/**
+ * Argument for {@link VisorNodePingTask}.
+ */
+public class VisorNodePingTaskArg extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Node ID to ping. */
+ private UUID nodeId;
+
+ /**
+ * Default constructor.
+ */
+ public VisorNodePingTaskArg() {
+ // No-op.
+ }
+
+ /**
+ * @param nodeId Node ID to ping.
+ */
+ public VisorNodePingTaskArg(UUID nodeId) {
+ this.nodeId = nodeId;
+ }
+
+ /**
+ * @return Node ID to ping.
+ */
+ public UUID getNodeId() {
+ return nodeId;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeUuid(out, nodeId);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ nodeId = U.readUuid(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorNodePingTaskArg.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeSuppressedErrors.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeSuppressedErrors.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeSuppressedErrors.java
index 482adce..fa599ec 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeSuppressedErrors.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeSuppressedErrors.java
@@ -33,7 +33,7 @@ public class VisorNodeSuppressedErrors extends VisorDataTransferObject {
private static final long serialVersionUID = 0L;
/** Order number of last suppressed error. */
- private Long order;
+ private long order;
/** List of suppressed errors. */
private List<VisorSuppressedError> errors;
@@ -51,7 +51,7 @@ public class VisorNodeSuppressedErrors extends VisorDataTransferObject {
* @param order Order number of last suppressed error.
* @param errors List of suppressed errors.
*/
- public VisorNodeSuppressedErrors(Long order, List<VisorSuppressedError> errors) {
+ public VisorNodeSuppressedErrors(long order, List<VisorSuppressedError> errors) {
this.order = order;
this.errors = errors;
}
@@ -59,7 +59,7 @@ public class VisorNodeSuppressedErrors extends VisorDataTransferObject {
/**
* @return Order number of last suppressed error.
*/
- public Long getOrder() {
+ public long getOrder() {
return order;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeSuppressedErrorsTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeSuppressedErrorsTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeSuppressedErrorsTask.java
index c7b9cf7..263d3e7 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeSuppressedErrorsTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeSuppressedErrorsTask.java
@@ -35,13 +35,13 @@ import org.jetbrains.annotations.Nullable;
* Task to collect last errors on nodes.
*/
@GridInternal
-public class VisorNodeSuppressedErrorsTask extends VisorMultiNodeTask<Map<UUID, Long>,
+public class VisorNodeSuppressedErrorsTask extends VisorMultiNodeTask<VisorNodeSuppressedErrorsTaskArg,
Map<UUID, VisorNodeSuppressedErrors>, VisorNodeSuppressedErrors> {
/** */
private static final long serialVersionUID = 0L;
/** {@inheritDoc} */
- @Override protected VisorNodeSuppressedErrorsJob job(Map<UUID, Long> arg) {
+ @Override protected VisorNodeSuppressedErrorsJob job(VisorNodeSuppressedErrorsTaskArg arg) {
return new VisorNodeSuppressedErrorsJob(arg, debug);
}
@@ -63,7 +63,7 @@ public class VisorNodeSuppressedErrorsTask extends VisorMultiNodeTask<Map<UUID,
/**
* Job to collect last errors on nodes.
*/
- private static class VisorNodeSuppressedErrorsJob extends VisorJob<Map<UUID, Long>, VisorNodeSuppressedErrors> {
+ private static class VisorNodeSuppressedErrorsJob extends VisorJob<VisorNodeSuppressedErrorsTaskArg, VisorNodeSuppressedErrors> {
/** */
private static final long serialVersionUID = 0L;
@@ -73,13 +73,13 @@ public class VisorNodeSuppressedErrorsTask extends VisorMultiNodeTask<Map<UUID,
* @param arg Map with last error counter.
* @param debug Debug flag.
*/
- private VisorNodeSuppressedErrorsJob(Map<UUID, Long> arg, boolean debug) {
+ private VisorNodeSuppressedErrorsJob(VisorNodeSuppressedErrorsTaskArg arg, boolean debug) {
super(arg, debug);
}
/** {@inheritDoc} */
- @Override protected VisorNodeSuppressedErrors run(Map<UUID, Long> arg) {
- Long lastOrder = arg.get(ignite.localNode().id());
+ @Override protected VisorNodeSuppressedErrors run(VisorNodeSuppressedErrorsTaskArg arg) {
+ Long lastOrder = arg.getOrders().get(ignite.localNode().id());
long order = lastOrder != null ? lastOrder : 0;
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeSuppressedErrorsTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeSuppressedErrorsTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeSuppressedErrorsTaskArg.java
new file mode 100644
index 0000000..17f7a9c
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeSuppressedErrorsTaskArg.java
@@ -0,0 +1,74 @@
+/*
+ * 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.visor.node;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.util.Map;
+import java.util.UUID;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+
+/**
+ * Arguments for task {@link VisorNodeSuppressedErrorsTask}
+ */
+public class VisorNodeSuppressedErrorsTaskArg extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Last laded error orders. */
+ private Map<UUID, Long> orders;
+
+ /**
+ * Default constructor.
+ */
+ public VisorNodeSuppressedErrorsTaskArg() {
+ // No-op.
+ }
+
+ /**
+ * @param orders Last laded error orders.
+ */
+ public VisorNodeSuppressedErrorsTaskArg(Map<UUID, Long> orders) {
+ this.orders = orders;
+ }
+
+ /**
+ * @return Last laded error orders.
+ */
+ public Map<UUID, Long> getOrders() {
+ return orders;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeMap(out, orders);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ orders = U.readMap(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorNodeSuppressedErrorsTaskArg.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorOdbcConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorOdbcConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorOdbcConfiguration.java
new file mode 100644
index 0000000..e29376b
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorOdbcConfiguration.java
@@ -0,0 +1,114 @@
+/*
+ * 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.visor.node;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import org.apache.ignite.configuration.OdbcConfiguration;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+
+/**
+ * Data transfer object for configuration of ODBC data structures.
+ */
+public class VisorOdbcConfiguration extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Endpoint address. */
+ private String endpointAddr;
+
+ /** Socket send buffer size. */
+ private int sockSndBufSize;
+
+ /** Socket receive buffer size. */
+ private int sockRcvBufSize;
+
+ /** Max number of opened cursors per connection. */
+ private int maxOpenCursors;
+
+ /**
+ * Default constructor.
+ */
+ public VisorOdbcConfiguration() {
+ // No-op.
+ }
+
+ /**
+ * Create data transfer object for ODBC configuration.
+ *
+ * @param src ODBC configuration.
+ */
+ public VisorOdbcConfiguration(OdbcConfiguration src) {
+ endpointAddr = src.getEndpointAddress();
+ sockSndBufSize = src.getSocketSendBufferSize();
+ sockRcvBufSize = src.getSocketReceiveBufferSize();
+ maxOpenCursors = src.getMaxOpenCursors();
+ }
+
+ /**
+ * @return ODBC endpoint address.
+ */
+ public String getEndpointAddress() {
+ return endpointAddr;
+ }
+
+ /**
+ * @return Maximum number of opened cursors.
+ */
+ public int getMaxOpenCursors() {
+ return maxOpenCursors;
+ }
+
+ /**
+ * @return Socket send buffer size in bytes.
+ */
+ public int getSocketSendBufferSize() {
+ return sockSndBufSize;
+ }
+
+ /**
+ * @return Socket receive buffer size in bytes.
+ */
+ public int getSocketReceiveBufferSize() {
+ return sockRcvBufSize;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeString(out, endpointAddr);
+ out.writeInt(sockSndBufSize);
+ out.writeInt(sockRcvBufSize);
+ out.writeInt(maxOpenCursors);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ endpointAddr = U.readString(in);
+ sockSndBufSize = in.readInt();
+ sockRcvBufSize = in.readInt();
+ maxOpenCursors = in.readInt();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorOdbcConfiguration.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorRestConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorRestConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorRestConfiguration.java
index 1f1e2b7..baf0ea6 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorRestConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorRestConfiguration.java
@@ -59,11 +59,53 @@ public class VisorRestConfiguration extends VisorDataTransferObject {
private String tcpHost;
/** REST TCP binary port. */
- private Integer tcpPort;
+ private int tcpPort;
/** Context factory for SSL. */
private String tcpSslCtxFactory;
+ /** REST secret key. */
+ private String secretKey;
+
+ /** TCP no delay flag. */
+ private boolean noDelay;
+
+ /** REST TCP direct buffer flag. */
+ private boolean directBuf;
+
+ /** REST TCP send buffer size. */
+ private int sndBufSize;
+
+ /** REST TCP receive buffer size. */
+ private int rcvBufSize;
+
+ /** REST idle timeout for query cursor. */
+ private long idleQryCurTimeout;
+
+ /** REST idle check frequency for query cursor. */
+ private long idleQryCurCheckFreq;
+
+ /** REST TCP send queue limit. */
+ private int sndQueueLimit;
+
+ /** REST TCP selector count. */
+ private int selectorCnt;
+
+ /** Idle timeout. */
+ private long idleTimeout;
+
+ /** SSL need client auth flag. */
+ private boolean sslClientAuth;
+
+ /** SSL context factory for rest binary server. */
+ private String sslFactory;
+
+ /** Port range */
+ private int portRange;
+
+ /** Client message interceptor. */
+ private String msgInterceptor;
+
/**
* Default constructor.
*/
@@ -79,18 +121,32 @@ public class VisorRestConfiguration extends VisorDataTransferObject {
public VisorRestConfiguration(IgniteConfiguration c) {
assert c != null;
- ConnectorConfiguration clnCfg = c.getConnectorConfiguration();
+ ConnectorConfiguration conCfg = c.getConnectorConfiguration();
- restEnabled = clnCfg != null;
+ restEnabled = conCfg != null;
if (restEnabled) {
- tcpSslEnabled = clnCfg.isSslEnabled();
- jettyPath = clnCfg.getJettyPath();
+ tcpSslEnabled = conCfg.isSslEnabled();
+ jettyPath = conCfg.getJettyPath();
jettyHost = getProperty(IGNITE_JETTY_HOST);
jettyPort = intValue(IGNITE_JETTY_PORT, null);
- tcpHost = clnCfg.getHost();
- tcpPort = clnCfg.getPort();
- tcpSslCtxFactory = compactClass(clnCfg.getSslContextFactory());
+ tcpHost = conCfg.getHost();
+ tcpPort = conCfg.getPort();
+ tcpSslCtxFactory = compactClass(conCfg.getSslContextFactory());
+ secretKey = conCfg.getSecretKey();
+ noDelay = conCfg.isNoDelay();
+ directBuf = conCfg.isDirectBuffer();
+ sndBufSize = conCfg.getSendBufferSize();
+ rcvBufSize = conCfg.getReceiveBufferSize();
+ idleQryCurTimeout = conCfg.getIdleQueryCursorTimeout();
+ idleQryCurCheckFreq = conCfg.getIdleQueryCursorCheckFrequency();
+ sndQueueLimit = conCfg.getSendQueueLimit();
+ selectorCnt = conCfg.getSelectorCount();
+ idleTimeout = conCfg.getIdleTimeout();
+ sslClientAuth = conCfg.isSslClientAuth();
+ sslFactory = compactClass(conCfg.getSslFactory());
+ portRange = conCfg.getPortRange();
+ msgInterceptor = compactClass(conCfg.getMessageInterceptor());
}
}
@@ -139,7 +195,7 @@ public class VisorRestConfiguration extends VisorDataTransferObject {
/**
* @return REST TCP binary port.
*/
- @Nullable public Integer getTcpPort() {
+ public int getTcpPort() {
return tcpPort;
}
@@ -150,6 +206,107 @@ public class VisorRestConfiguration extends VisorDataTransferObject {
return tcpSslCtxFactory;
}
+ /**
+ * @return Secret key.
+ */
+ @Nullable public String getSecretKey() {
+ return secretKey;
+ }
+
+ /**
+ * @return Whether {@code TCP_NODELAY} option should be enabled.
+ */
+ public boolean isNoDelay() {
+ return noDelay;
+ }
+
+ /**
+ * @return Whether direct buffer should be used.
+ */
+ public boolean isDirectBuffer() {
+ return directBuf;
+ }
+
+ /**
+ * @return REST TCP server send buffer size (0 for default).
+ */
+ public int getSendBufferSize() {
+ return sndBufSize;
+ }
+
+ /**
+ * @return REST TCP server receive buffer size (0 for default).
+ */
+ public int getReceiveBufferSize() {
+ return rcvBufSize;
+ }
+
+ /**
+ * @return Idle query cursors timeout in milliseconds
+ */
+ public long getIdleQueryCursorTimeout() {
+ return idleQryCurTimeout;
+ }
+
+ /**
+ * @return Idle query cursor check frequency in milliseconds.
+ */
+ public long getIdleQueryCursorCheckFrequency() {
+ return idleQryCurCheckFreq;
+ }
+
+ /**
+ * @return REST TCP server send queue limit (0 for unlimited).
+ */
+ public int getSendQueueLimit() {
+ return sndQueueLimit;
+ }
+
+ /**
+ * @return Number of selector threads for REST TCP server.
+ */
+ public int getSelectorCount() {
+ return selectorCnt;
+ }
+
+ /**
+ * @return Idle timeout in milliseconds.
+ */
+ public long getIdleTimeout() {
+ return idleTimeout;
+ }
+
+ /**
+ * Gets a flag indicating whether or not remote clients will be required to have a valid SSL certificate which
+ * validity will be verified with trust manager.
+ *
+ * @return Whether or not client authentication is required.
+ */
+ public boolean isSslClientAuth() {
+ return sslClientAuth;
+ }
+
+ /**
+ * @return SslContextFactory instance.
+ */
+ public String getSslFactory() {
+ return sslFactory;
+ }
+
+ /**
+ * @return Number of ports to try.
+ */
+ public int getPortRange() {
+ return portRange;
+ }
+
+ /**
+ * @return Interceptor.
+ */
+ @Nullable public String getMessageInterceptor() {
+ return msgInterceptor;
+ }
+
/** {@inheritDoc} */
@Override protected void writeExternalData(ObjectOutput out) throws IOException {
out.writeBoolean(restEnabled);
@@ -158,8 +315,22 @@ public class VisorRestConfiguration extends VisorDataTransferObject {
U.writeString(out, jettyHost);
out.writeObject(jettyPort);
U.writeString(out, tcpHost);
- out.writeObject(tcpPort);
+ out.writeInt(tcpPort);
U.writeString(out, tcpSslCtxFactory);
+ U.writeString(out, secretKey);
+ out.writeBoolean(noDelay);
+ out.writeBoolean(directBuf);
+ out.writeInt(sndBufSize);
+ out.writeInt(rcvBufSize);
+ out.writeLong(idleQryCurTimeout);
+ out.writeLong(idleQryCurCheckFreq);
+ out.writeInt(sndQueueLimit);
+ out.writeInt(selectorCnt);
+ out.writeLong(idleTimeout);
+ out.writeBoolean(sslClientAuth);
+ U.writeString(out, sslFactory);
+ out.writeInt(portRange);
+ U.writeString(out, msgInterceptor);
}
/** {@inheritDoc} */
@@ -170,8 +341,22 @@ public class VisorRestConfiguration extends VisorDataTransferObject {
jettyHost = U.readString(in);
jettyPort = (Integer)in.readObject();
tcpHost = U.readString(in);
- tcpPort = (Integer)in.readObject();
+ tcpPort = in.readInt();
tcpSslCtxFactory = U.readString(in);
+ secretKey = U.readString(in);
+ noDelay = in.readBoolean();
+ directBuf = in.readBoolean();
+ sndBufSize = in.readInt();
+ rcvBufSize = in.readInt();
+ idleQryCurTimeout = in.readLong();
+ idleQryCurCheckFreq = in.readLong();
+ sndQueueLimit = in.readInt();
+ selectorCnt = in.readInt();
+ idleTimeout = in.readLong();
+ sslClientAuth = in.readBoolean();
+ sslFactory = U.readString(in);
+ portRange = in.readInt();
+ msgInterceptor = U.readString(in);
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorSegmentationConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorSegmentationConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorSegmentationConfiguration.java
index 6516141..5e4dd40 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorSegmentationConfiguration.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorSegmentationConfiguration.java
@@ -51,6 +51,9 @@ public class VisorSegmentationConfiguration extends VisorDataTransferObject {
/** Whether or not all resolvers should succeed for node to be in correct segment. */
private boolean allResolversPassReq;
+ /** Segmentation resolve attempts count. */
+ private int segResolveAttempts;
+
/**
* Default constructor.
*/
@@ -69,6 +72,7 @@ public class VisorSegmentationConfiguration extends VisorDataTransferObject {
checkFreq = c.getSegmentCheckFrequency();
waitOnStart = c.isWaitForSegmentOnStart();
allResolversPassReq = c.isAllSegmentationResolversPassRequired();
+ segResolveAttempts = c.getSegmentationResolveAttempts();
}
/**
@@ -106,6 +110,13 @@ public class VisorSegmentationConfiguration extends VisorDataTransferObject {
return allResolversPassReq;
}
+ /**
+ * @return Segmentation resolve attempts.
+ */
+ public int getSegmentationResolveAttempts() {
+ return segResolveAttempts;
+ }
+
/** {@inheritDoc} */
@Override protected void writeExternalData(ObjectOutput out) throws IOException {
U.writeEnum(out, plc);
@@ -113,6 +124,7 @@ public class VisorSegmentationConfiguration extends VisorDataTransferObject {
out.writeLong(checkFreq);
out.writeBoolean(waitOnStart);
out.writeBoolean(allResolversPassReq);
+ out.writeInt(segResolveAttempts);
}
/** {@inheritDoc} */
@@ -122,6 +134,7 @@ public class VisorSegmentationConfiguration extends VisorDataTransferObject {
checkFreq = in.readLong();
waitOnStart = in.readBoolean();
allResolversPassReq = in.readBoolean();
+ segResolveAttempts = in.readInt();
}
/** {@inheritDoc} */
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorServiceConfiguration.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorServiceConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorServiceConfiguration.java
new file mode 100644
index 0000000..1cd883e
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorServiceConfiguration.java
@@ -0,0 +1,176 @@
+/*
+ * 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.visor.node;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.util.ArrayList;
+import java.util.List;
+import org.apache.ignite.internal.util.typedef.F;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+import org.apache.ignite.services.ServiceConfiguration;
+
+import static org.apache.ignite.internal.visor.util.VisorTaskUtils.compactClass;
+
+/**
+ * Data transfer object for configuration of service data structures.
+ */
+public class VisorServiceConfiguration extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Service name. */
+ private String name;
+
+ /** Service instance. */
+ private String svc;
+
+ /** Total count. */
+ private int totalCnt;
+
+ /** Max per-node count. */
+ private int maxPerNodeCnt;
+
+ /** Cache name. */
+ private String cacheName;
+
+ /** Affinity key. */
+ private String affKey;
+
+ /** Node filter. */
+ private String nodeFilter;
+
+ /**
+ * Construct data transfer object for service configurations properties.
+ *
+ * @param cfgs Service configurations.
+ * @return Service configurations properties.
+ */
+ public static List<VisorServiceConfiguration> list(ServiceConfiguration[] cfgs) {
+ List<VisorServiceConfiguration> res = new ArrayList<>();
+
+ if (!F.isEmpty(cfgs)) {
+ for (ServiceConfiguration cfg : cfgs)
+ res.add(new VisorServiceConfiguration(cfg));
+ }
+
+ return res;
+ }
+
+ /**
+ * Default constructor.
+ */
+ public VisorServiceConfiguration() {
+ // No-op.
+ }
+
+ /**
+ * Create data transfer object for service configuration.
+ *
+ * @param src Service configuration.
+ */
+ public VisorServiceConfiguration(ServiceConfiguration src) {
+ name = src.getName();
+ svc = compactClass(src.getService());
+ totalCnt = src.getTotalCount();
+ maxPerNodeCnt = src.getMaxPerNodeCount();
+ cacheName = src.getCacheName();
+ affKey = compactClass(src.getAffinityKey());
+ nodeFilter = compactClass(src.getNodeFilter());
+ }
+
+ /**
+ * @return Service name.
+ */
+ public String getName() {
+ return name;
+ }
+
+
+ /**
+ * @return Service instance.
+ */
+ public String getService() {
+ return svc;
+ }
+
+ /**
+ * @return Total number of deployed service instances in the cluster, {@code 0} for unlimited.
+ */
+ public int getTotalCount() {
+ return totalCnt;
+ }
+
+ /**
+ * @return Maximum number of deployed service instances on each node, {@code 0} for unlimited.
+ */
+ public int getMaxPerNodeCount() {
+ return maxPerNodeCnt;
+ }
+
+ /**
+ * @return Cache name, possibly {@code null}.
+ */
+ public String getCacheName() {
+ return cacheName;
+ }
+
+ /**
+ * @return Affinity key, possibly {@code null}.
+ */
+ public String getAffinityKey() {
+ return affKey;
+ }
+
+ /**
+ * @return Node filter used to filter nodes on which the service will be deployed, possibly {@code null}.
+ */
+ public String getNodeFilter() {
+ return nodeFilter;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeString(out, name);
+ U.writeString(out, svc);
+ out.writeInt(totalCnt);
+ out.writeInt(maxPerNodeCnt);
+ U.writeString(out, cacheName);
+ U.writeString(out, affKey);
+ U.writeString(out, nodeFilter);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ name = U.readString(in);
+ svc = U.readString(in);
+ totalCnt = in.readInt();
+ maxPerNodeCnt = in.readInt();
+ cacheName = U.readString(in);
+ affKey = U.readString(in);
+ nodeFilter = U.readString(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorServiceConfiguration.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryArg.java
deleted file mode 100644
index d4eb65a..0000000
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryArg.java
+++ /dev/null
@@ -1,155 +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.visor.query;
-
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
-import org.apache.ignite.internal.util.typedef.internal.S;
-import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.internal.visor.VisorDataTransferObject;
-
-/**
- * Arguments for {@link VisorQueryTask}.
- */
-public class VisorQueryArg extends VisorDataTransferObject {
- /** */
- private static final long serialVersionUID = 0L;
-
- /** Cache name for query. */
- private String cacheName;
-
- /** Query text. */
- private String qryTxt;
-
- /** Distributed joins enabled flag. */
- private boolean distributedJoins;
-
- /** Enforce join order flag. */
- private boolean enforceJoinOrder;
-
- /** Query contains only replicated tables flag.*/
- private boolean replicatedOnly;
-
- /** Flag whether to execute query locally. */
- private boolean loc;
-
- /** Result batch size. */
- private int pageSize;
-
- /**
- * Default constructor.
- */
- public VisorQueryArg() {
- // No-op.
- }
-
- /**
- * @param cacheName Cache name for query.
- * @param qryTxt Query text.
- * @param distributedJoins If {@code true} then distributed joins enabled.
- * @param enforceJoinOrder If {@code true} then enforce join order.
- * @param replicatedOnly {@code true} then query contains only replicated tables.
- * @param loc Flag whether to execute query locally.
- * @param pageSize Result batch size.
- */
- public VisorQueryArg(String cacheName, String qryTxt,
- boolean distributedJoins, boolean enforceJoinOrder, boolean replicatedOnly, boolean loc, int pageSize) {
- this.cacheName = cacheName;
- this.qryTxt = qryTxt;
- this.distributedJoins = distributedJoins;
- this.enforceJoinOrder = enforceJoinOrder;
- this.replicatedOnly = replicatedOnly;
- this.loc = loc;
- this.pageSize = pageSize;
- }
-
- /**
- * @return Cache name.
- */
- public String getCacheName() {
- return cacheName;
- }
-
- /**
- * @return Query txt.
- */
- public String getQueryText() {
- return qryTxt;
- }
-
- /**
- * @return Distributed joins enabled flag.
- */
- public boolean isDistributedJoins() {
- return distributedJoins;
- }
-
- /**
- * @return Enforce join order flag.
- */
- public boolean isEnforceJoinOrder() {
- return enforceJoinOrder;
- }
-
- /**
- * @return {@code true} If the query contains only replicated tables.
- */
- public boolean isReplicatedOnly() {
- return replicatedOnly;
- }
-
- /**
- * @return {@code true} If query should be executed locally.
- */
- public boolean isLocal() {
- return loc;
- }
-
- /**
- * @return Page size.
- */
- public int getPageSize() {
- return pageSize;
- }
-
- /** {@inheritDoc} */
- @Override protected void writeExternalData(ObjectOutput out) throws IOException {
- U.writeString(out, cacheName);
- U.writeString(out, qryTxt);
- out.writeBoolean(distributedJoins);
- out.writeBoolean(enforceJoinOrder);
- out.writeBoolean(loc);
- out.writeInt(pageSize);
- }
-
- /** {@inheritDoc} */
- @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
- cacheName = U.readString(in);
- qryTxt = U.readString(in);
- distributedJoins = in.readBoolean();
- enforceJoinOrder = in.readBoolean();
- loc = in.readBoolean();
- pageSize = in.readInt();
- }
-
- /** {@inheritDoc} */
- @Override public String toString() {
- return S.toString(VisorQueryArg.class, this);
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCancelTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCancelTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCancelTask.java
index 6b81dc4..207b690 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCancelTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCancelTask.java
@@ -30,12 +30,12 @@ import org.jetbrains.annotations.Nullable;
* Task to cancel queries.
*/
@GridInternal
-public class VisorQueryCancelTask extends VisorOneNodeTask<Long, Void> {
+public class VisorQueryCancelTask extends VisorOneNodeTask<VisorQueryCancelTaskArg, Void> {
/** */
private static final long serialVersionUID = 0L;
/** {@inheritDoc} */
- @Override protected VisorCancelQueriesJob job(Long arg) {
+ @Override protected VisorCancelQueriesJob job(VisorQueryCancelTaskArg arg) {
return new VisorCancelQueriesJob(arg, debug);
}
@@ -47,7 +47,7 @@ public class VisorQueryCancelTask extends VisorOneNodeTask<Long, Void> {
/**
* Job to cancel queries on node.
*/
- private static class VisorCancelQueriesJob extends VisorJob<Long, Void> {
+ private static class VisorCancelQueriesJob extends VisorJob<VisorQueryCancelTaskArg, Void> {
/** */
private static final long serialVersionUID = 0L;
@@ -57,13 +57,13 @@ public class VisorQueryCancelTask extends VisorOneNodeTask<Long, Void> {
* @param arg Job argument.
* @param debug Flag indicating whether debug information should be printed into node log.
*/
- protected VisorCancelQueriesJob(@Nullable Long arg, boolean debug) {
+ protected VisorCancelQueriesJob(@Nullable VisorQueryCancelTaskArg arg, boolean debug) {
super(arg, debug);
}
/** {@inheritDoc} */
- @Override protected Void run(@Nullable Long queries) throws IgniteException {
- ignite.context().query().cancelQueries(Collections.singleton(queries));
+ @Override protected Void run(@Nullable VisorQueryCancelTaskArg arg) throws IgniteException {
+ ignite.context().query().cancelQueries(Collections.singleton(arg.getQueryId()));
return null;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCancelTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCancelTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCancelTaskArg.java
new file mode 100644
index 0000000..887a11e
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCancelTaskArg.java
@@ -0,0 +1,71 @@
+/*
+ * 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.visor.query;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.visor.VisorDataTransferObject;
+
+/**
+ * Arguments for task {@link VisorQueryCancelTask}
+ */
+public class VisorQueryCancelTaskArg extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Query ID to cancel. */
+ private long qryId;
+
+ /**
+ * Default constructor.
+ */
+ public VisorQueryCancelTaskArg() {
+ // No-op.
+ }
+
+ /**
+ * @param qryId Query ID to cancel.
+ */
+ public VisorQueryCancelTaskArg(long qryId) {
+ this.qryId = qryId;
+ }
+
+ /**
+ * @return Query ID to cancel.
+ */
+ public long getQueryId() {
+ return qryId;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ out.writeLong(qryId);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ qryId = in.readLong();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorQueryCancelTaskArg.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/6a435b17/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCleanupTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCleanupTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCleanupTask.java
index 572cf3b..9dfa0cf 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCleanupTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCleanupTask.java
@@ -40,19 +40,19 @@ import static org.apache.ignite.internal.visor.util.VisorTaskUtils.logMapped;
* Task for cleanup not needed SCAN or SQL queries result futures from node local.
*/
@GridInternal
-public class VisorQueryCleanupTask extends VisorMultiNodeTask<Map<UUID, Collection<String>>, Void, Void> {
+public class VisorQueryCleanupTask extends VisorMultiNodeTask<VisorQueryCleanupTaskArg, Void, Void> {
/** */
private static final long serialVersionUID = 0L;
/** {@inheritDoc} */
- @Override protected VisorJob<Map<UUID, Collection<String>>, Void> job(Map<UUID, Collection<String>> arg) {
+ @Override protected VisorJob<VisorQueryCleanupTaskArg, Void> job(VisorQueryCleanupTaskArg arg) {
return null;
}
/** {@inheritDoc} */
@Override protected Map<? extends ComputeJob, ClusterNode> map0(List<ClusterNode> subgrid,
- @Nullable VisorTaskArgument<Map<UUID, Collection<String>>> arg) {
- Set<UUID> nodeIds = taskArg.keySet();
+ @Nullable VisorTaskArgument<VisorQueryCleanupTaskArg> arg) {
+ Set<UUID> nodeIds = taskArg.getQueryIds().keySet();
if (nodeIds.isEmpty())
throw new VisorClusterGroupEmptyException("Nothing to clear. List with node IDs is empty!");
@@ -62,7 +62,7 @@ public class VisorQueryCleanupTask extends VisorMultiNodeTask<Map<UUID, Collecti
try {
for (ClusterNode node : subgrid)
if (nodeIds.contains(node.id()))
- map.put(new VisorQueryCleanupJob(taskArg.get(node.id()), debug), node);
+ map.put(new VisorQueryCleanupJob(taskArg.getQueryIds().get(node.id()), debug), node);
if (map.isEmpty()) {
StringBuilder notFoundNodes = new StringBuilder();