You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ag...@apache.org on 2018/04/26 16:51:34 UTC
[3/4] ignite git commit: IGNITE-8277 Added utilities to check and
display cache info
http://git-wip-us.apache.org/repos/asf/ignite/blob/b7fd0218/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorIdleAnalyzeTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorIdleAnalyzeTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorIdleAnalyzeTask.java
new file mode 100644
index 0000000..2d86a42
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorIdleAnalyzeTask.java
@@ -0,0 +1,124 @@
+/*
+ * 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.verify;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import org.apache.ignite.IgniteException;
+import org.apache.ignite.compute.ComputeJobContext;
+import org.apache.ignite.compute.ComputeTaskFuture;
+import org.apache.ignite.internal.processors.cache.verify.CollectConflictPartitionKeysTask;
+import org.apache.ignite.internal.processors.cache.verify.PartitionEntryHashRecord;
+import org.apache.ignite.internal.processors.cache.verify.PartitionHashRecord;
+import org.apache.ignite.internal.processors.cache.verify.RetrieveConflictPartitionValuesTask;
+import org.apache.ignite.internal.processors.task.GridInternal;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.visor.VisorJob;
+import org.apache.ignite.internal.visor.VisorOneNodeTask;
+import org.apache.ignite.lang.IgniteFuture;
+import org.apache.ignite.lang.IgniteInClosure;
+import org.apache.ignite.resources.JobContextResource;
+
+/**
+ * Task to find diverged keys of conflict partition.
+ */
+@GridInternal
+public class VisorIdleAnalyzeTask extends VisorOneNodeTask<VisorIdleAnalyzeTaskArg, VisorIdleAnalyzeTaskResult> {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** {@inheritDoc} */
+ @Override protected VisorJob<VisorIdleAnalyzeTaskArg, VisorIdleAnalyzeTaskResult> job(VisorIdleAnalyzeTaskArg arg) {
+ return new VisorIdleVerifyJob(arg, debug);
+ }
+
+ /**
+ *
+ */
+ private static class VisorIdleVerifyJob extends VisorJob<VisorIdleAnalyzeTaskArg, VisorIdleAnalyzeTaskResult> {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** */
+ private ComputeTaskFuture<Map<PartitionHashRecord, List<PartitionEntryHashRecord>>> conflictKeysFut;
+
+ /** */
+ private ComputeTaskFuture<Map<PartitionHashRecord, List<PartitionEntryHashRecord>>> conflictValsFut;
+
+ /** Auto-inject job context. */
+ @JobContextResource
+ protected transient ComputeJobContext jobCtx;
+
+ /**
+ * @param arg Argument.
+ * @param debug Debug.
+ */
+ private VisorIdleVerifyJob(VisorIdleAnalyzeTaskArg arg, boolean debug) {
+ super(arg, debug);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected VisorIdleAnalyzeTaskResult run(VisorIdleAnalyzeTaskArg arg) throws IgniteException {
+ if (conflictKeysFut == null) {
+ conflictKeysFut = ignite.compute()
+ .executeAsync(CollectConflictPartitionKeysTask.class, arg.getPartitionKey());
+
+ if (!conflictKeysFut.isDone()) {
+ jobCtx.holdcc();
+
+ conflictKeysFut.listen(new IgniteInClosure<IgniteFuture<Map<PartitionHashRecord, List<PartitionEntryHashRecord>>>>() {
+ @Override public void apply(IgniteFuture<Map<PartitionHashRecord, List<PartitionEntryHashRecord>>> f) {
+ jobCtx.callcc();
+ }
+ });
+
+ return null;
+ }
+ }
+
+ Map<PartitionHashRecord, List<PartitionEntryHashRecord>> conflictKeys = conflictKeysFut.get();
+
+ if (conflictKeys.isEmpty())
+ return new VisorIdleAnalyzeTaskResult(Collections.emptyMap());
+
+ if (conflictValsFut == null) {
+ conflictValsFut = ignite.compute().executeAsync(RetrieveConflictPartitionValuesTask.class, conflictKeys);
+
+ if (!conflictValsFut.isDone()) {
+ jobCtx.holdcc();
+
+ conflictKeysFut.listen(new IgniteInClosure<IgniteFuture<Map<PartitionHashRecord, List<PartitionEntryHashRecord>>>>() {
+ @Override public void apply(IgniteFuture<Map<PartitionHashRecord, List<PartitionEntryHashRecord>>> f) {
+ jobCtx.callcc();
+ }
+ });
+
+ return null;
+ }
+ }
+
+ return new VisorIdleAnalyzeTaskResult(conflictValsFut.get());
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorIdleVerifyJob.class, this);
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b7fd0218/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorIdleAnalyzeTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorIdleAnalyzeTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorIdleAnalyzeTaskArg.java
new file mode 100644
index 0000000..884f961
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorIdleAnalyzeTaskArg.java
@@ -0,0 +1,88 @@
+/*
+ * 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.verify;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import org.apache.ignite.internal.processors.cache.verify.PartitionKey;
+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 VisorIdleAnalyzeTask}
+ */
+public class VisorIdleAnalyzeTaskArg extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Partition key. */
+ private PartitionKey partKey;
+
+ /**
+ * Default constructor.
+ */
+ public VisorIdleAnalyzeTaskArg() {
+ // No-op.
+ }
+
+ /**
+ * @param partKey Partition key.
+ */
+ public VisorIdleAnalyzeTaskArg(PartitionKey partKey) {
+ this.partKey = partKey;
+ }
+
+ /**
+ * @param grpId Group id.
+ * @param partId Partition id.
+ * @param grpName Group name.
+ */
+ public VisorIdleAnalyzeTaskArg(int grpId, int partId, String grpName) {
+ this(new PartitionKey(grpId, partId, grpName));
+ }
+
+ /**
+ * @return Partition key.
+ */
+ public PartitionKey getPartitionKey() {
+ return partKey;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ out.writeInt(partKey.groupId());
+ out.writeInt(partKey.partitionId());
+ U.writeString(out, partKey.groupName());
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException {
+ int grpId = in.readInt();
+ int partId = in.readInt();
+ String grpName = U.readString(in);
+
+ partKey = new PartitionKey(grpId, partId, grpName);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorIdleAnalyzeTaskArg.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b7fd0218/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorIdleAnalyzeTaskResult.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorIdleAnalyzeTaskResult.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorIdleAnalyzeTaskResult.java
new file mode 100644
index 0000000..e8c1290
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorIdleAnalyzeTaskResult.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.verify;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.util.List;
+import java.util.Map;
+import org.apache.ignite.internal.processors.cache.verify.PartitionEntryHashRecord;
+import org.apache.ignite.internal.processors.cache.verify.PartitionHashRecord;
+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;
+
+/**
+ * Result for task {@link VisorIdleAnalyzeTask}
+ */
+public class VisorIdleAnalyzeTaskResult extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Results. */
+ private Map<PartitionHashRecord, List<PartitionEntryHashRecord>> divergedEntries;
+
+ /**
+ * Default constructor.
+ */
+ public VisorIdleAnalyzeTaskResult() {
+ // No-op.
+ }
+
+ /**
+ * @param divergedEntries Result.
+ */
+ public VisorIdleAnalyzeTaskResult(Map<PartitionHashRecord, List<PartitionEntryHashRecord>> divergedEntries) {
+ this.divergedEntries = divergedEntries;
+ }
+
+ /**
+ * @return Results.
+ */
+ public Map<PartitionHashRecord, List<PartitionEntryHashRecord>> getDivergedEntries() {
+ return divergedEntries;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeMap(out, divergedEntries);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ divergedEntries = U.readMap(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorIdleAnalyzeTaskResult.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b7fd0218/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorIdleVerifyTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorIdleVerifyTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorIdleVerifyTask.java
new file mode 100644
index 0000000..05f2621
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorIdleVerifyTask.java
@@ -0,0 +1,97 @@
+/*
+ * 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.verify;
+
+import java.util.List;
+import java.util.Map;
+import org.apache.ignite.IgniteException;
+import org.apache.ignite.compute.ComputeJobContext;
+import org.apache.ignite.compute.ComputeTaskFuture;
+import org.apache.ignite.internal.processors.cache.verify.PartitionHashRecord;
+import org.apache.ignite.internal.processors.cache.verify.PartitionKey;
+import org.apache.ignite.internal.processors.cache.verify.VerifyBackupPartitionsTask;
+import org.apache.ignite.internal.processors.task.GridInternal;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.visor.VisorJob;
+import org.apache.ignite.internal.visor.VisorOneNodeTask;
+import org.apache.ignite.lang.IgniteFuture;
+import org.apache.ignite.lang.IgniteInClosure;
+import org.apache.ignite.resources.JobContextResource;
+
+/**
+ * Task to verify checksums of backup partitions.
+ */
+@GridInternal
+public class VisorIdleVerifyTask extends VisorOneNodeTask<VisorIdleVerifyTaskArg, VisorIdleVerifyTaskResult> {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** {@inheritDoc} */
+ @Override protected VisorJob<VisorIdleVerifyTaskArg, VisorIdleVerifyTaskResult> job(VisorIdleVerifyTaskArg arg) {
+ return new VisorIdleVerifyJob(arg, debug);
+ }
+
+ /**
+ *
+ */
+ private static class VisorIdleVerifyJob extends VisorJob<VisorIdleVerifyTaskArg, VisorIdleVerifyTaskResult> {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** */
+ private ComputeTaskFuture<Map<PartitionKey, List<PartitionHashRecord>>> fut;
+
+ /** Auto-inject job context. */
+ @JobContextResource
+ protected transient ComputeJobContext jobCtx;
+
+ /**
+ * @param arg Argument.
+ * @param debug Debug.
+ */
+ private VisorIdleVerifyJob(VisorIdleVerifyTaskArg arg, boolean debug) {
+ super(arg, debug);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected VisorIdleVerifyTaskResult run(VisorIdleVerifyTaskArg arg) throws IgniteException {
+ if (fut == null) {
+ fut = ignite.compute().executeAsync(VerifyBackupPartitionsTask.class, arg.getCaches());
+
+ if (!fut.isDone()) {
+ jobCtx.holdcc();
+
+ fut.listen(new IgniteInClosure<IgniteFuture<Map<PartitionKey, List<PartitionHashRecord>>>>() {
+ @Override public void apply(IgniteFuture<Map<PartitionKey, List<PartitionHashRecord>>> f) {
+ jobCtx.callcc();
+ }
+ });
+
+ return null;
+ }
+ }
+
+ return new VisorIdleVerifyTaskResult(fut.get());
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorIdleVerifyJob.class, this);
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b7fd0218/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorIdleVerifyTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorIdleVerifyTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorIdleVerifyTaskArg.java
new file mode 100644
index 0000000..c82af58
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorIdleVerifyTaskArg.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.verify;
+
+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;
+
+/**
+ * Arguments for task {@link VisorIdleVerifyTask}
+ */
+public class VisorIdleVerifyTaskArg extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Caches. */
+ private Set<String> caches;
+
+ /**
+ * Default constructor.
+ */
+ public VisorIdleVerifyTaskArg() {
+ // No-op.
+ }
+
+ /**
+ * @param caches Caches.
+ */
+ public VisorIdleVerifyTaskArg(Set<String> caches) {
+ this.caches = caches;
+ }
+
+
+ /**
+ * @return Caches.
+ */
+ public Set<String> getCaches() {
+ return caches;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeCollection(out, caches);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ caches = U.readSet(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorIdleVerifyTaskArg.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b7fd0218/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorIdleVerifyTaskResult.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorIdleVerifyTaskResult.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorIdleVerifyTaskResult.java
new file mode 100644
index 0000000..7ef542f
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorIdleVerifyTaskResult.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.verify;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.util.List;
+import java.util.Map;
+import org.apache.ignite.internal.processors.cache.verify.PartitionHashRecord;
+import org.apache.ignite.internal.processors.cache.verify.PartitionKey;
+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;
+
+/**
+ * Result for task {@link VisorIdleVerifyTask}
+ */
+public class VisorIdleVerifyTaskResult extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Results. */
+ private Map<PartitionKey, List<PartitionHashRecord>> conflicts;
+
+ /**
+ * Default constructor.
+ */
+ public VisorIdleVerifyTaskResult() {
+ // No-op.
+ }
+
+ /**
+ * @param conflicts Result.
+ */
+ public VisorIdleVerifyTaskResult(Map<PartitionKey, List<PartitionHashRecord>> conflicts) {
+ this.conflicts = conflicts;
+ }
+
+ /**
+ * @return Results.
+ */
+ public Map<PartitionKey, List<PartitionHashRecord>> getConflicts() {
+ return conflicts;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeMap(out, conflicts);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ conflicts = U.readMap(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorIdleVerifyTaskResult.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b7fd0218/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorValidateIndexesJobResult.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorValidateIndexesJobResult.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorValidateIndexesJobResult.java
new file mode 100644
index 0000000..25c97b6
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorValidateIndexesJobResult.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.verify;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.util.Map;
+import org.apache.ignite.internal.processors.cache.verify.PartitionKey;
+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;
+
+/**
+ *
+ */
+public class VisorValidateIndexesJobResult extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Results of indexes validation from node. */
+ private Map<PartitionKey, ValidateIndexesPartitionResult> res;
+
+ /**
+ * @param res Results of indexes validation from node.
+ */
+ public VisorValidateIndexesJobResult(Map<PartitionKey, ValidateIndexesPartitionResult> res) {
+ this.res = res;
+ }
+
+ /**
+ * For externalization only.
+ */
+ public VisorValidateIndexesJobResult() {
+ }
+
+ /**
+ * @return Results of indexes validation from node.
+ */
+ public Map<PartitionKey, ValidateIndexesPartitionResult> response() {
+ return res;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeMap(out, res);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ res = U.readMap(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorValidateIndexesJobResult.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b7fd0218/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorValidateIndexesTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorValidateIndexesTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorValidateIndexesTaskArg.java
new file mode 100644
index 0000000..cf9aff5
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorValidateIndexesTaskArg.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.verify;
+
+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;
+
+/**
+ * Arguments for task {@link VisorIdleVerifyTask}
+ */
+public class VisorValidateIndexesTaskArg extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Caches. */
+ private Set<String> caches;
+
+ /**
+ * Default constructor.
+ */
+ public VisorValidateIndexesTaskArg() {
+ // No-op.
+ }
+
+ /**
+ * @param caches Caches.
+ */
+ public VisorValidateIndexesTaskArg(Set<String> caches) {
+ this.caches = caches;
+ }
+
+
+ /**
+ * @return Caches.
+ */
+ public Set<String> getCaches() {
+ return caches;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeCollection(out, caches);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ caches = U.readSet(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorValidateIndexesTaskArg.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b7fd0218/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorValidateIndexesTaskResult.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorValidateIndexesTaskResult.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorValidateIndexesTaskResult.java
new file mode 100644
index 0000000..e206448
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorValidateIndexesTaskResult.java
@@ -0,0 +1,88 @@
+/*
+ * 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.verify;
+
+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;
+
+/**
+ *
+ */
+public class VisorValidateIndexesTaskResult extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Exceptions. */
+ private Map<UUID, Exception> exceptions;
+
+ /** Results from cluster. */
+ private Map<UUID, VisorValidateIndexesJobResult> results;
+
+ /**
+ * @param results Results.
+ * @param exceptions Exceptions.
+ */
+ public VisorValidateIndexesTaskResult(Map<UUID, VisorValidateIndexesJobResult> results,
+ Map<UUID, Exception> exceptions) {
+ this.exceptions = exceptions;
+ this.results = results;
+ }
+
+ /**
+ * For externalization only.
+ */
+ public VisorValidateIndexesTaskResult() {
+ }
+
+ /**
+ * @return Exceptions.
+ */
+ public Map<UUID, Exception> exceptions() {
+ return exceptions;
+ }
+
+ /**
+ * @return Results from cluster.
+ */
+ public Map<UUID, VisorValidateIndexesJobResult> results() {
+ return results;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeMap(out, exceptions);
+ U.writeMap(out, results);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ exceptions = U.readMap(in);
+ results = U.readMap(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorValidateIndexesTaskResult.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b7fd0218/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorViewCacheCmd.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorViewCacheCmd.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorViewCacheCmd.java
new file mode 100644
index 0000000..0d9ce3a
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorViewCacheCmd.java
@@ -0,0 +1,47 @@
+/*
+* 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.verify;
+
+import org.jetbrains.annotations.Nullable;
+
+/**
+ *
+ */
+public enum VisorViewCacheCmd {
+ /** Caches. */
+ CACHES,
+
+ /** Groups. */
+ GROUPS,
+
+ /** Sequence. */
+ SEQ;
+
+ /** Enumerated values. */
+ private static final VisorViewCacheCmd[] 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 VisorViewCacheCmd fromOrdinal(int ord) {
+ return ord >= 0 && ord < VALS.length ? VALS[ord] : null;
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b7fd0218/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorViewCacheTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorViewCacheTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorViewCacheTask.java
new file mode 100644
index 0000000..86931e6
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorViewCacheTask.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.verify;
+
+import org.apache.ignite.IgniteException;
+import org.apache.ignite.internal.processors.cache.verify.ViewCacheClosure;
+import org.apache.ignite.internal.processors.task.GridInternal;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.visor.VisorJob;
+import org.apache.ignite.internal.visor.VisorOneNodeTask;
+import org.jetbrains.annotations.Nullable;
+
+/**
+ *
+ */
+@GridInternal
+public class VisorViewCacheTask extends VisorOneNodeTask<VisorViewCacheTaskArg, VisorViewCacheTaskResult> {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** {@inheritDoc} */
+ @Override protected VisorJob<VisorViewCacheTaskArg, VisorViewCacheTaskResult> job(VisorViewCacheTaskArg arg) {
+ return new VisorViewCacheJob(arg, debug);
+ }
+
+ /**
+ *
+ */
+ private static class VisorViewCacheJob extends VisorJob<VisorViewCacheTaskArg, VisorViewCacheTaskResult> {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /**
+ * @param arg Argument.
+ * @param debug Debug.
+ */
+ protected VisorViewCacheJob(@Nullable VisorViewCacheTaskArg arg, boolean debug) {
+ super(arg, debug);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected VisorViewCacheTaskResult run(@Nullable VisorViewCacheTaskArg arg) throws IgniteException {
+ try {
+ ViewCacheClosure clo = new ViewCacheClosure(arg.regex(), arg.command());
+
+ ignite.context().resource().injectGeneric(clo);
+
+ return new VisorViewCacheTaskResult(clo.call());
+ }
+ catch (Exception e) {
+ throw new IgniteException(e);
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorViewCacheJob.class, this);
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b7fd0218/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorViewCacheTaskArg.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorViewCacheTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorViewCacheTaskArg.java
new file mode 100644
index 0000000..5fcd66d
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorViewCacheTaskArg.java
@@ -0,0 +1,86 @@
+/*
+* 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.verify;
+
+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;
+import org.jetbrains.annotations.Nullable;
+
+/**
+ *
+ */
+public class VisorViewCacheTaskArg extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Regex. */
+ private String regex;
+
+ /** Type. */
+ private @Nullable VisorViewCacheCmd cmd;
+
+ /**
+ * @param regex Regex.
+ * @param cmd Command.
+ */
+ public VisorViewCacheTaskArg(String regex, @Nullable VisorViewCacheCmd cmd) {
+ this.regex = regex;
+ this.cmd = cmd;
+ }
+
+ /**
+ * For externalization only.
+ */
+ public VisorViewCacheTaskArg() {
+ }
+
+ /**
+ * @return Regex.
+ */
+ public String regex() {
+ return regex;
+ }
+
+ /**
+ * @return Command.
+ */
+ public VisorViewCacheCmd command() {
+ return cmd;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeString(out, regex);
+ U.writeEnum(out, cmd);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ regex = U.readString(in);
+ cmd = VisorViewCacheCmd.fromOrdinal(in.readByte());
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorViewCacheTaskArg.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b7fd0218/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorViewCacheTaskResult.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorViewCacheTaskResult.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorViewCacheTaskResult.java
new file mode 100644
index 0000000..138bf06
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/verify/VisorViewCacheTaskResult.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.verify;
+
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
+import java.util.Collection;
+import java.util.List;
+import org.apache.ignite.internal.processors.cache.verify.CacheInfo;
+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;
+
+/**
+ *
+ */
+public class VisorViewCacheTaskResult extends VisorDataTransferObject {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** Cache infos. */
+ private List<CacheInfo> cacheInfos;
+
+ /**
+ * @param cacheInfos Cache infos.
+ */
+ public VisorViewCacheTaskResult(List<CacheInfo> cacheInfos) {
+ this.cacheInfos = cacheInfos;
+ }
+
+ /**
+ * For externalization only.
+ */
+ public VisorViewCacheTaskResult() {
+ }
+
+ /**
+ * @return Cache infos.
+ */
+ public Collection<CacheInfo> cacheInfos() {
+ return cacheInfos;
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeCollection(out, cacheInfos);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ cacheInfos = U.readList(in);
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorViewCacheTaskResult.class, this);
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/b7fd0218/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 d939b02..8ca47c8 100644
--- a/modules/core/src/main/resources/META-INF/classnames.properties
+++ b/modules/core/src/main/resources/META-INF/classnames.properties
@@ -28,6 +28,7 @@ org.apache.ignite.IgniteState
org.apache.ignite.binary.BinaryInvalidTypeException
org.apache.ignite.binary.BinaryObject
org.apache.ignite.binary.BinaryObjectException
+org.apache.ignite.binary.BinaryTypeConfiguration
org.apache.ignite.cache.CacheAtomicUpdateTimeoutException
org.apache.ignite.cache.CacheAtomicityMode
org.apache.ignite.cache.CacheEntryEventSerializableFilter
@@ -112,6 +113,13 @@ org.apache.ignite.cache.store.jdbc.dialect.SQLServerDialect
org.apache.ignite.cache.store.jdbc.dialect.SQLServerDialect$1
org.apache.ignite.cache.store.jdbc.dialect.SQLServerDialect$2
org.apache.ignite.cache.store.jdbc.dialect.SQLServerDialect$3
+org.apache.ignite.client.ClientAuthenticationException
+org.apache.ignite.client.ClientAuthorizationException
+org.apache.ignite.client.ClientCacheConfiguration
+org.apache.ignite.client.ClientConnectionException
+org.apache.ignite.client.ClientException
+org.apache.ignite.client.SslMode
+org.apache.ignite.client.SslProtocol
org.apache.ignite.cluster.ClusterGroupEmptyException
org.apache.ignite.cluster.ClusterTopologyException
org.apache.ignite.compute.ComputeExecutionRejectedException
@@ -135,9 +143,11 @@ org.apache.ignite.compute.gridify.GridifyTaskSplitAdapter
org.apache.ignite.compute.gridify.aop.GridifyArgumentAdapter
org.apache.ignite.compute.gridify.aop.GridifyDefaultRangeTask
org.apache.ignite.compute.gridify.aop.GridifyDefaultTask
+org.apache.ignite.configuration.BinaryConfiguration
org.apache.ignite.configuration.CacheConfiguration
org.apache.ignite.configuration.CacheConfiguration$IgniteAllNodesPredicate
org.apache.ignite.configuration.CheckpointWriteOrder
+org.apache.ignite.configuration.ClientConfiguration
org.apache.ignite.configuration.CollectionConfiguration
org.apache.ignite.configuration.DataPageEvictionMode
org.apache.ignite.configuration.DataRegionConfiguration
@@ -164,6 +174,7 @@ org.apache.ignite.events.IgfsEvent
org.apache.ignite.events.JobEvent
org.apache.ignite.events.TaskEvent
org.apache.ignite.events.WalSegmentArchivedEvent
+org.apache.ignite.failure.FailureType
org.apache.ignite.hadoop.HadoopInputSplit
org.apache.ignite.hadoop.HadoopMapReducePlan
org.apache.ignite.igfs.IgfsConcurrentModificationException
@@ -247,7 +258,7 @@ org.apache.ignite.internal.IgniteMessagingImpl
org.apache.ignite.internal.IgniteNeedReconnectException
org.apache.ignite.internal.IgniteSchedulerImpl
org.apache.ignite.internal.IgniteServicesImpl
-org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance$1
+org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance$4
org.apache.ignite.internal.NodeStoppingException
org.apache.ignite.internal.binary.BinaryEnumObjectImpl
org.apache.ignite.internal.binary.BinaryFieldMetadata
@@ -286,6 +297,11 @@ org.apache.ignite.internal.client.impl.connection.GridClientNioTcpConnection$6
org.apache.ignite.internal.client.impl.connection.GridClientNioTcpConnection$7
org.apache.ignite.internal.client.impl.connection.GridClientTopology$1
org.apache.ignite.internal.client.impl.connection.GridConnectionIdleClosedException
+org.apache.ignite.internal.client.thin.ClientError
+org.apache.ignite.internal.client.thin.ClientOperation
+org.apache.ignite.internal.client.thin.ClientProtocolError
+org.apache.ignite.internal.client.thin.ClientServerError
+org.apache.ignite.internal.client.thin.ClientUtils$CfgItem
org.apache.ignite.internal.cluster.ClusterGroupAdapter
org.apache.ignite.internal.cluster.ClusterGroupAdapter$AgeClusterGroup
org.apache.ignite.internal.cluster.ClusterGroupAdapter$AttributeFilter
@@ -305,6 +321,8 @@ org.apache.ignite.internal.cluster.IgniteKillTask
org.apache.ignite.internal.cluster.IgniteKillTask$IgniteKillJob
org.apache.ignite.internal.cluster.NodeOrderComparator
org.apache.ignite.internal.cluster.NodeOrderLegacyComparator
+org.apache.ignite.internal.commandline.Command
+org.apache.ignite.internal.commandline.cache.CacheCommand
org.apache.ignite.internal.compute.ComputeTaskCancelledCheckedException
org.apache.ignite.internal.compute.ComputeTaskTimeoutCheckedException
org.apache.ignite.internal.direct.DirectMessageReader$1
@@ -317,7 +335,6 @@ org.apache.ignite.internal.igfs.common.IgfsIpcCommand
org.apache.ignite.internal.jdbc.thin.ConnectionPropertiesImpl
org.apache.ignite.internal.jdbc.thin.ConnectionPropertiesImpl$BooleanProperty
org.apache.ignite.internal.jdbc.thin.ConnectionPropertiesImpl$ConnectionProperty
-org.apache.ignite.internal.jdbc.thin.ConnectionPropertiesImpl$EmptyStringValidator
org.apache.ignite.internal.jdbc.thin.ConnectionPropertiesImpl$IntegerProperty
org.apache.ignite.internal.jdbc.thin.ConnectionPropertiesImpl$NumberProperty
org.apache.ignite.internal.jdbc.thin.ConnectionPropertiesImpl$PropertyValidator
@@ -348,6 +365,7 @@ org.apache.ignite.internal.managers.discovery.DiscoCache$1
org.apache.ignite.internal.managers.discovery.DiscoCache$2
org.apache.ignite.internal.managers.discovery.DiscoCache$3
org.apache.ignite.internal.managers.discovery.DiscoveryCustomMessage
+org.apache.ignite.internal.managers.discovery.DiscoveryServerOnlyCustomMessage
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$1
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$2
org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$4$1
@@ -372,6 +390,19 @@ org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion
org.apache.ignite.internal.processors.affinity.GridAffinityAssignment
org.apache.ignite.internal.processors.affinity.GridAffinityMessage
org.apache.ignite.internal.processors.affinity.GridAffinityUtils$AffinityJob
+org.apache.ignite.internal.processors.authentication.IgniteAccessControlException
+org.apache.ignite.internal.processors.authentication.IgniteAuthenticationProcessor$3
+org.apache.ignite.internal.processors.authentication.IgniteAuthenticationProcessor$InitialUsersData
+org.apache.ignite.internal.processors.authentication.IgniteAuthenticationProcessor$RefreshUsersStorageWorker$1
+org.apache.ignite.internal.processors.authentication.User
+org.apache.ignite.internal.processors.authentication.UserAcceptedMessage
+org.apache.ignite.internal.processors.authentication.UserAuthenticateRequestMessage
+org.apache.ignite.internal.processors.authentication.UserAuthenticateResponseMessage
+org.apache.ignite.internal.processors.authentication.UserManagementException
+org.apache.ignite.internal.processors.authentication.UserManagementOperation
+org.apache.ignite.internal.processors.authentication.UserManagementOperation$OperationType
+org.apache.ignite.internal.processors.authentication.UserManagementOperationFinishedMessage
+org.apache.ignite.internal.processors.authentication.UserProposedMessage
org.apache.ignite.internal.processors.bulkload.BulkLoadCacheWriter
org.apache.ignite.internal.processors.bulkload.BulkLoadStreamerWriter
org.apache.ignite.internal.processors.cache.CacheAffinityChangeMessage
@@ -528,6 +559,7 @@ org.apache.ignite.internal.processors.cache.GridCacheLoaderWriterStore
org.apache.ignite.internal.processors.cache.GridCacheLoaderWriterStoreFactory
org.apache.ignite.internal.processors.cache.GridCacheLockTimeoutException
org.apache.ignite.internal.processors.cache.GridCacheLogger
+org.apache.ignite.internal.processors.cache.GridCacheMapEntry$1
org.apache.ignite.internal.processors.cache.GridCacheMessage
org.apache.ignite.internal.processors.cache.GridCacheMultiTxFuture$1
org.apache.ignite.internal.processors.cache.GridCacheMvccCandidate
@@ -616,6 +648,7 @@ org.apache.ignite.internal.processors.cache.WalStateAbstractMessage
org.apache.ignite.internal.processors.cache.WalStateAckMessage
org.apache.ignite.internal.processors.cache.WalStateFinishMessage
org.apache.ignite.internal.processors.cache.WalStateManager$2
+org.apache.ignite.internal.processors.cache.WalStateManager$3
org.apache.ignite.internal.processors.cache.WalStateProposeMessage
org.apache.ignite.internal.processors.cache.affinity.GridCacheAffinityProxy
org.apache.ignite.internal.processors.cache.binary.BinaryMetadataHolder
@@ -803,17 +836,15 @@ org.apache.ignite.internal.processors.cache.distributed.dht.preloader.CacheParti
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtForceKeysFuture$1
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtForceKeysRequest
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtForceKeysResponse
+org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemandLegacyMessage
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemandMessage
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemander$1
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemander$1$1
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemander$2
-org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemander$3
-org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemander$4$1
-org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemander$5$1
+org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemander$3$1
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionExchangeId
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionFullMap
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionMap
-org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionSupplier$SupplyContextPhase
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionSupplyMessage
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsAbstractMessage
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture$2
@@ -837,6 +868,9 @@ org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtP
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtPartitionCountersMap2
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtPartitionHistorySuppliersMap
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteDhtPartitionsToReloadMap
+org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteHistoricalIterator
+org.apache.ignite.internal.processors.cache.distributed.dht.preloader.IgniteRebalanceIteratorImpl
+org.apache.ignite.internal.processors.cache.distributed.dht.preloader.latch.LatchAckMessage
org.apache.ignite.internal.processors.cache.distributed.near.CacheVersionedValue
org.apache.ignite.internal.processors.cache.distributed.near.GridNearAtomicCache
org.apache.ignite.internal.processors.cache.distributed.near.GridNearAtomicCache$1
@@ -903,6 +937,7 @@ org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal$20
org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal$21
org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal$22
org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal$23
+org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal$24
org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal$3
org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal$4
org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal$5
@@ -926,11 +961,11 @@ org.apache.ignite.internal.processors.cache.local.atomic.GridLocalAtomicCache$5
org.apache.ignite.internal.processors.cache.local.atomic.GridLocalAtomicCache$8
org.apache.ignite.internal.processors.cache.local.atomic.GridLocalAtomicCache$9
org.apache.ignite.internal.processors.cache.persistence.CacheDataRowAdapter$RowData
-org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$11
+org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$12
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$6
-org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$8
+org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$9
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager$CheckpointEntryType
-org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$RebalanceIteratorAdapter
+org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$WALHistoricalIterator
org.apache.ignite.internal.processors.cache.persistence.IgniteCacheDatabaseSharedManager$1
org.apache.ignite.internal.processors.cache.persistence.file.AsyncFileIOFactory
org.apache.ignite.internal.processors.cache.persistence.file.FileDownloader$1
@@ -942,6 +977,7 @@ org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl$T
org.apache.ignite.internal.processors.cache.persistence.pagemem.PagesWriteSpeedBasedThrottle$ThrottleMode
org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotDiscoveryMessage
org.apache.ignite.internal.processors.cache.persistence.snapshot.SnapshotOperation
+org.apache.ignite.internal.processors.cache.persistence.snapshot.TrackingPageIsCorruptedException
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Bool
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$DestroyBag
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Result
@@ -1095,8 +1131,13 @@ org.apache.ignite.internal.processors.cache.transactions.TxLock
org.apache.ignite.internal.processors.cache.transactions.TxLockList
org.apache.ignite.internal.processors.cache.transactions.TxLocksRequest
org.apache.ignite.internal.processors.cache.transactions.TxLocksResponse
+org.apache.ignite.internal.processors.cache.verify.CacheInfo
+org.apache.ignite.internal.processors.cache.verify.CacheInfo$1
+org.apache.ignite.internal.processors.cache.verify.CacheInfo$2
org.apache.ignite.internal.processors.cache.verify.CollectConflictPartitionKeysTask
org.apache.ignite.internal.processors.cache.verify.CollectConflictPartitionKeysTask$CollectPartitionEntryHashesJob
+org.apache.ignite.internal.processors.cache.verify.ContentionClosure
+org.apache.ignite.internal.processors.cache.verify.ContentionInfo
org.apache.ignite.internal.processors.cache.verify.PartitionEntryHashRecord
org.apache.ignite.internal.processors.cache.verify.PartitionHashRecord
org.apache.ignite.internal.processors.cache.verify.PartitionKey
@@ -1104,6 +1145,8 @@ org.apache.ignite.internal.processors.cache.verify.RetrieveConflictPartitionValu
org.apache.ignite.internal.processors.cache.verify.RetrieveConflictPartitionValuesTask$RetrieveConflictValuesJob
org.apache.ignite.internal.processors.cache.verify.VerifyBackupPartitionsTask
org.apache.ignite.internal.processors.cache.verify.VerifyBackupPartitionsTask$VerifyBackupPartitionsJob
+org.apache.ignite.internal.processors.cache.verify.ViewCacheClosure
+org.apache.ignite.internal.processors.cache.verify.ViewCacheClosure$1
org.apache.ignite.internal.processors.cache.version.GridCacheRawVersionedEntry
org.apache.ignite.internal.processors.cache.version.GridCacheVersion
org.apache.ignite.internal.processors.cache.version.GridCacheVersionConflictContext$State
@@ -1130,15 +1173,16 @@ org.apache.ignite.internal.processors.closure.GridClosureProcessor$T8
org.apache.ignite.internal.processors.closure.GridClosureProcessor$T9
org.apache.ignite.internal.processors.closure.GridClosureProcessor$TaskNoReduceAdapter
org.apache.ignite.internal.processors.closure.GridPeerDeployAwareTaskAdapter
-org.apache.ignite.internal.processors.cluster.ClusterNodeMetrics
org.apache.ignite.internal.processors.cluster.BaselineTopology
org.apache.ignite.internal.processors.cluster.BaselineTopologyHistory
org.apache.ignite.internal.processors.cluster.BaselineTopologyHistoryItem
org.apache.ignite.internal.processors.cluster.BranchingPointType
org.apache.ignite.internal.processors.cluster.ChangeGlobalStateFinishMessage
org.apache.ignite.internal.processors.cluster.ChangeGlobalStateMessage
-org.apache.ignite.internal.processors.cluster.ClusterProcessor$3
-org.apache.ignite.internal.processors.cluster.ClusterProcessor$3$1
+org.apache.ignite.internal.processors.cluster.ClusterMetricsUpdateMessage
+org.apache.ignite.internal.processors.cluster.ClusterNodeMetrics
+org.apache.ignite.internal.processors.cluster.ClusterProcessor$4
+org.apache.ignite.internal.processors.cluster.ClusterProcessor$4$1
org.apache.ignite.internal.processors.cluster.DiscoveryDataClusterState
org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor$1$1
org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor$2
@@ -1150,18 +1194,24 @@ org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor$Baseline
org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor$CheckGlobalStateComputeRequest
org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor$ClientChangeGlobalStateComputeRequest
org.apache.ignite.internal.processors.continuous.AbstractContinuousMessage
+org.apache.ignite.internal.processors.continuous.ContinuousRoutineInfo
+org.apache.ignite.internal.processors.continuous.ContinuousRoutineStartResultMessage
+org.apache.ignite.internal.processors.continuous.ContinuousRoutinesCommonDiscoveryData
+org.apache.ignite.internal.processors.continuous.ContinuousRoutinesJoiningNodeDiscoveryData
org.apache.ignite.internal.processors.continuous.GridContinuousHandler
org.apache.ignite.internal.processors.continuous.GridContinuousHandler$RegisterStatus
org.apache.ignite.internal.processors.continuous.GridContinuousMessage
org.apache.ignite.internal.processors.continuous.GridContinuousMessageType
-org.apache.ignite.internal.processors.continuous.GridContinuousProcessor$8
-org.apache.ignite.internal.processors.continuous.GridContinuousProcessor$9$1
+org.apache.ignite.internal.processors.continuous.GridContinuousProcessor$11$1
+org.apache.ignite.internal.processors.continuous.GridContinuousProcessor$9
org.apache.ignite.internal.processors.continuous.GridContinuousProcessor$DiscoveryData
org.apache.ignite.internal.processors.continuous.GridContinuousProcessor$DiscoveryDataItem
org.apache.ignite.internal.processors.continuous.GridContinuousProcessor$LocalRoutineInfo
org.apache.ignite.internal.processors.continuous.StartRequestData
+org.apache.ignite.internal.processors.continuous.StartRequestDataV2
org.apache.ignite.internal.processors.continuous.StartRoutineAckDiscoveryMessage
org.apache.ignite.internal.processors.continuous.StartRoutineDiscoveryMessage
+org.apache.ignite.internal.processors.continuous.StartRoutineDiscoveryMessageV2
org.apache.ignite.internal.processors.continuous.StopRoutineAckDiscoveryMessage
org.apache.ignite.internal.processors.continuous.StopRoutineDiscoveryMessage
org.apache.ignite.internal.processors.datastreamer.DataStreamProcessor$3
@@ -1427,6 +1477,7 @@ org.apache.ignite.internal.processors.query.GridQueryProcessor$5
org.apache.ignite.internal.processors.query.GridQueryProcessor$6
org.apache.ignite.internal.processors.query.GridQueryProcessor$7
org.apache.ignite.internal.processors.query.GridQueryProcessor$8
+org.apache.ignite.internal.processors.query.GridQueryProcessor$9
org.apache.ignite.internal.processors.query.GridQueryProcessor$SchemaOperation$1
org.apache.ignite.internal.processors.query.IgniteSQLException
org.apache.ignite.internal.processors.query.QueryEntityEx
@@ -1543,6 +1594,7 @@ org.apache.ignite.internal.processors.service.GridServiceProcessor$ServiceDeploy
org.apache.ignite.internal.processors.service.GridServiceProcessor$ServiceTopologyCallable
org.apache.ignite.internal.processors.service.GridServiceProxy
org.apache.ignite.internal.processors.service.GridServiceProxy$ServiceProxyCallable
+org.apache.ignite.internal.processors.service.GridServiceProxy$ServiceProxyException
org.apache.ignite.internal.processors.service.LazyServiceConfiguration
org.apache.ignite.internal.processors.service.ServiceContextImpl
org.apache.ignite.internal.processors.service.ServiceDescriptorImpl
@@ -1622,6 +1674,7 @@ org.apache.ignite.internal.util.GridSnapshotLock$Sync
org.apache.ignite.internal.util.GridSpiCloseableIteratorWrapper
org.apache.ignite.internal.util.GridStringBuilder
org.apache.ignite.internal.util.GridSynchronizedMap
+org.apache.ignite.internal.util.HostAndPortRange
org.apache.ignite.internal.util.IgniteExceptionRegistry$ExceptionInfo
org.apache.ignite.internal.util.IgniteTree$OperationType
org.apache.ignite.internal.util.IgniteUtils$10
@@ -1860,6 +1913,10 @@ org.apache.ignite.internal.visor.cache.VisorCacheJdbcTypeField
org.apache.ignite.internal.visor.cache.VisorCacheLoadTask
org.apache.ignite.internal.visor.cache.VisorCacheLoadTask$VisorCachesLoadJob
org.apache.ignite.internal.visor.cache.VisorCacheLoadTaskArg
+org.apache.ignite.internal.visor.cache.VisorCacheLostPartitionsTask
+org.apache.ignite.internal.visor.cache.VisorCacheLostPartitionsTask$VisorCacheLostPartitionsJob
+org.apache.ignite.internal.visor.cache.VisorCacheLostPartitionsTaskArg
+org.apache.ignite.internal.visor.cache.VisorCacheLostPartitionsTaskResult
org.apache.ignite.internal.visor.cache.VisorCacheMetadataTask
org.apache.ignite.internal.visor.cache.VisorCacheMetadataTask$VisorCacheMetadataJob
org.apache.ignite.internal.visor.cache.VisorCacheMetadataTaskArg
@@ -1883,6 +1940,9 @@ 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.VisorCacheResetLostPartitionsTask
+org.apache.ignite.internal.visor.cache.VisorCacheResetLostPartitionsTask$VisorCacheResetLostPartitionsJob
+org.apache.ignite.internal.visor.cache.VisorCacheResetLostPartitionsTaskArg
org.apache.ignite.internal.visor.cache.VisorCacheResetMetricsTask
org.apache.ignite.internal.visor.cache.VisorCacheResetMetricsTask$VisorCacheResetMetricsJob
org.apache.ignite.internal.visor.cache.VisorCacheResetMetricsTaskArg
@@ -2076,6 +2136,31 @@ org.apache.ignite.internal.visor.tx.VisorTxSortOrder
org.apache.ignite.internal.visor.tx.VisorTxTask
org.apache.ignite.internal.visor.tx.VisorTxTaskArg
org.apache.ignite.internal.visor.tx.VisorTxTaskResult
+org.apache.ignite.internal.visor.verify.VisorViewCacheCmd
+org.apache.ignite.internal.visor.verify.ValidateIndexesPartitionResult
+org.apache.ignite.internal.visor.verify.VisorContentionJobResult
+org.apache.ignite.internal.visor.verify.VisorContentionTask
+org.apache.ignite.internal.visor.verify.VisorContentionTask$VisorContentionJob
+org.apache.ignite.internal.visor.verify.VisorContentionTaskArg
+org.apache.ignite.internal.visor.verify.VisorContentionTaskResult
+org.apache.ignite.internal.visor.verify.VisorIdleAnalyzeTask
+org.apache.ignite.internal.visor.verify.VisorIdleAnalyzeTask$VisorIdleVerifyJob
+org.apache.ignite.internal.visor.verify.VisorIdleAnalyzeTask$VisorIdleVerifyJob$1
+org.apache.ignite.internal.visor.verify.VisorIdleAnalyzeTask$VisorIdleVerifyJob$2
+org.apache.ignite.internal.visor.verify.VisorIdleAnalyzeTaskArg
+org.apache.ignite.internal.visor.verify.VisorIdleAnalyzeTaskResult
+org.apache.ignite.internal.visor.verify.VisorIdleVerifyTask
+org.apache.ignite.internal.visor.verify.VisorIdleVerifyTask$VisorIdleVerifyJob
+org.apache.ignite.internal.visor.verify.VisorIdleVerifyTask$VisorIdleVerifyJob$1
+org.apache.ignite.internal.visor.verify.VisorIdleVerifyTaskArg
+org.apache.ignite.internal.visor.verify.VisorIdleVerifyTaskResult
+org.apache.ignite.internal.visor.verify.VisorValidateIndexesJobResult
+org.apache.ignite.internal.visor.verify.VisorValidateIndexesTaskArg
+org.apache.ignite.internal.visor.verify.VisorValidateIndexesTaskResult
+org.apache.ignite.internal.visor.verify.VisorViewCacheTask
+org.apache.ignite.internal.visor.verify.VisorViewCacheTask$VisorViewCacheJob
+org.apache.ignite.internal.visor.verify.VisorViewCacheTaskArg
+org.apache.ignite.internal.visor.verify.VisorViewCacheTaskResult
org.apache.ignite.internal.websession.WebSessionAttributeProcessor
org.apache.ignite.internal.websession.WebSessionEntity
org.apache.ignite.lang.IgniteBiClosure
@@ -2143,6 +2228,7 @@ org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi$4
org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi$HandshakeClosure
org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi$HandshakeException
org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi$HandshakeTimeoutException
+org.apache.ignite.spi.communication.tcp.internal.TcpCommunicationConnectionCheckFuture$SingleAddressConnectFuture$1
org.apache.ignite.spi.communication.tcp.messages.HandshakeMessage
org.apache.ignite.spi.communication.tcp.messages.HandshakeMessage2
org.apache.ignite.spi.communication.tcp.messages.NodeIdMessage
http://git-wip-us.apache.org/repos/asf/ignite/blob/b7fd0218/modules/core/src/test/java/org/apache/ignite/util/GridCommandHandlerTest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/test/java/org/apache/ignite/util/GridCommandHandlerTest.java b/modules/core/src/test/java/org/apache/ignite/util/GridCommandHandlerTest.java
index c2d9eec..dbd6107 100644
--- a/modules/core/src/test/java/org/apache/ignite/util/GridCommandHandlerTest.java
+++ b/modules/core/src/test/java/org/apache/ignite/util/GridCommandHandlerTest.java
@@ -22,13 +22,19 @@ import java.io.File;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.HashSet;
import java.util.Map;
import java.util.TreeMap;
import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.ignite.Ignite;
+import org.apache.ignite.IgniteAtomicSequence;
import org.apache.ignite.IgniteCache;
import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction;
import org.apache.ignite.cluster.ClusterNode;
import org.apache.ignite.configuration.CacheConfiguration;
import org.apache.ignite.configuration.ConnectorConfiguration;
@@ -36,8 +42,10 @@ import org.apache.ignite.configuration.DataRegionConfiguration;
import org.apache.ignite.configuration.DataStorageConfiguration;
import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.configuration.WALMode;
+import org.apache.ignite.internal.IgniteEx;
import org.apache.ignite.internal.IgniteInternalFuture;
import org.apache.ignite.internal.commandline.CommandHandler;
+import org.apache.ignite.internal.commandline.cache.CacheCommand;
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.G;
import org.apache.ignite.internal.util.typedef.X;
@@ -49,8 +57,8 @@ import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
import org.apache.ignite.transactions.Transaction;
import org.apache.ignite.transactions.TransactionRollbackException;
-import static org.apache.ignite.cache.CacheAtomicityMode.*;
-import static org.apache.ignite.cache.CacheWriteSynchronizationMode.*;
+import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL;
+import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC;
import static org.apache.ignite.internal.commandline.CommandHandler.EXIT_CODE_OK;
import static org.apache.ignite.internal.commandline.CommandHandler.EXIT_CODE_UNEXPECTED_ERROR;
import static org.apache.ignite.transactions.TransactionConcurrency.OPTIMISTIC;
@@ -61,6 +69,12 @@ import static org.apache.ignite.transactions.TransactionIsolation.READ_COMMITTED
* Command line handler test.
*/
public class GridCommandHandlerTest extends GridCommonAbstractTest {
+ /** System out. */
+ protected PrintStream sysOut;
+
+ /** Test out - can be injected via {@link #injectTestSystemOut()} instead of System.out and analyzed in test. */
+ protected ByteArrayOutputStream testOut;
+
/**
* @return Folder in work directory.
* @throws IgniteCheckedException If failed to resolve folder name.
@@ -74,6 +88,10 @@ public class GridCommandHandlerTest extends GridCommonAbstractTest {
cleanPersistenceDir();
stopAllGrids();
+
+ sysOut = System.out;
+
+ testOut = new ByteArrayOutputStream(128 * 1024);
}
/** {@inheritDoc} */
@@ -81,6 +99,18 @@ public class GridCommandHandlerTest extends GridCommonAbstractTest {
stopAllGrids();
cleanPersistenceDir();
+
+ System.setOut(sysOut);
+
+ if (testOut != null)
+ System.out.println(testOut.toString());
+ }
+
+ /**
+ *
+ */
+ protected void injectTestSystemOut() {
+ System.setOut(new PrintStream(testOut));
}
/** {@inheritDoc} */
@@ -263,40 +293,6 @@ public class GridCommandHandlerTest extends GridCommonAbstractTest {
}
/**
- * Test baseline add items works via control.sh
- *
- * @throws Exception If failed.
- */
- public void testBaselineAddOnNotActiveCluster() throws Exception {
- try {
- Ignite ignite = startGrid(1);
-
- assertFalse(ignite.cluster().active());
-
- String consistentIDs = getTestIgniteInstanceName(1);
-
- ByteArrayOutputStream out = new ByteArrayOutputStream(4096);
- System.setOut(new PrintStream(out));
-
- assertEquals(EXIT_CODE_UNEXPECTED_ERROR, execute("--baseline", "add", consistentIDs));
-
- assertTrue(out.toString().contains("Changing BaselineTopology on inactive cluster is not allowed."));
-
- consistentIDs =
- getTestIgniteInstanceName(1) + ", " +
- getTestIgniteInstanceName(2) + "," +
- getTestIgniteInstanceName(3);
-
- assertEquals(EXIT_CODE_UNEXPECTED_ERROR, execute("--baseline", "add", consistentIDs));
-
- assertTrue(out.toString().contains("Node not found for consistent ID: bltTest2"));
- }
- finally {
- System.setOut(System.out);
- }
- }
-
- /**
* Test baseline remove works via control.sh
*
* @throws Exception If failed.
@@ -373,7 +369,7 @@ public class GridCommandHandlerTest extends GridCommonAbstractTest {
Ignite client = startGrid("client");
- IgniteCache<Object, Object> cache = client.getOrCreateCache(new CacheConfiguration<>(DEFAULT_CACHE_NAME)
+ client.getOrCreateCache(new CacheConfiguration<>(DEFAULT_CACHE_NAME)
.setAtomicityMode(TRANSACTIONAL).setWriteSynchronizationMode(FULL_SYNC));
for (Ignite ig : G.allGrids())
@@ -401,9 +397,9 @@ public class GridCommandHandlerTest extends GridCommonAbstractTest {
fail("Commit must fail");
}
- catch (Exception ignored) {
+ catch (Exception e) {
// No-op.
- assertTrue(X.hasCause(ignored, TransactionRollbackException.class));
+ assertTrue(X.hasCause(e, TransactionRollbackException.class));
}
break;
@@ -535,13 +531,245 @@ public class GridCommandHandlerTest extends GridCommonAbstractTest {
}
/**
+ * Test baseline add items works via control.sh
+ *
+ * @throws Exception If failed.
+ */
+ public void testBaselineAddOnNotActiveCluster() throws Exception {
+ Ignite ignite = startGrid(1);
+
+ assertFalse(ignite.cluster().active());
+
+ String consistentIDs = getTestIgniteInstanceName(1);
+
+ injectTestSystemOut();
+
+ assertEquals(EXIT_CODE_UNEXPECTED_ERROR, execute("--baseline", "add", consistentIDs));
+
+ assertTrue(testOut.toString().contains("Changing BaselineTopology on inactive cluster is not allowed."));
+
+ consistentIDs =
+ getTestIgniteInstanceName(1) + ", " +
+ getTestIgniteInstanceName(2) + "," +
+ getTestIgniteInstanceName(3);
+
+ assertEquals(EXIT_CODE_UNEXPECTED_ERROR, execute("--baseline", "add", consistentIDs));
+
+ assertTrue(testOut.toString().contains("Node not found for consistent ID: bltTest2"));
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testCacheHelp() throws Exception {
+ Ignite ignite = startGrids(1);
+
+ ignite.cluster().active(true);
+
+ injectTestSystemOut();
+
+ assertEquals(EXIT_CODE_OK, execute("--cache", "help"));
+
+ for (CacheCommand cmd : CacheCommand.values()) {
+ if (cmd != CacheCommand.HELP)
+ assertTrue(cmd.text(), testOut.toString().contains(cmd.text()));
+ }
+ }
+
+ /**
+ * @throws Exception If failed.
+ */
+ public void testCacheIdleVerify() throws Exception {
+ Ignite ignite = startGrids(2);
+
+ ignite.cluster().active(true);
+
+ IgniteCache<Object, Object> cache = ignite.createCache(new CacheConfiguration<>()
+ .setAffinity(new RendezvousAffinityFunction(false, 32))
+ .setBackups(1)
+ .setName("cacheIV"));
+
+ for (int i = 0; i < 100; i++)
+ cache.put(i, i);
+
+ injectTestSystemOut();
+
+ assertEquals(EXIT_CODE_OK, execute("--cache", "idle_verify"));
+
+ assertTrue(testOut.toString().contains("no conflicts have been found"));
+
+ HashSet<Integer> clearKeys = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5, 6));
+
+ ((IgniteEx)ignite).context().cache().cache("cacheIV").clearLocallyAll(clearKeys, true, true, true);
+
+ assertEquals(EXIT_CODE_OK, execute("--cache", "idle_verify"));
+
+ assertTrue(testOut.toString().contains("conflict partitions"));
+ }
+
+ /**
+ *
+ */
+ public void testCacheContention() throws Exception {
+ int cnt = 10;
+
+ final ExecutorService svc = Executors.newFixedThreadPool(cnt);
+
+ try {
+ Ignite ignite = startGrids(2);
+
+ ignite.cluster().active(true);
+
+ final IgniteCache<Object, Object> cache = ignite.createCache(new CacheConfiguration<>()
+ .setAffinity(new RendezvousAffinityFunction(false, 32))
+ .setAtomicityMode(TRANSACTIONAL)
+ .setBackups(1)
+ .setName("cacheCont"));
+
+ final CountDownLatch l = new CountDownLatch(1);
+
+ final CountDownLatch l2 = new CountDownLatch(1);
+
+ svc.submit(new Runnable() {
+ @Override public void run() {
+ try (final Transaction tx = ignite.transactions().txStart()) {
+ cache.put(0, 0);
+
+ l.countDown();
+
+ U.awaitQuiet(l2);
+
+ tx.commit();
+ }
+ }
+ });
+
+ for (int i = 0; i < cnt - 1; i++) {
+ svc.submit(new Runnable() {
+ @Override public void run() {
+ U.awaitQuiet(l);
+
+ try (final Transaction tx = ignite.transactions().txStart()) {
+ cache.get(0);
+
+ tx.commit();
+ }
+ }
+ });
+ }
+
+ U.awaitQuiet(l);
+
+ Thread.sleep(300);
+
+ injectTestSystemOut();
+
+ assertEquals(EXIT_CODE_OK, execute("--cache", "contention", "5"));
+
+ l2.countDown();
+
+ assertTrue(testOut.toString().contains("TxEntry"));
+ assertTrue(testOut.toString().contains("op=READ"));
+ assertTrue(testOut.toString().contains("op=CREATE"));
+ assertTrue(testOut.toString().contains("id=" + ignite(0).cluster().localNode().id()));
+ assertTrue(testOut.toString().contains("id=" + ignite(1).cluster().localNode().id()));
+ }
+ finally {
+ svc.shutdown();
+ svc.awaitTermination(100, TimeUnit.DAYS);
+ }
+ }
+
+ /**
+ *
+ */
+ public void testCacheSequence() throws Exception {
+ Ignite ignite = startGrid();
+
+ ignite.cluster().active(true);
+
+ Ignite client = startGrid("client");
+
+ final IgniteAtomicSequence seq1 = client.atomicSequence("testSeq", 1, true);
+ seq1.get();
+
+ final IgniteAtomicSequence seq2 = client.atomicSequence("testSeq2", 10, true);
+ seq2.get();
+
+ injectTestSystemOut();
+
+ assertEquals(EXIT_CODE_OK, execute("--cache", "list", "testSeq.*", "seq"));
+
+ assertTrue(testOut.toString().contains("testSeq"));
+ assertTrue(testOut.toString().contains("testSeq2"));
+ }
+
+ /**
+ *
+ */
+ public void testCacheGroups() throws Exception {
+ Ignite ignite = startGrid();
+
+ ignite.cluster().active(true);
+
+ IgniteCache<Object, Object> cache1 = ignite.createCache(new CacheConfiguration<>()
+ .setAffinity(new RendezvousAffinityFunction(false, 32))
+ .setBackups(1)
+ .setGroupName("G100")
+ .setName("cacheG1"));
+
+ IgniteCache<Object, Object> cache2 = ignite.createCache(new CacheConfiguration<>()
+ .setAffinity(new RendezvousAffinityFunction(false, 32))
+ .setBackups(1)
+ .setGroupName("G100")
+ .setName("cacheG2"));
+
+ for (int i = 0; i < 100; i++) {
+ cache1.put(i, i);
+
+ cache2.put(i, i);
+ }
+
+ injectTestSystemOut();
+
+ assertEquals(EXIT_CODE_OK, execute("--cache", "list", ".*", "groups"));
+
+ assertTrue(testOut.toString().contains("G100"));
+ }
+
+ /**
+ *
+ */
+ public void testCacheAffinity() throws Exception {
+ Ignite ignite = startGrid();
+
+ ignite.cluster().active(true);
+
+ IgniteCache<Object, Object> cache1 = ignite.createCache(new CacheConfiguration<>()
+ .setAffinity(new RendezvousAffinityFunction(false, 32))
+ .setBackups(1)
+ .setName("cacheAf"));
+
+ for (int i = 0; i < 100; i++)
+ cache1.put(i, i);
+
+ injectTestSystemOut();
+
+ assertEquals(EXIT_CODE_OK, execute("--cache", "list", ".*"));
+
+ assertTrue(testOut.toString().contains("cacheName=cacheAf"));
+ assertTrue(testOut.toString().contains("prim=32"));
+ assertTrue(testOut.toString().contains("mapped=32"));
+ assertTrue(testOut.toString().contains("affCls=RendezvousAffinityFunction"));
+ }
+
+ /**
* @param h Handler.
* @param validateClo Validate clo.
* @param args Args.
*/
- private void validate(
- CommandHandler h, IgniteInClosure<Map<ClusterNode, VisorTxTaskResult>> validateClo, String... args)
- throws IgniteCheckedException {
+ private void validate(CommandHandler h, IgniteInClosure<Map<ClusterNode, VisorTxTaskResult>> validateClo,
+ String... args) {
assertEquals(EXIT_CODE_OK, execute(h, args));
validateClo.apply(h.getLastOperationResult());