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/14 13:54:31 UTC
[03/11] ignite git commit: IGNITE-4988 Cleanup and refactor VisorXxx
tasks and DTO for ignite-2.0
http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTask.java
index d996f6c..303e6b6 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTask.java
@@ -17,16 +17,35 @@
package org.apache.ignite.internal.visor.query;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.UUID;
+import javax.cache.Cache;
+import org.apache.ignite.IgniteCache;
+import org.apache.ignite.cache.query.QueryCursor;
+import org.apache.ignite.cache.query.ScanQuery;
+import org.apache.ignite.cache.query.SqlFieldsQuery;
+import org.apache.ignite.internal.processors.query.GridQueryFieldMetadata;
import org.apache.ignite.internal.processors.task.GridInternal;
+import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.visor.VisorEither;
+import org.apache.ignite.internal.visor.VisorJob;
import org.apache.ignite.internal.visor.VisorOneNodeTask;
import org.apache.ignite.internal.visor.util.VisorExceptionWrapper;
-import org.apache.ignite.lang.IgniteBiTuple;
+import org.apache.ignite.lang.IgniteBiPredicate;
+
+import static org.apache.ignite.internal.visor.query.VisorQueryUtils.SQL_QRY_NAME;
+import static org.apache.ignite.internal.visor.query.VisorQueryUtils.fetchSqlQueryRows;
+import static org.apache.ignite.internal.visor.query.VisorQueryUtils.scheduleResultSetHolderRemoval;
/**
- * Task for execute SCAN or SQL query and get first page of results.
+ * Task for execute SQL fields query and get first page of results.
*/
@GridInternal
-public class VisorQueryTask extends VisorOneNodeTask<VisorQueryArg, IgniteBiTuple<? extends VisorExceptionWrapper, VisorQueryResultEx>> {
+public class VisorQueryTask extends VisorOneNodeTask<VisorQueryArg, VisorEither<VisorQueryResult>> {
/** */
private static final long serialVersionUID = 0L;
@@ -34,4 +53,97 @@ public class VisorQueryTask extends VisorOneNodeTask<VisorQueryArg, IgniteBiTupl
@Override protected VisorQueryJob job(VisorQueryArg arg) {
return new VisorQueryJob(arg, debug);
}
-}
\ No newline at end of file
+
+ /**
+ * Job for execute SCAN or SQL query and get first page of results.
+ */
+ private static class VisorQueryJob extends VisorJob<VisorQueryArg, VisorEither<VisorQueryResult>> {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /**
+ * Create job with specified argument.
+ *
+ * @param arg Job argument.
+ * @param debug Debug flag.
+ */
+ private VisorQueryJob(VisorQueryArg arg, boolean debug) {
+ super(arg, debug);
+ }
+
+ /**
+ * Execute scan query.
+ *
+ * @param c Cache to scan.
+ * @param arg Job argument with query parameters.
+ * @return Query cursor.
+ */
+ private QueryCursor<Cache.Entry<Object, Object>> scan(IgniteCache<Object, Object> c, VisorQueryArg arg,
+ IgniteBiPredicate<Object, Object> filter) {
+ ScanQuery<Object, Object> qry = new ScanQuery<>(filter);
+ qry.setPageSize(arg.getPageSize());
+ qry.setLocal(arg.isLocal());
+
+ return c.withKeepBinary().query(qry);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected VisorEither<VisorQueryResult> run(final VisorQueryArg arg) {
+ try {
+ IgniteCache<Object, Object> c = ignite.context().cache().jcache(arg.getCacheName());
+ UUID nid = ignite.localNode().id();
+
+ SqlFieldsQuery qry = new SqlFieldsQuery(arg.getQueryText());
+ qry.setPageSize(arg.getPageSize());
+ qry.setLocal(arg.isLocal());
+ qry.setDistributedJoins(arg.isDistributedJoins());
+ qry.setEnforceJoinOrder(arg.isEnforceJoinOrder());
+
+ long start = U.currentTimeMillis();
+
+ VisorQueryCursor<List<?>> cur = new VisorQueryCursor<>(c.withKeepBinary().query(qry));
+
+ Collection<GridQueryFieldMetadata> meta = cur.fieldsMeta();
+
+ if (meta == null)
+ return new VisorEither<>(
+ new VisorExceptionWrapper(new SQLException("Fail to execute query. No metadata available.")));
+ else {
+ List<VisorQueryField> names = new ArrayList<>(meta.size());
+
+ for (GridQueryFieldMetadata col : meta)
+ names.add(new VisorQueryField(col.schemaName(), col.typeName(),
+ col.fieldName(), col.fieldTypeName()));
+
+ List<Object[]> rows = fetchSqlQueryRows(cur, arg.getPageSize());
+
+ // Query duration + fetch duration.
+ long duration = U.currentTimeMillis() - start;
+
+ boolean hasNext = cur.hasNext();
+
+ // Generate query ID to store query cursor in node local storage.
+ String qryId = SQL_QRY_NAME + "-" + UUID.randomUUID();
+
+ if (hasNext) {
+ ignite.cluster().<String, VisorQueryCursor<List<?>>>nodeLocalMap().put(qryId, cur);
+
+ scheduleResultSetHolderRemoval(qryId, ignite);
+ }
+ else
+ cur.close();
+
+ return new VisorEither<>(new VisorQueryResult(nid, qryId, names, rows, hasNext, duration));
+ }
+ }
+ catch (Throwable e) {
+ return new VisorEither<>(new VisorExceptionWrapper(e));
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorQueryJob.class, this);
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryUtils.java
index 5faeac0..9a0262d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryUtils.java
@@ -21,14 +21,16 @@ import java.math.BigDecimal;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collection;
import java.util.Date;
import java.util.List;
+import java.util.concurrent.ConcurrentMap;
import javax.cache.Cache;
import org.apache.ignite.binary.BinaryObject;
import org.apache.ignite.binary.BinaryObjectException;
import org.apache.ignite.binary.BinaryType;
+import org.apache.ignite.internal.IgniteEx;
import org.apache.ignite.internal.binary.BinaryObjectEx;
+import org.apache.ignite.internal.processors.timeout.GridTimeoutObjectAdapter;
import org.apache.ignite.internal.util.IgniteUtils;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.internal.util.typedef.internal.SB;
@@ -46,17 +48,8 @@ public class VisorQueryUtils {
/** Prefix for node local key for SCAN queries. */
public static final String SCAN_QRY_NAME = "VISOR_SCAN_QUERY";
- /** Prefix for node local key for SCAN near queries. */
- public static final String SCAN_NEAR_CACHE = "VISOR_SCAN_NEAR_CACHE";
-
- /** Prefix for node local key for SCAN near queries. */
- public static final String SCAN_CACHE_WITH_FILTER = "VISOR_SCAN_CACHE_WITH_FILTER";
-
- /** Prefix for node local key for SCAN near queries. */
- public static final String SCAN_CACHE_WITH_FILTER_CASE_SENSITIVE = "VISOR_SCAN_CACHE_WITH_FILTER_CASE_SENSITIVE";
-
/** Columns for SCAN queries. */
- public static final Collection<VisorQueryField> SCAN_COL_NAMES = Arrays.asList(
+ public static final List<VisorQueryField> SCAN_COL_NAMES = Arrays.asList(
new VisorQueryField(null, null, "Key Class", ""), new VisorQueryField(null, null, "Key", ""),
new VisorQueryField(null, null, "Value Class", ""), new VisorQueryField(null, null, "Value", "")
);
@@ -264,4 +257,32 @@ public class VisorQueryUtils {
return rows;
}
+
+ /**
+ * @param qryId Unique query result id.
+ */
+ public static void scheduleResultSetHolderRemoval(final String qryId, final IgniteEx ignite) {
+ ignite.context().timeout().addTimeoutObject(new GridTimeoutObjectAdapter(RMV_DELAY) {
+ @Override public void onTimeout() {
+ ConcurrentMap<String, VisorQueryCursor> storage = ignite.cluster().nodeLocalMap();
+
+ VisorQueryCursor cur = storage.get(qryId);
+
+ if (cur != null) {
+ // If cursor was accessed since last scheduling, set access flag to false and reschedule.
+ if (cur.accessed()) {
+ cur.accessed(false);
+
+ scheduleResultSetHolderRemoval(qryId, ignite);
+ }
+ else {
+ // Remove stored cursor otherwise.
+ storage.remove(qryId);
+
+ cur.close();
+ }
+ }
+ }
+ });
+ }
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/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
new file mode 100644
index 0000000..a267f06
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorRunningQueriesCollectorTask.java
@@ -0,0 +1,96 @@
+/*
+ * 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.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+import org.apache.ignite.IgniteException;
+import org.apache.ignite.compute.ComputeJobResult;
+import org.apache.ignite.internal.processors.query.GridRunningQueryInfo;
+import org.apache.ignite.internal.processors.task.GridInternal;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.internal.visor.VisorJob;
+import org.apache.ignite.internal.visor.VisorMultiNodeTask;
+import org.jetbrains.annotations.Nullable;
+
+/**
+ * Task to collect currently running queries.
+ */
+@GridInternal
+public class VisorRunningQueriesCollectorTask extends VisorMultiNodeTask<Long, Map<UUID, Collection<VisorRunningQuery>>, Collection<VisorRunningQuery>> {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** {@inheritDoc} */
+ @Override protected VisorCollectRunningQueriesJob job(Long arg) {
+ return new VisorCollectRunningQueriesJob(arg, debug);
+ }
+
+ /** {@inheritDoc} */
+ @Nullable @Override protected Map<UUID, Collection<VisorRunningQuery>> reduce0(List<ComputeJobResult> results) throws IgniteException {
+ Map<UUID, Collection<VisorRunningQuery>> map = new HashMap<>();
+
+ for (ComputeJobResult res : results)
+ if (res.getException() == null) {
+ Collection<VisorRunningQuery> queries = res.getData();
+
+ map.put(res.getNode().id(), queries);
+ }
+
+ return map;
+ }
+
+ /**
+ * Job to collect currently running queries from node.
+ */
+ private static class VisorCollectRunningQueriesJob extends VisorJob<Long, Collection<VisorRunningQuery>> {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /**
+ * Create job with specified argument.
+ *
+ * @param arg Job argument.
+ * @param debug Flag indicating whether debug information should be printed into node log.
+ */
+ protected VisorCollectRunningQueriesJob(@Nullable Long arg, boolean debug) {
+ super(arg, debug);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected Collection<VisorRunningQuery> run(@Nullable Long duration) throws IgniteException {
+ Collection<GridRunningQueryInfo> queries = ignite.context().query()
+ .runningQueries(duration != null ? duration : 0);
+
+ Collection<VisorRunningQuery> res = new ArrayList<>(queries.size());
+
+ long curTime = U.currentTimeMillis();
+
+ for (GridRunningQueryInfo qry : queries)
+ res.add(new VisorRunningQuery(qry.id(), qry.query(), qry.queryType(), qry.cache(),
+ qry.startTime(), curTime - qry.startTime(),
+ qry.cancelable(), qry.local()));
+
+ return res;
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorRunningQuery.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorRunningQuery.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorRunningQuery.java
index fc6bc7a..1864718 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorRunningQuery.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorRunningQuery.java
@@ -17,13 +17,18 @@
package org.apache.ignite.internal.visor.query;
-import java.io.Serializable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
import org.apache.ignite.internal.processors.cache.query.GridCacheQueryType;
+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;
/**
* Descriptor of running query.
*/
-public class VisorRunningQuery implements Serializable {
+public class VisorRunningQuery extends VisorDataTransferObject {
/** */
private static final long serialVersionUID = 0L;
@@ -52,6 +57,15 @@ public class VisorRunningQuery implements Serializable {
private boolean loc;
/**
+ * Default constructor.
+ */
+ public VisorRunningQuery() {
+ // No-op.
+ }
+
+ /**
+ * Construct data transfer object for running query information.
+ *
* @param id Query ID.
* @param qry Query text.
* @param qryType Query type.
@@ -129,4 +143,33 @@ public class VisorRunningQuery implements Serializable {
public boolean isLocal() {
return loc;
}
+
+ /** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ out.writeLong(id);
+ U.writeString(out, qry);
+ U.writeEnum(out, qryType);
+ U.writeString(out, cache);
+ out.writeLong(startTime);
+ out.writeLong(duration);
+ out.writeBoolean(cancellable);
+ out.writeBoolean(loc);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ id = in.readLong();
+ qry = U.readString(in);
+ qryType = GridCacheQueryType.fromOrdinal(in.readByte());
+ cache = U.readString(in);
+ startTime = in.readLong();
+ duration = in.readLong();
+ cancellable = in.readBoolean();
+ loc = in.readBoolean();
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorRunningQuery.class, this);
+ }
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/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
new file mode 100644
index 0000000..cc12ac5
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorScanQueryArg.java
@@ -0,0 +1,157 @@
+/*
+ * 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/12dfe9e8/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorScanQueryTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorScanQueryTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorScanQueryTask.java
new file mode 100644
index 0000000..b8173ba
--- /dev/null
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorScanQueryTask.java
@@ -0,0 +1,185 @@
+/*
+ * 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.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.UUID;
+import javax.cache.Cache;
+import org.apache.ignite.IgniteCache;
+import org.apache.ignite.cache.CachePeekMode;
+import org.apache.ignite.cache.query.QueryCursor;
+import org.apache.ignite.cache.query.ScanQuery;
+import org.apache.ignite.internal.processors.task.GridInternal;
+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.VisorEither;
+import org.apache.ignite.internal.visor.VisorJob;
+import org.apache.ignite.internal.visor.VisorOneNodeTask;
+import org.apache.ignite.internal.visor.util.VisorExceptionWrapper;
+import org.apache.ignite.lang.IgniteBiPredicate;
+
+import static org.apache.ignite.internal.visor.query.VisorQueryUtils.SCAN_COL_NAMES;
+import static org.apache.ignite.internal.visor.query.VisorQueryUtils.SCAN_QRY_NAME;
+import static org.apache.ignite.internal.visor.query.VisorQueryUtils.fetchScanQueryRows;
+import static org.apache.ignite.internal.visor.query.VisorQueryUtils.scheduleResultSetHolderRemoval;
+
+/**
+ * Task for execute SCAN query and get first page of results.
+ */
+@GridInternal
+public class VisorScanQueryTask extends VisorOneNodeTask<VisorScanQueryArg, VisorEither<VisorQueryResult>> {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /** {@inheritDoc} */
+ @Override protected VisorScanQueryJob job(VisorScanQueryArg arg) {
+ return new VisorScanQueryJob(arg, debug);
+ }
+
+ /**
+ * Job for execute SCAN query and get first page of results.
+ */
+ private static class VisorScanQueryJob extends VisorJob<VisorScanQueryArg, VisorEither<VisorQueryResult>> {
+ /** */
+ private static final long serialVersionUID = 0L;
+
+ /**
+ * Create job with specified argument.
+ *
+ * @param arg Job argument.
+ * @param debug Debug flag.
+ */
+ private VisorScanQueryJob(VisorScanQueryArg arg, boolean debug) {
+ super(arg, debug);
+ }
+
+ /**
+ * Execute scan query.
+ *
+ * @param c Cache to scan.
+ * @param arg Job argument with query parameters.
+ * @return Query cursor.
+ */
+ private QueryCursor<Cache.Entry<Object, Object>> scan(IgniteCache<Object, Object> c, VisorScanQueryArg arg,
+ IgniteBiPredicate<Object, Object> filter) {
+ ScanQuery<Object, Object> qry = new ScanQuery<>(filter);
+ qry.setPageSize(arg.getPageSize());
+ qry.setLocal(arg.isLocal());
+
+ return c.withKeepBinary().query(qry);
+ }
+
+ /**
+ * Scan near cache.
+ *
+ * @param c Cache to scan near entries.
+ * @return Cache entries iterator wrapped with query cursor.
+ */
+ private QueryCursor<Cache.Entry<Object, Object>> near(IgniteCache<Object, Object> c) {
+ return new VisorNearCacheCursor<>(c.localEntries(CachePeekMode.NEAR).iterator());
+ }
+
+ /** {@inheritDoc} */
+ @Override protected VisorEither<VisorQueryResult> run(final VisorScanQueryArg arg) {
+ try {
+ IgniteCache<Object, Object> c = ignite.context().cache().jcache(arg.getCacheName());
+ UUID nid = ignite.localNode().id();
+
+ String filterText = arg.getFilter();
+
+ long start = U.currentTimeMillis();
+
+ IgniteBiPredicate<Object, Object> filter = null;
+
+ if (!F.isEmpty(filterText))
+ filter = new VisorQueryScanRegexFilter(arg.isCaseSensitive(), arg.isRegEx(), filterText);
+
+ VisorQueryCursor<Cache.Entry<Object, Object>> cur =
+ new VisorQueryCursor<>(arg.isNear() ? near(c) : scan(c, arg, filter));
+
+ List<Object[]> rows = fetchScanQueryRows(cur, arg.getPageSize());
+
+ long duration = U.currentTimeMillis() - start; // Scan duration + fetch duration.
+
+ boolean hasNext = cur.hasNext();
+
+ // Generate query ID to store query cursor in node local storage.
+ String qryId = SCAN_QRY_NAME + "-" + UUID.randomUUID();
+
+ if (hasNext) {
+ ignite.cluster().<String, VisorQueryCursor>nodeLocalMap().put(qryId, cur);
+
+ scheduleResultSetHolderRemoval(qryId, ignite);
+ }
+ else
+ cur.close();
+
+ return new VisorEither<>(new VisorQueryResult(nid, qryId, SCAN_COL_NAMES, rows, hasNext,
+ duration));
+ }
+ catch (Throwable e) {
+ return new VisorEither<>(new VisorExceptionWrapper(e));
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override public String toString() {
+ return S.toString(VisorScanQueryJob.class, this);
+ }
+
+ /**
+ * Wrapper for cache iterator to behave like {@link QueryCursor}.
+ */
+ private static class VisorNearCacheCursor<T> implements QueryCursor<T> {
+ /** Wrapped iterator. */
+ private final Iterator<T> it;
+
+ /**
+ * Wrapping constructor.
+ *
+ * @param it Near cache iterator to wrap.
+ */
+ private VisorNearCacheCursor(Iterator<T> it) {
+ this.it = it;
+ }
+
+ /** {@inheritDoc} */
+ @Override public List<T> getAll() {
+ List<T> all = new ArrayList<>();
+
+ while(it.hasNext())
+ all.add(it.next());
+
+ return all;
+ }
+
+ /** {@inheritDoc} */
+ @Override public void close() {
+ // Nothing to close.
+ }
+
+ /** {@inheritDoc} */
+ @Override public Iterator<T> iterator() {
+ return it;
+ }
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/modules/core/src/main/java/org/apache/ignite/internal/visor/service/VisorServiceDescriptor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/service/VisorServiceDescriptor.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/service/VisorServiceDescriptor.java
index 26f5c10..4cfd150 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/service/VisorServiceDescriptor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/service/VisorServiceDescriptor.java
@@ -17,17 +17,21 @@
package org.apache.ignite.internal.visor.service;
-import java.io.Serializable;
+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;
import org.apache.ignite.internal.visor.util.VisorTaskUtils;
import org.apache.ignite.services.ServiceDescriptor;
/**
* Data transfer object for {@link ServiceDescriptor} object.
*/
-public class VisorServiceDescriptor implements Serializable {
+public class VisorServiceDescriptor extends VisorDataTransferObject {
/** */
private static final long serialVersionUID = 0L;
@@ -65,6 +69,7 @@ public class VisorServiceDescriptor implements Serializable {
/**
* Create task result with given parameters
*
+ * @param srvc Service descriptor to transfer.
*/
public VisorServiceDescriptor(ServiceDescriptor srvc) {
name = srvc.name();
@@ -133,6 +138,28 @@ public class VisorServiceDescriptor implements Serializable {
}
/** {@inheritDoc} */
+ @Override protected void writeExternalData(ObjectOutput out) throws IOException {
+ U.writeString(out, name);
+ U.writeString(out, srvcCls);
+ out.writeInt(totalCnt);
+ out.writeInt(maxPerNodeCnt);
+ U.writeString(out, cacheName);
+ U.writeUuid(out, originNodeId);
+ U.writeMap(out, topSnapshot);
+ }
+
+ /** {@inheritDoc} */
+ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException {
+ name = U.readString(in);
+ srvcCls = U.readString(in);
+ totalCnt = in.readInt();
+ maxPerNodeCnt = in.readInt();
+ cacheName = U.readString(in);
+ originNodeId = U.readUuid(in);
+ topSnapshot = U.readMap(in);
+ }
+
+ /** {@inheritDoc} */
@Override public String toString() {
return S.toString(VisorServiceDescriptor.class, this);
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/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 e1cd7cf..897ac89 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
@@ -52,7 +52,6 @@ import org.apache.ignite.IgniteLogger;
import org.apache.ignite.cache.eviction.EvictionPolicy;
import org.apache.ignite.cache.eviction.fifo.FifoEvictionPolicyMBean;
import org.apache.ignite.cache.eviction.lru.LruEvictionPolicyMBean;
-import org.apache.ignite.cache.eviction.sorted.SortedEvictionPolicyMBean;
import org.apache.ignite.cluster.ClusterNode;
import org.apache.ignite.events.Event;
import org.apache.ignite.internal.processors.igfs.IgfsEx;
@@ -66,6 +65,7 @@ import org.apache.ignite.internal.visor.file.VisorFileBlock;
import org.apache.ignite.internal.visor.log.VisorLogFile;
import org.apache.ignite.lang.IgniteClosure;
import org.apache.ignite.lang.IgnitePredicate;
+import org.apache.ignite.spi.eventstorage.NoopEventStorageSpi;
import org.jetbrains.annotations.Nullable;
import static java.lang.System.getProperty;
@@ -138,7 +138,7 @@ public class VisorTaskUtils {
/** Comparator for log files by last modified date. */
private static final Comparator<VisorLogFile> LAST_MODIFIED = new Comparator<VisorLogFile>() {
@Override public int compare(VisorLogFile f1, VisorLogFile f2) {
- return Long.compare(f2.lastModified(), f1.lastModified());
+ return Long.compare(f2.getLastModified(), f1.getLastModified());
}
};
@@ -255,7 +255,7 @@ public class VisorTaskUtils {
sb.append(", ");
}
- sb.append("]");
+ sb.append(']');
return sb.toString();
}
@@ -290,6 +290,26 @@ public class VisorTaskUtils {
}
/**
+ * Compact classes names.
+
+ * @param clss Classes to compact.
+ * @return Compacted string.
+ */
+ @Nullable public static List<String> compactClasses(Class<?>[] clss) {
+ if (clss == null)
+ return null;
+
+ int len = clss.length;
+
+ List<String> res = new ArrayList<>(len);
+
+ for (Class<?> cls: clss)
+ res.add(U.compact(cls.getName()));
+
+ return res;
+ }
+
+ /**
* Joins array elements to string.
*
* @param arr Array.
@@ -417,7 +437,7 @@ public class VisorTaskUtils {
* @param evtMapper Closure to map grid events to Visor data transfer objects.
* @return Collections of node events
*/
- public static Collection<VisorGridEvent> collectEvents(Ignite ignite, String evtOrderKey, String evtThrottleCntrKey,
+ public static List<VisorGridEvent> collectEvents(Ignite ignite, String evtOrderKey, String evtThrottleCntrKey,
int[] evtTypes, IgniteClosure<Event, VisorGridEvent> evtMapper) {
assert ignite != null;
assert evtTypes != null && evtTypes.length > 0;
@@ -449,7 +469,9 @@ public class VisorTaskUtils {
}
};
- Collection<Event> evts = ignite.events().localQuery(p, evtTypes);
+ Collection<Event> evts = ignite.configuration().getEventStorageSpi() instanceof NoopEventStorageSpi
+ ? Collections.<Event>emptyList()
+ : ignite.events().localQuery(p, evtTypes);
// Update latest order in node local, if not empty.
if (!evts.isEmpty()) {
@@ -464,7 +486,7 @@ public class VisorTaskUtils {
boolean lost = !lastFound.get() && throttle == 0;
- Collection<VisorGridEvent> res = new ArrayList<>(evts.size() + (lost ? 1 : 0));
+ List<VisorGridEvent> res = new ArrayList<>(evts.size() + (lost ? 1 : 0));
if (lost)
res.add(new VisorGridEventsLost(ignite.cluster().localNode().id()));
@@ -630,6 +652,7 @@ public class VisorTaskUtils {
raf.seek(pos);
byte[] buf = new byte[toRead];
+
int cntRead = raf.read(buf, 0, toRead);
if (cntRead != toRead)
@@ -681,9 +704,6 @@ public class VisorTaskUtils {
if (plc instanceof FifoEvictionPolicyMBean)
return ((FifoEvictionPolicyMBean)plc).getMaxSize();
- if (plc instanceof SortedEvictionPolicyMBean)
- return ((SortedEvictionPolicyMBean)plc).getMaxSize();
-
return null;
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/modules/core/src/main/java/org/apache/ignite/plugin/security/SecurityPermissionSet.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/plugin/security/SecurityPermissionSet.java b/modules/core/src/main/java/org/apache/ignite/plugin/security/SecurityPermissionSet.java
index 9961501..2415fad 100644
--- a/modules/core/src/main/java/org/apache/ignite/plugin/security/SecurityPermissionSet.java
+++ b/modules/core/src/main/java/org/apache/ignite/plugin/security/SecurityPermissionSet.java
@@ -20,7 +20,6 @@ package org.apache.ignite.plugin.security;
import java.io.Serializable;
import java.util.Collection;
import java.util.Map;
-import org.apache.ignite.internal.LessNamingBean;
import org.jetbrains.annotations.Nullable;
/**
@@ -32,7 +31,7 @@ import org.jetbrains.annotations.Nullable;
* Property {@link #defaultAllowAll()} specifies whether to allow or deny
* cache and task operations if they were not explicitly specified.
*/
-public interface SecurityPermissionSet extends Serializable, LessNamingBean {
+public interface SecurityPermissionSet extends Serializable {
/**
* Flag indicating whether to allow or deny cache and task operations
* if they were not explicitly specified.
http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/modules/core/src/main/java/org/apache/ignite/plugin/security/SecuritySubject.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/plugin/security/SecuritySubject.java b/modules/core/src/main/java/org/apache/ignite/plugin/security/SecuritySubject.java
index b4005ea..66e3c7c 100644
--- a/modules/core/src/main/java/org/apache/ignite/plugin/security/SecuritySubject.java
+++ b/modules/core/src/main/java/org/apache/ignite/plugin/security/SecuritySubject.java
@@ -20,12 +20,11 @@ package org.apache.ignite.plugin.security;
import java.io.Serializable;
import java.net.InetSocketAddress;
import java.util.UUID;
-import org.apache.ignite.internal.LessNamingBean;
/**
* Security subject representing authenticated node with a set of permissions.
*/
-public interface SecuritySubject extends Serializable, LessNamingBean {
+public interface SecuritySubject extends Serializable {
/**
* Gets subject ID.
*
http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/modules/core/src/main/java/org/apache/ignite/plugin/segmentation/SegmentationPolicy.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/plugin/segmentation/SegmentationPolicy.java b/modules/core/src/main/java/org/apache/ignite/plugin/segmentation/SegmentationPolicy.java
index 69ec1ae..3c0f69e 100644
--- a/modules/core/src/main/java/org/apache/ignite/plugin/segmentation/SegmentationPolicy.java
+++ b/modules/core/src/main/java/org/apache/ignite/plugin/segmentation/SegmentationPolicy.java
@@ -18,6 +18,7 @@
package org.apache.ignite.plugin.segmentation;
import org.apache.ignite.configuration.IgniteConfiguration;
+import org.jetbrains.annotations.Nullable;
/**
* Policy that defines how node will react on topology segmentation. Note that default
@@ -45,5 +46,18 @@ public enum SegmentationPolicy {
* {@link org.apache.ignite.events.EventType#EVT_NODE_SEGMENTED} event and it is up to user to
* implement logic to handle this event.
*/
- NOOP
-}
\ No newline at end of file
+ NOOP;
+
+ /** Enumerated values. */
+ private static final SegmentationPolicy[] 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 SegmentationPolicy fromOrdinal(int ord) {
+ return ord >= 0 && ord < VALS.length ? VALS[ord] : null;
+ }
+}
http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/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 53550ff..ebd28d8 100644
--- a/modules/core/src/main/resources/META-INF/classnames.properties
+++ b/modules/core/src/main/resources/META-INF/classnames.properties
@@ -37,13 +37,11 @@ org.apache.ignite.cache.CacheExistsException
org.apache.ignite.cache.CacheInterceptor
org.apache.ignite.cache.CacheInterceptorAdapter
org.apache.ignite.cache.CacheKeyConfiguration
-org.apache.ignite.cache.CacheMemoryMode
org.apache.ignite.cache.CacheMode
org.apache.ignite.cache.CachePartialUpdateException
org.apache.ignite.cache.CachePeekMode
org.apache.ignite.cache.CacheRebalanceMode
org.apache.ignite.cache.CacheServerNotFoundException
-org.apache.ignite.cache.CacheTypeFieldMetadata
org.apache.ignite.cache.CacheWriteSynchronizationMode
org.apache.ignite.cache.PartitionLossPolicy
org.apache.ignite.cache.QueryEntity
@@ -53,11 +51,6 @@ org.apache.ignite.cache.affinity.AffinityFunction
org.apache.ignite.cache.affinity.AffinityKey
org.apache.ignite.cache.affinity.AffinityKeyMapper
org.apache.ignite.cache.affinity.AffinityUuid
-org.apache.ignite.cache.affinity.fair.FairAffinityFunction
-org.apache.ignite.cache.affinity.fair.FairAffinityFunction$1
-org.apache.ignite.cache.affinity.fair.FairAffinityFunction$FullAssignmentMap$1
-org.apache.ignite.cache.affinity.fair.FairAffinityFunction$FullAssignmentMap$2
-org.apache.ignite.cache.affinity.fair.FairAffinityFunction$PartitionSetComparator
org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction
org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction$HashComparator
org.apache.ignite.cache.eviction.AbstractEvictionPolicy
@@ -140,6 +133,7 @@ org.apache.ignite.compute.gridify.aop.GridifyDefaultTask
org.apache.ignite.configuration.CacheConfiguration
org.apache.ignite.configuration.CacheConfiguration$IgniteAllNodesPredicate
org.apache.ignite.configuration.CollectionConfiguration
+org.apache.ignite.configuration.DataPageEvictionMode
org.apache.ignite.configuration.DeploymentMode
org.apache.ignite.configuration.IgniteReflectionFactory
org.apache.ignite.configuration.MemoryConfiguration
@@ -329,6 +323,7 @@ org.apache.ignite.internal.managers.eventstorage.GridEventStorageMessage
org.apache.ignite.internal.managers.indexing.GridIndexingManager$1
org.apache.ignite.internal.managers.loadbalancer.GridLoadBalancerAdapter
org.apache.ignite.internal.managers.loadbalancer.GridLoadBalancerManager$1
+org.apache.ignite.internal.marshaller.optimized.OptimizedFieldType
org.apache.ignite.internal.mem.OutOfMemoryException
org.apache.ignite.internal.pagemem.impl.PageMemoryNoStoreImpl$Segment
org.apache.ignite.internal.pagemem.snapshot.SnapshotFinishedMessage
@@ -461,19 +456,10 @@ org.apache.ignite.internal.processors.cache.GridCacheContext$4
org.apache.ignite.internal.processors.cache.GridCacheContext$5
org.apache.ignite.internal.processors.cache.GridCacheDefaultAffinityKeyMapper
org.apache.ignite.internal.processors.cache.GridCacheDefaultAffinityKeyMapper$1
-org.apache.ignite.internal.processors.cache.GridCacheDefaultAffinityKeyMapper$2
org.apache.ignite.internal.processors.cache.GridCacheDeploymentManager$3
org.apache.ignite.internal.processors.cache.GridCacheEntryInfo
org.apache.ignite.internal.processors.cache.GridCacheEntryRedeployException
org.apache.ignite.internal.processors.cache.GridCacheEntryRemovedException
-org.apache.ignite.internal.processors.cache.GridCacheEvictionManager$2
-org.apache.ignite.internal.processors.cache.GridCacheEvictionManager$3
-org.apache.ignite.internal.processors.cache.GridCacheEvictionManager$5
-org.apache.ignite.internal.processors.cache.GridCacheEvictionManager$6
-org.apache.ignite.internal.processors.cache.GridCacheEvictionManager$7
-org.apache.ignite.internal.processors.cache.GridCacheEvictionManager$EvictionFuture$2
-org.apache.ignite.internal.processors.cache.GridCacheEvictionRequest
-org.apache.ignite.internal.processors.cache.GridCacheEvictionResponse
org.apache.ignite.internal.processors.cache.GridCacheExplicitLockSpan
org.apache.ignite.internal.processors.cache.GridCacheExplicitLockSpan$1
org.apache.ignite.internal.processors.cache.GridCacheFilterFailedException
@@ -491,9 +477,9 @@ org.apache.ignite.internal.processors.cache.GridCacheMessage
org.apache.ignite.internal.processors.cache.GridCacheMultiTxFuture$1
org.apache.ignite.internal.processors.cache.GridCacheMvccCandidate
org.apache.ignite.internal.processors.cache.GridCacheMvccCandidate$Mask
-org.apache.ignite.internal.processors.cache.GridCacheMvccManager$4
org.apache.ignite.internal.processors.cache.GridCacheMvccManager$5
org.apache.ignite.internal.processors.cache.GridCacheMvccManager$6
+org.apache.ignite.internal.processors.cache.GridCacheMvccManager$7
org.apache.ignite.internal.processors.cache.GridCacheMvccManager$FinishLockFuture$1
org.apache.ignite.internal.processors.cache.GridCacheOperation
org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$1$1
@@ -627,7 +613,6 @@ org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtGetSingleFutu
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtGetSingleFuture$2
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtGetSingleFuture$3
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtInvalidPartitionException
-org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLocalPartition$1
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLockFuture$1
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLockFuture$2
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtLockFuture$3
@@ -701,6 +686,7 @@ org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomic
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$3
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$30
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$31
+org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$32
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$4
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$5
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$6
@@ -889,15 +875,12 @@ org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$8
org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$9
org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$CacheSqlIndexMetadata
org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$CacheSqlMetadata
-org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$CachedResult
org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$CachedResult$QueueIterator
-org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$FieldsResult
org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$MetadataJob
org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$MetadataJob$1
org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$MetadataJob$2
org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$MetadataJob$3
org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$PeekValueExpiryAwareIterator
-org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$QueryResult
org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$RequestFutureMap
org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$RequestFutureMap$1
org.apache.ignite.internal.processors.cache.query.GridCacheQueryMetricsAdapter
@@ -939,7 +922,6 @@ org.apache.ignite.internal.processors.cache.store.GridCacheWriteBehindStore$Stor
org.apache.ignite.internal.processors.cache.store.GridCacheWriteBehindStore$ValueStatus
org.apache.ignite.internal.processors.cache.transactions.IgniteInternalTx$FinalizationStatus
org.apache.ignite.internal.processors.cache.transactions.IgniteTxAdapter
-org.apache.ignite.internal.processors.cache.transactions.IgniteTxAdapter$1
org.apache.ignite.internal.processors.cache.transactions.IgniteTxEntry
org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler$1
org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler$10
@@ -1107,7 +1089,6 @@ org.apache.ignite.internal.processors.datastructures.GridCacheLockImpl$Sync
org.apache.ignite.internal.processors.datastructures.GridCacheLockState
org.apache.ignite.internal.processors.datastructures.GridCacheQueueAdapter$AddProcessor
org.apache.ignite.internal.processors.datastructures.GridCacheQueueAdapter$ClearProcessor
-org.apache.ignite.internal.processors.datastructures.GridCacheQueueAdapter$CollocatedItemKey
org.apache.ignite.internal.processors.datastructures.GridCacheQueueAdapter$PollProcessor
org.apache.ignite.internal.processors.datastructures.GridCacheQueueAdapter$RemoveProcessor
org.apache.ignite.internal.processors.datastructures.GridCacheQueueHeader
@@ -1119,7 +1100,6 @@ org.apache.ignite.internal.processors.datastructures.GridCacheSemaphoreImpl$Sync
org.apache.ignite.internal.processors.datastructures.GridCacheSemaphoreState
org.apache.ignite.internal.processors.datastructures.GridCacheSetHeader
org.apache.ignite.internal.processors.datastructures.GridCacheSetHeaderKey
-org.apache.ignite.internal.processors.datastructures.GridCacheSetImpl$CollocatedItemKey
org.apache.ignite.internal.processors.datastructures.GridCacheSetImpl$SumReducer
org.apache.ignite.internal.processors.datastructures.GridCacheSetItemKey
org.apache.ignite.internal.processors.datastructures.GridCacheSetProxy
@@ -1307,7 +1287,6 @@ 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.IgniteSQLException
-org.apache.ignite.internal.processors.query.QueryUtils$IndexType
org.apache.ignite.internal.processors.query.h2.twostep.messages.GridQueryCancelRequest
org.apache.ignite.internal.processors.query.h2.twostep.messages.GridQueryFailResponse
org.apache.ignite.internal.processors.query.h2.twostep.messages.GridQueryNextPageRequest
@@ -1415,8 +1394,6 @@ org.apache.ignite.internal.transactions.IgniteTxOptimisticCheckedException
org.apache.ignite.internal.transactions.IgniteTxRollbackCheckedException
org.apache.ignite.internal.transactions.IgniteTxTimeoutCheckedException
org.apache.ignite.internal.util.F0$1
-org.apache.ignite.internal.util.F0$10
-org.apache.ignite.internal.util.F0$11
org.apache.ignite.internal.util.F0$2
org.apache.ignite.internal.util.F0$3
org.apache.ignite.internal.util.F0$4
@@ -1515,7 +1492,6 @@ org.apache.ignite.internal.util.future.GridEmbeddedFuture$AL1
org.apache.ignite.internal.util.future.GridEmbeddedFuture$AL2
org.apache.ignite.internal.util.future.GridEmbeddedFuture$AsyncListener1
org.apache.ignite.internal.util.future.GridEmbeddedFuture$AsyncListener2
-org.apache.ignite.internal.util.future.GridFutureAdapter$ArrayListener
org.apache.ignite.internal.util.future.GridFutureChainListener
org.apache.ignite.internal.util.future.IgniteFutureImpl$1
org.apache.ignite.internal.util.future.IgniteFutureImpl$InternalFutureListener
@@ -1537,78 +1513,6 @@ org.apache.ignite.internal.util.lang.GridAbsClosure
org.apache.ignite.internal.util.lang.GridAbsClosureX
org.apache.ignite.internal.util.lang.GridCloseableIterator
org.apache.ignite.internal.util.lang.GridClosureException
-org.apache.ignite.internal.util.lang.GridFunc$1
-org.apache.ignite.internal.util.lang.GridFunc$10
-org.apache.ignite.internal.util.lang.GridFunc$11
-org.apache.ignite.internal.util.lang.GridFunc$12
-org.apache.ignite.internal.util.lang.GridFunc$13
-org.apache.ignite.internal.util.lang.GridFunc$14
-org.apache.ignite.internal.util.lang.GridFunc$15
-org.apache.ignite.internal.util.lang.GridFunc$16
-org.apache.ignite.internal.util.lang.GridFunc$17
-org.apache.ignite.internal.util.lang.GridFunc$18
-org.apache.ignite.internal.util.lang.GridFunc$19
-org.apache.ignite.internal.util.lang.GridFunc$2
-org.apache.ignite.internal.util.lang.GridFunc$20
-org.apache.ignite.internal.util.lang.GridFunc$21
-org.apache.ignite.internal.util.lang.GridFunc$22
-org.apache.ignite.internal.util.lang.GridFunc$23
-org.apache.ignite.internal.util.lang.GridFunc$24
-org.apache.ignite.internal.util.lang.GridFunc$25
-org.apache.ignite.internal.util.lang.GridFunc$26
-org.apache.ignite.internal.util.lang.GridFunc$27
-org.apache.ignite.internal.util.lang.GridFunc$28
-org.apache.ignite.internal.util.lang.GridFunc$29
-org.apache.ignite.internal.util.lang.GridFunc$3
-org.apache.ignite.internal.util.lang.GridFunc$30
-org.apache.ignite.internal.util.lang.GridFunc$31
-org.apache.ignite.internal.util.lang.GridFunc$32
-org.apache.ignite.internal.util.lang.GridFunc$32$1
-org.apache.ignite.internal.util.lang.GridFunc$33
-org.apache.ignite.internal.util.lang.GridFunc$33$1
-org.apache.ignite.internal.util.lang.GridFunc$35
-org.apache.ignite.internal.util.lang.GridFunc$36
-org.apache.ignite.internal.util.lang.GridFunc$37
-org.apache.ignite.internal.util.lang.GridFunc$38
-org.apache.ignite.internal.util.lang.GridFunc$39
-org.apache.ignite.internal.util.lang.GridFunc$4
-org.apache.ignite.internal.util.lang.GridFunc$40
-org.apache.ignite.internal.util.lang.GridFunc$41
-org.apache.ignite.internal.util.lang.GridFunc$42
-org.apache.ignite.internal.util.lang.GridFunc$43
-org.apache.ignite.internal.util.lang.GridFunc$44
-org.apache.ignite.internal.util.lang.GridFunc$45
-org.apache.ignite.internal.util.lang.GridFunc$46
-org.apache.ignite.internal.util.lang.GridFunc$47
-org.apache.ignite.internal.util.lang.GridFunc$48
-org.apache.ignite.internal.util.lang.GridFunc$49
-org.apache.ignite.internal.util.lang.GridFunc$49$1
-org.apache.ignite.internal.util.lang.GridFunc$49$2
-org.apache.ignite.internal.util.lang.GridFunc$5
-org.apache.ignite.internal.util.lang.GridFunc$50
-org.apache.ignite.internal.util.lang.GridFunc$50$1
-org.apache.ignite.internal.util.lang.GridFunc$50$2
-org.apache.ignite.internal.util.lang.GridFunc$51
-org.apache.ignite.internal.util.lang.GridFunc$51$1
-org.apache.ignite.internal.util.lang.GridFunc$51$2
-org.apache.ignite.internal.util.lang.GridFunc$52
-org.apache.ignite.internal.util.lang.GridFunc$52$1
-org.apache.ignite.internal.util.lang.GridFunc$52$2
-org.apache.ignite.internal.util.lang.GridFunc$53
-org.apache.ignite.internal.util.lang.GridFunc$54
-org.apache.ignite.internal.util.lang.GridFunc$55
-org.apache.ignite.internal.util.lang.GridFunc$56
-org.apache.ignite.internal.util.lang.GridFunc$57
-org.apache.ignite.internal.util.lang.GridFunc$58
-org.apache.ignite.internal.util.lang.GridFunc$59
-org.apache.ignite.internal.util.lang.GridFunc$6
-org.apache.ignite.internal.util.lang.GridFunc$60
-org.apache.ignite.internal.util.lang.GridFunc$61
-org.apache.ignite.internal.util.lang.GridFunc$62
-org.apache.ignite.internal.util.lang.GridFunc$63
-org.apache.ignite.internal.util.lang.GridFunc$7
-org.apache.ignite.internal.util.lang.GridFunc$8
-org.apache.ignite.internal.util.lang.GridFunc$9
org.apache.ignite.internal.util.lang.GridIterable
org.apache.ignite.internal.util.lang.GridIterableAdapter
org.apache.ignite.internal.util.lang.GridIterableAdapter$IteratorWrapper
@@ -1639,9 +1543,57 @@ org.apache.ignite.internal.util.lang.IgniteReducer3
org.apache.ignite.internal.util.lang.IgniteReducer3X
org.apache.ignite.internal.util.lang.IgniteReducerX
org.apache.ignite.internal.util.lang.IgniteSingletonIterator
+org.apache.ignite.internal.util.lang.gridfunc.AlwaysFalsePredicate
+org.apache.ignite.internal.util.lang.gridfunc.AlwaysTruePredicate
+org.apache.ignite.internal.util.lang.gridfunc.AlwaysTrueReducer
+org.apache.ignite.internal.util.lang.gridfunc.AtomicIntegerFactoryCallable
+org.apache.ignite.internal.util.lang.gridfunc.CacheEntryGetValueClosure
+org.apache.ignite.internal.util.lang.gridfunc.CacheEntryHasPeekPredicate
+org.apache.ignite.internal.util.lang.gridfunc.ClusterNodeGetIdClosure
+org.apache.ignite.internal.util.lang.gridfunc.ConcurrentDequeFactoryCallable
+org.apache.ignite.internal.util.lang.gridfunc.ConcurrentHashSetFactoryCallable
+org.apache.ignite.internal.util.lang.gridfunc.ConcurrentMapFactoryCallable
+org.apache.ignite.internal.util.lang.gridfunc.ContainsNodeIdsPredicate
+org.apache.ignite.internal.util.lang.gridfunc.ContainsPredicate
+org.apache.ignite.internal.util.lang.gridfunc.EntryByKeyEvaluationPredicate
+org.apache.ignite.internal.util.lang.gridfunc.EqualsClusterNodeIdPredicate
+org.apache.ignite.internal.util.lang.gridfunc.EqualsUuidPredicate
+org.apache.ignite.internal.util.lang.gridfunc.FlatCollectionWrapper
+org.apache.ignite.internal.util.lang.gridfunc.FlatIterator
+org.apache.ignite.internal.util.lang.gridfunc.HasEqualIdPredicate
+org.apache.ignite.internal.util.lang.gridfunc.HasNotEqualIdPredicate
+org.apache.ignite.internal.util.lang.gridfunc.IdentityClosure
+org.apache.ignite.internal.util.lang.gridfunc.IntSumReducer
+org.apache.ignite.internal.util.lang.gridfunc.IsAllPredicate
+org.apache.ignite.internal.util.lang.gridfunc.IsNotAllPredicate
+org.apache.ignite.internal.util.lang.gridfunc.IsNotNullPredicate
+org.apache.ignite.internal.util.lang.gridfunc.LongSumReducer
+org.apache.ignite.internal.util.lang.gridfunc.MapFactoryCallable
+org.apache.ignite.internal.util.lang.gridfunc.MultipleIterator
+org.apache.ignite.internal.util.lang.gridfunc.NoOpClosure
+org.apache.ignite.internal.util.lang.gridfunc.NotContainsPredicate
+org.apache.ignite.internal.util.lang.gridfunc.NotEqualPredicate
+org.apache.ignite.internal.util.lang.gridfunc.PredicateCollectionView
+org.apache.ignite.internal.util.lang.gridfunc.PredicateMapView
+org.apache.ignite.internal.util.lang.gridfunc.PredicateMapView$1
+org.apache.ignite.internal.util.lang.gridfunc.PredicateSetView
+org.apache.ignite.internal.util.lang.gridfunc.PredicateSetView$1
+org.apache.ignite.internal.util.lang.gridfunc.ReadOnlyCollectionView
+org.apache.ignite.internal.util.lang.gridfunc.ReadOnlyCollectionView$1
+org.apache.ignite.internal.util.lang.gridfunc.ReadOnlyCollectionView2X
+org.apache.ignite.internal.util.lang.gridfunc.ReadOnlyCollectionView2X$1
+org.apache.ignite.internal.util.lang.gridfunc.RunnableWrapperClosure
+org.apache.ignite.internal.util.lang.gridfunc.SetFactoryCallable
+org.apache.ignite.internal.util.lang.gridfunc.StringConcatReducer
+org.apache.ignite.internal.util.lang.gridfunc.ToStringClosure
+org.apache.ignite.internal.util.lang.gridfunc.TransformCollectionView
+org.apache.ignite.internal.util.lang.gridfunc.TransformFilteringIterator
+org.apache.ignite.internal.util.lang.gridfunc.TransformMapView
+org.apache.ignite.internal.util.lang.gridfunc.TransformMapView$1
+org.apache.ignite.internal.util.lang.gridfunc.TransformMapView2
+org.apache.ignite.internal.util.lang.gridfunc.TransformMapView2$1
org.apache.ignite.internal.util.nio.GridNioEmbeddedFuture$1
org.apache.ignite.internal.util.nio.GridNioException
-org.apache.ignite.internal.util.nio.GridNioFutureImpl
org.apache.ignite.internal.util.nio.GridNioMessageTracker
org.apache.ignite.internal.util.nio.GridNioServer$NioOperation
org.apache.ignite.internal.util.nio.GridNioServer$RandomBalancer
@@ -1698,32 +1650,42 @@ org.apache.ignite.internal.util.typedef.T4
org.apache.ignite.internal.util.typedef.T5
org.apache.ignite.internal.util.typedef.T6
org.apache.ignite.internal.util.typedef.internal.SB
+org.apache.ignite.internal.visor.VisorDataTransferObject
+org.apache.ignite.internal.visor.VisorEither
org.apache.ignite.internal.visor.VisorJob
org.apache.ignite.internal.visor.VisorMultiNodeTask
org.apache.ignite.internal.visor.VisorOneNodeTask
org.apache.ignite.internal.visor.VisorTaskArgument
+org.apache.ignite.internal.visor.binary.VisorBinaryMetadata
+org.apache.ignite.internal.visor.binary.VisorBinaryMetadataCollectorTask
+org.apache.ignite.internal.visor.binary.VisorBinaryMetadataCollectorTask$VisorBinaryCollectMetadataJob
+org.apache.ignite.internal.visor.binary.VisorBinaryMetadataCollectorTaskResult
+org.apache.ignite.internal.visor.binary.VisorBinaryMetadataField
org.apache.ignite.internal.visor.cache.VisorCache
org.apache.ignite.internal.visor.cache.VisorCacheAffinityConfiguration
org.apache.ignite.internal.visor.cache.VisorCacheAffinityNodeTask
org.apache.ignite.internal.visor.cache.VisorCacheAffinityNodeTask$VisorCacheAffinityNodeJob
+org.apache.ignite.internal.visor.cache.VisorCacheAffinityNodeTaskArg
org.apache.ignite.internal.visor.cache.VisorCacheAggregatedMetrics
org.apache.ignite.internal.visor.cache.VisorCacheClearTask
-org.apache.ignite.internal.visor.cache.VisorCacheClearTask$VisorCacheClearCallable
org.apache.ignite.internal.visor.cache.VisorCacheClearTask$VisorCacheClearJob
org.apache.ignite.internal.visor.cache.VisorCacheClearTask$VisorCacheClearJob$1
-org.apache.ignite.internal.visor.cache.VisorCacheClearTask$VisorCacheSizeCallable
+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.VisorCacheDefaultConfiguration
org.apache.ignite.internal.visor.cache.VisorCacheEvictionConfiguration
+org.apache.ignite.internal.visor.cache.VisorCacheJdbcType
+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.VisorCacheMetadataTask
org.apache.ignite.internal.visor.cache.VisorCacheMetadataTask$VisorCacheMetadataJob
org.apache.ignite.internal.visor.cache.VisorCacheMetrics
org.apache.ignite.internal.visor.cache.VisorCacheMetricsCollectorTask
org.apache.ignite.internal.visor.cache.VisorCacheMetricsCollectorTask$VisorCacheMetricsCollectorJob
+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
@@ -1731,39 +1693,33 @@ org.apache.ignite.internal.visor.cache.VisorCachePartition
org.apache.ignite.internal.visor.cache.VisorCachePartitions
org.apache.ignite.internal.visor.cache.VisorCachePartitionsTask
org.apache.ignite.internal.visor.cache.VisorCachePartitionsTask$VisorCachePartitionsJob
-org.apache.ignite.internal.visor.cache.VisorCacheQueryConfiguration
-org.apache.ignite.internal.visor.cache.VisorCacheQueryDetailMetrics
-org.apache.ignite.internal.visor.cache.VisorCacheQueryDetailMetricsCollectorTask
-org.apache.ignite.internal.visor.cache.VisorCacheQueryDetailMetricsCollectorTask$VisorCacheQueryDetailMetricsCollectorJob
-org.apache.ignite.internal.visor.cache.VisorCacheQueryMetrics
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.VisorCacheResetMetricsTask
org.apache.ignite.internal.visor.cache.VisorCacheResetMetricsTask$VisorCacheResetMetricsJob
-org.apache.ignite.internal.visor.cache.VisorCacheResetQueryDetailMetricsTask
-org.apache.ignite.internal.visor.cache.VisorCacheResetQueryDetailMetricsTask$VisorCacheResetQueryDetailMetricsJob
-org.apache.ignite.internal.visor.cache.VisorCacheResetQueryMetricsTask
-org.apache.ignite.internal.visor.cache.VisorCacheResetQueryMetricsTask$VisorCacheResetQueryMetricsJob
+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$VisorCacheStartArg
org.apache.ignite.internal.visor.cache.VisorCacheStartTask$VisorCacheStartJob
org.apache.ignite.internal.visor.cache.VisorCacheStopTask
org.apache.ignite.internal.visor.cache.VisorCacheStopTask$VisorCacheStopJob
org.apache.ignite.internal.visor.cache.VisorCacheStoreConfiguration
-org.apache.ignite.internal.visor.cache.VisorCacheTypeFieldMetadata
-org.apache.ignite.internal.visor.cache.VisorCacheTypeMetadata
+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.VisorComputeResetMetricsTask
org.apache.ignite.internal.visor.compute.VisorComputeResetMetricsTask$VisorComputeResetMetricsJob
org.apache.ignite.internal.visor.compute.VisorComputeToggleMonitoringTask
org.apache.ignite.internal.visor.compute.VisorComputeToggleMonitoringTask$VisorComputeToggleMonitoringJob
+org.apache.ignite.internal.visor.compute.VisorComputeToggleMonitoringTaskArg
org.apache.ignite.internal.visor.compute.VisorGatewayTask
org.apache.ignite.internal.visor.compute.VisorGatewayTask$VisorGatewayJob
org.apache.ignite.internal.visor.compute.VisorGatewayTask$VisorGatewayJob$1
org.apache.ignite.internal.visor.debug.VisorThreadDumpTask
org.apache.ignite.internal.visor.debug.VisorThreadDumpTask$VisorDumpThreadJob
+org.apache.ignite.internal.visor.debug.VisorThreadDumpTaskResult
org.apache.ignite.internal.visor.debug.VisorThreadInfo
org.apache.ignite.internal.visor.debug.VisorThreadLockInfo
org.apache.ignite.internal.visor.debug.VisorThreadMonitorInfo
@@ -1774,11 +1730,12 @@ 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$VisorFileBlockArg
org.apache.ignite.internal.visor.file.VisorFileBlockTask$VisorFileBlockJob
org.apache.ignite.internal.visor.file.VisorLatestTextFilesTask
org.apache.ignite.internal.visor.file.VisorLatestTextFilesTask$VisorLatestTextFilesJob
+org.apache.ignite.internal.visor.file.VisorLatestTextFilesTaskArg
org.apache.ignite.internal.visor.igfs.VisorIgfs
org.apache.ignite.internal.visor.igfs.VisorIgfsEndpoint
org.apache.ignite.internal.visor.igfs.VisorIgfsFormatTask
@@ -1786,6 +1743,7 @@ org.apache.ignite.internal.visor.igfs.VisorIgfsFormatTask$VisorIgfsFormatJob
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.VisorIgfsProfilerClearTaskResult
org.apache.ignite.internal.visor.igfs.VisorIgfsProfilerEntry
org.apache.ignite.internal.visor.igfs.VisorIgfsProfilerTask
org.apache.ignite.internal.visor.igfs.VisorIgfsProfilerTask$VisorIgfsProfilerJob
@@ -1794,11 +1752,13 @@ org.apache.ignite.internal.visor.igfs.VisorIgfsResetMetricsTask
org.apache.ignite.internal.visor.igfs.VisorIgfsResetMetricsTask$VisorIgfsResetMetricsJob
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$VisorLogSearchArg
org.apache.ignite.internal.visor.log.VisorLogSearchTask$VisorLogSearchJob
+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.VisorChangeGridActiveStateTask
@@ -1828,38 +1788,58 @@ org.apache.ignite.internal.visor.node.VisorNodeDataCollectorTaskResult
org.apache.ignite.internal.visor.node.VisorNodeEventsCollectorTask
org.apache.ignite.internal.visor.node.VisorNodeEventsCollectorTask$VisorNodeEventsCollectorJob
org.apache.ignite.internal.visor.node.VisorNodeEventsCollectorTask$VisorNodeEventsCollectorJob$1
-org.apache.ignite.internal.visor.node.VisorNodeEventsCollectorTask$VisorNodeEventsCollectorTaskArg
+org.apache.ignite.internal.visor.node.VisorNodeEventsCollectorTaskArg
org.apache.ignite.internal.visor.node.VisorNodeGcTask
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.VisorNodePingTaskResult
org.apache.ignite.internal.visor.node.VisorNodeRestartTask
org.apache.ignite.internal.visor.node.VisorNodeRestartTask$VisorNodesRestartJob
org.apache.ignite.internal.visor.node.VisorNodeStopTask
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.VisorPeerToPeerConfiguration
org.apache.ignite.internal.visor.node.VisorRestConfiguration
org.apache.ignite.internal.visor.node.VisorSegmentationConfiguration
+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.VisorCancelQueriesTask
-org.apache.ignite.internal.visor.query.VisorCancelQueriesTask$VisorCancelQueriesJob
-org.apache.ignite.internal.visor.query.VisorCollectRunningQueriesTask
-org.apache.ignite.internal.visor.query.VisorCollectRunningQueriesTask$VisorCollectRunningQueriesJob
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.VisorQueryCleanupTask
org.apache.ignite.internal.visor.query.VisorQueryCleanupTask$VisorQueryCleanupJob
+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.VisorQueryEntity
org.apache.ignite.internal.visor.query.VisorQueryField
-org.apache.ignite.internal.visor.query.VisorQueryJob
+org.apache.ignite.internal.visor.query.VisorQueryIndex
+org.apache.ignite.internal.visor.query.VisorQueryIndexField
+org.apache.ignite.internal.visor.query.VisorQueryMetrics
org.apache.ignite.internal.visor.query.VisorQueryNextPageTask
org.apache.ignite.internal.visor.query.VisorQueryNextPageTask$VisorQueryNextPageJob
+org.apache.ignite.internal.visor.query.VisorQueryNextPageTaskArg
+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.VisorQueryResult
-org.apache.ignite.internal.visor.query.VisorQueryResultEx
-org.apache.ignite.internal.visor.query.VisorQueryScanSubstringFilter
+org.apache.ignite.internal.visor.query.VisorQueryScanRegexFilter
org.apache.ignite.internal.visor.query.VisorQueryTask
+org.apache.ignite.internal.visor.query.VisorQueryTask$VisorQueryJob
+org.apache.ignite.internal.visor.query.VisorRunningQueriesCollectorTask
+org.apache.ignite.internal.visor.query.VisorRunningQueriesCollectorTask$VisorCollectRunningQueriesJob
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.service.VisorCancelServiceTask
org.apache.ignite.internal.visor.service.VisorCancelServiceTask$VisorCancelServiceJob
org.apache.ignite.internal.visor.service.VisorServiceDescriptor
@@ -1888,7 +1868,6 @@ org.apache.ignite.lang.IgniteRunnable
org.apache.ignite.lang.IgniteUuid
org.apache.ignite.lifecycle.LifecycleEventType
org.apache.ignite.marshaller.jdk.JdkMarshallerDummySerializable
-org.apache.ignite.internal.marshaller.optimized.OptimizedFieldType
org.apache.ignite.messaging.MessagingListenActor
org.apache.ignite.platform.dotnet.PlatformDotNetAffinityFunction
org.apache.ignite.platform.dotnet.PlatformDotNetCacheStoreFactory
@@ -1923,8 +1902,8 @@ org.apache.ignite.spi.checkpoint.sharedfs.SharedFsCheckpointData
org.apache.ignite.spi.collision.jobstealing.JobStealingRequest
org.apache.ignite.spi.collision.priorityqueue.PriorityQueueCollisionSpi$PriorityGridCollisionJobContextComparator
org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi$1
+org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi$10
org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi$11
-org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi$12
org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi$2$ConnectClosure
org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi$2$ConnectClosure$1
org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi$2$ConnectClosureNew
@@ -1983,6 +1962,7 @@ org.apache.ignite.stream.StreamVisitor
org.apache.ignite.stream.StreamVisitor$1
org.apache.ignite.transactions.TransactionConcurrency
org.apache.ignite.transactions.TransactionDeadlockException
+org.apache.ignite.transactions.TransactionException
org.apache.ignite.transactions.TransactionHeuristicException
org.apache.ignite.transactions.TransactionIsolation
org.apache.ignite.transactions.TransactionMetrics
http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/modules/hadoop/src/main/resources/META-INF/classnames.properties
----------------------------------------------------------------------
diff --git a/modules/hadoop/src/main/resources/META-INF/classnames.properties b/modules/hadoop/src/main/resources/META-INF/classnames.properties
index d8848ac..051094d 100644
--- a/modules/hadoop/src/main/resources/META-INF/classnames.properties
+++ b/modules/hadoop/src/main/resources/META-INF/classnames.properties
@@ -27,14 +27,6 @@ org.apache.ignite.hadoop.util.KerberosUserNameMapper$State
org.apache.ignite.hadoop.util.UserNameMapper
org.apache.ignite.internal.processors.hadoop.HadoopAttributes
org.apache.ignite.internal.processors.hadoop.HadoopExternalSplit
-org.apache.ignite.internal.processors.hadoop.HadoopFileBlock
-org.apache.ignite.hadoop.HadoopInputSplit
-org.apache.ignite.internal.processors.hadoop.HadoopJobId
-org.apache.ignite.internal.processors.hadoop.HadoopJobInfo
-org.apache.ignite.internal.processors.hadoop.HadoopJobPhase
-org.apache.ignite.internal.processors.hadoop.HadoopJobProperty
-org.apache.ignite.internal.processors.hadoop.HadoopJobStatus
-org.apache.ignite.hadoop.HadoopMapReducePlan
org.apache.ignite.internal.processors.hadoop.HadoopSplitWrapper
org.apache.ignite.internal.processors.hadoop.HadoopTaskCancelledException
org.apache.ignite.internal.processors.hadoop.counter.HadoopCounterAdapter
http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyObjectMapper.java
----------------------------------------------------------------------
diff --git a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyObjectMapper.java b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyObjectMapper.java
index 6289bdb..44dd09c 100644
--- a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyObjectMapper.java
+++ b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyObjectMapper.java
@@ -29,19 +29,11 @@ import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.databind.ser.DefaultSerializerProvider;
import com.fasterxml.jackson.databind.ser.SerializerFactory;
import java.io.IOException;
-import java.lang.reflect.Method;
import java.sql.SQLException;
import java.text.DateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashMap;
import java.util.Locale;
-import java.util.Map;
-import java.util.concurrent.locks.ReadWriteLock;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
-import org.apache.ignite.internal.LessNamingBean;
-import org.apache.ignite.internal.visor.cache.VisorCache;
+import org.apache.ignite.internal.processors.cache.query.GridCacheSqlIndexMetadata;
+import org.apache.ignite.internal.processors.cache.query.GridCacheSqlMetadata;
import org.apache.ignite.internal.visor.util.VisorExceptionWrapper;
import org.apache.ignite.lang.IgniteBiTuple;
import org.apache.ignite.lang.IgniteUuid;
@@ -63,7 +55,8 @@ public class GridJettyObjectMapper extends ObjectMapper {
module.addSerializer(Throwable.class, THROWABLE_SERIALIZER);
module.addSerializer(IgniteBiTuple.class, IGNITE_TUPLE_SERIALIZER);
module.addSerializer(IgniteUuid.class, IGNITE_UUID_SERIALIZER);
- module.addSerializer(LessNamingBean.class, LESS_NAMING_SERIALIZER);
+ module.addSerializer(GridCacheSqlMetadata.class, IGNITE_SQL_METADATA_SERIALIZER);
+ module.addSerializer(GridCacheSqlIndexMetadata.class, IGNITE_SQL_INDEX_METADATA_SERIALIZER);
registerModule(module);
}
@@ -186,89 +179,35 @@ public class GridJettyObjectMapper extends ObjectMapper {
}
};
- /**
- * Custom serializer for Visor classes with non JavaBeans getters.
- */
- private static final JsonSerializer<Object> LESS_NAMING_SERIALIZER = new JsonSerializer<Object>() {
- /** Methods to exclude. */
- private final Collection<String> exclMtds = Arrays.asList("toString", "hashCode", "clone", "getClass");
+ /** Custom serializer for {@link GridCacheSqlMetadata} */
+ private static final JsonSerializer<GridCacheSqlMetadata> IGNITE_SQL_METADATA_SERIALIZER = new JsonSerializer<GridCacheSqlMetadata>() {
+ /** {@inheritDoc} */
+ @Override public void serialize(GridCacheSqlMetadata m, JsonGenerator gen, SerializerProvider ser) throws IOException {
+ gen.writeStartObject();
- /** */
- private final Map<Class<?>, Collection<Method>> clsCache = new HashMap<>();
+ gen.writeStringField("cacheName", m.cacheName());
+ gen.writeObjectField("types", m.types());
+ gen.writeObjectField("keyClasses", m.keyClasses());
+ gen.writeObjectField("valClasses", m.valClasses());
+ gen.writeObjectField("fields", m.fields());
+ gen.writeObjectField("indexes", m.indexes());
- /** */
- private final ReadWriteLock rwLock = new ReentrantReadWriteLock();
+ gen.writeEndObject();
+ }
+ };
+ /** Custom serializer for {@link GridCacheSqlIndexMetadata} */
+ private static final JsonSerializer<GridCacheSqlIndexMetadata> IGNITE_SQL_INDEX_METADATA_SERIALIZER = new JsonSerializer<GridCacheSqlIndexMetadata>() {
/** {@inheritDoc} */
- @Override public void serialize(Object bean, JsonGenerator gen, SerializerProvider ser) throws IOException {
- if (bean != null) {
- gen.writeStartObject();
-
- Class<?> cls = bean.getClass();
-
- Collection<Method> methods;
-
- // Get descriptor from cache.
- rwLock.readLock().lock();
-
- try {
- methods = clsCache.get(cls);
- }
- finally {
- rwLock.readLock().unlock();
- }
-
- // If missing in cache - build descriptor
- if (methods == null) {
- Method[] publicMtds = cls.getMethods();
-
- methods = new ArrayList<>(publicMtds.length);
-
- for (Method mtd : publicMtds) {
- Class retType = mtd.getReturnType();
-
- String mtdName = mtd.getName();
-
- if (mtd.getParameterTypes().length != 0 ||
- retType == void.class || retType == cls ||
- exclMtds.contains(mtdName) ||
- (VisorCache.class.isAssignableFrom(retType) && "history".equals(mtdName)))
- continue;
-
- mtd.setAccessible(true);
-
- methods.add(mtd);
- }
-
- // Allow multiple puts for the same class - they will simply override.
- rwLock.writeLock().lock();
-
- try {
- clsCache.put(cls, methods);
- }
- finally {
- rwLock.writeLock().unlock();
- }
- }
-
- // Extract fields values using descriptor and build JSONObject.
- for (Method mtd : methods) {
- try {
- Object prop = mtd.invoke(bean);
-
- if (prop != null)
- gen.writeObjectField(mtd.getName(), prop);
- }
- catch (IOException ioe) {
- throw ioe;
- }
- catch (Exception e) {
- throw new IOException(e);
- }
- }
-
- gen.writeEndObject();
- }
+ @Override public void serialize(GridCacheSqlIndexMetadata idx, JsonGenerator gen, SerializerProvider ser) throws IOException {
+ gen.writeStartObject();
+
+ gen.writeStringField("name", idx.name());
+ gen.writeObjectField("fields", idx.fields());
+ gen.writeObjectField("descendings", idx.descendings());
+ gen.writeBooleanField("unique", idx.unique());
+
+ gen.writeEndObject();
}
};
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/12dfe9e8/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 67aaa14..517028a 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
@@ -105,7 +105,7 @@ class VisorCacheClearCommand {
val res = executeOne(nid, classOf[VisorCacheClearTask], cacheName)
- t += (nodeId8(nid), res.get1(), res.get2())
+ t += (nodeId8(nid), res.getSizeBefore, res.getSizeAfter)
println("Cleared cache with name: " + escapeName(cacheName))