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 2015/12/10 07:01:08 UTC

[1/3] ignite git commit: ignite-1.5 Minor fix in generated javadoc.

Repository: ignite
Updated Branches:
  refs/heads/ignite-1.5.1 1a9845ee0 -> c9b7149a8


ignite-1.5 Minor fix in generated javadoc.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/b541daf0
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/b541daf0
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/b541daf0

Branch: refs/heads/ignite-1.5.1
Commit: b541daf0bc9193dc0aa78b27efa610b26e49bec7
Parents: e2316ff
Author: Alexey Kuznetsov <ak...@apache.org>
Authored: Thu Dec 10 10:13:39 2015 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Thu Dec 10 10:13:39 2015 +0700

----------------------------------------------------------------------
 .../ignite/schema/generator/CodeGenerator.java  | 30 +++++++++++---------
 1 file changed, 17 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/b541daf0/modules/schema-import/src/main/java/org/apache/ignite/schema/generator/CodeGenerator.java
----------------------------------------------------------------------
diff --git a/modules/schema-import/src/main/java/org/apache/ignite/schema/generator/CodeGenerator.java b/modules/schema-import/src/main/java/org/apache/ignite/schema/generator/CodeGenerator.java
index 92167e5..0e52acc 100644
--- a/modules/schema-import/src/main/java/org/apache/ignite/schema/generator/CodeGenerator.java
+++ b/modules/schema-import/src/main/java/org/apache/ignite/schema/generator/CodeGenerator.java
@@ -584,8 +584,8 @@ public class CodeGenerator {
         Collection<String> src = new ArrayList<>(256);
 
         header(src, pkg, "java.sql.*;java.util.*;" +
-                "org.apache.ignite.cache.*;org.apache.ignite.cache.store.jdbc.*;" +
-                "org.apache.ignite.configuration.*",
+            "org.apache.ignite.cache.*;org.apache.ignite.cache.store.jdbc.*;" +
+            "org.apache.ignite.configuration.*",
             "CacheConfig", "CacheConfig");
 
         // Generate methods for each type in order to avoid compiler error "java: code too large".
@@ -594,10 +594,11 @@ public class CodeGenerator {
             String valClsName = pojo.valueClassName();
 
             add1(src, "/**");
-            add1(src, "* Create JDBC type for " + tbl + ".");
-            add1(src, "*");
-            add1(src, "* @param cacheName Cache name.");
-            add1(src, "*/");
+            add1(src, " * Create JDBC type for " + tbl + ".");
+            add1(src, " *");
+            add1(src, " * @param cacheName Cache name.");
+            add1(src, " * @return Configured JDBC type.");
+            add1(src, " */");
             add1(src, "private static JdbcType jdbcType" + valClsName + "(String cacheName) {");
 
             add2(src, "JdbcType jdbcType = new JdbcType();");
@@ -632,8 +633,10 @@ public class CodeGenerator {
             add0(src, "");
 
             add1(src, "/**");
-            add1(src, "* Create SQL Query descriptor for " + tbl + ".");
-            add1(src, "*/");
+            add1(src, " * Create SQL Query descriptor for " + tbl + ".");
+            add1(src, " *");
+            add1(src, " * @return Configured query entity.");
+            add1(src, " */");
             add1(src, "private static QueryEntity queryEntity" + valClsName + "() {");
 
             // Query entity.
@@ -711,11 +714,12 @@ public class CodeGenerator {
         }
 
         add1(src, "/**");
-        add1(src, "* Configure cache.");
-        add1(src, "*");
-        add1(src, "* @param cacheName Cache name.");
-        add1(src, "* @param storeFactory Cache store factory.");
-        add1(src, "*/");
+        add1(src, " * Configure cache.");
+        add1(src, " *");
+        add1(src, " * @param cacheName Cache name.");
+        add1(src, " * @param storeFactory Cache store factory.");
+        add1(src, " * @return Cache configuration.");
+        add1(src, " */");
         add1(src, "public static <K, V> CacheConfiguration<K, V> cache(String cacheName," +
             " CacheJdbcPojoStoreFactory<K, V> storeFactory) {");
         add2(src, "if (storeFactory == null)");


[2/3] ignite git commit: IGNITE-2093 Implemented scan for near cache.

Posted by ak...@apache.org.
IGNITE-2093 Implemented scan for near cache.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/1a3c7840
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/1a3c7840
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/1a3c7840

Branch: refs/heads/ignite-1.5.1
Commit: 1a3c78400d0b804c5d9046604f3f114786af7003
Parents: b541daf
Author: Alexey Kuznetsov <ak...@apache.org>
Authored: Thu Dec 10 12:55:57 2015 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Thu Dec 10 12:55:57 2015 +0700

----------------------------------------------------------------------
 .../ignite/internal/visor/cache/VisorCache.java | 13 ++++
 .../internal/visor/query/VisorQueryJob.java     | 76 +++++++++++++++++---
 .../internal/visor/query/VisorQueryUtils.java   |  5 +-
 3 files changed, 84 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/1a3c7840/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCache.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCache.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCache.java
index 1bbcf2f..6def8c3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCache.java
@@ -108,6 +108,9 @@ public class VisorCache implements Serializable {
     /** Cache partitions states. */
     private GridDhtPartitionMap2 partitionsMap;
 
+    /** Flag indicating that cache has near cache. */
+    private boolean near;
+
     /**
      * @param ignite Grid.
      * @param cacheName Cache name.
@@ -140,6 +143,8 @@ public class VisorCache implements Serializable {
 
         CacheConfiguration cfg = ca.configuration();
 
+        near = ca.context().isNear();
+
         mode = cfg.getCacheMode();
 
         boolean partitioned = (mode == CacheMode.PARTITIONED || mode == CacheMode.REPLICATED)
@@ -275,6 +280,7 @@ public class VisorCache implements Serializable {
         c.primaryPartitions = Collections.emptyList();
         c.backupPartitions = Collections.emptyList();
         c.metrics = metrics;
+        c.near = near;
 
         return c;
     }
@@ -405,6 +411,13 @@ public class VisorCache implements Serializable {
         return partitionsMap;
     }
 
+    /**
+     * @return {@code true} if cache has near cache.
+     */
+    public boolean near() {
+        return near;
+    }
+
     /** {@inheritDoc} */
     @Override public String toString() {
         return S.toString(VisorCache.class, this);

http://git-wip-us.apache.org/repos/asf/ignite/blob/1a3c7840/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryJob.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryJob.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryJob.java
index 40c5cc3..50e5a06 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryJob.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryJob.java
@@ -20,11 +20,14 @@ package org.apache.ignite.internal.visor.query;
 import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Iterator;
 import java.util.List;
 import java.util.UUID;
 import java.util.concurrent.ConcurrentMap;
 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.cache.query.SqlFieldsQuery;
 import org.apache.ignite.internal.processors.cache.GridCacheProcessor;
@@ -39,6 +42,7 @@ import org.apache.ignite.lang.IgniteBiTuple;
 import static org.apache.ignite.internal.visor.query.VisorQueryUtils.RMV_DELAY;
 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.SCAN_NEAR_CACHE;
 import static org.apache.ignite.internal.visor.query.VisorQueryUtils.SQL_QRY_NAME;
 import static org.apache.ignite.internal.visor.query.VisorQueryUtils.fetchScanQueryRows;
 import static org.apache.ignite.internal.visor.query.VisorQueryUtils.fetchSqlQueryRows;
@@ -70,26 +74,49 @@ public class VisorQueryJob extends VisorJob<VisorQueryArg, IgniteBiTuple<? exten
         return cacheProcessor.jcache(cacheName);
     }
 
+    /**
+     * 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) {
+        ScanQuery<Object, Object> qry = new ScanQuery<>(null);
+        qry.setPageSize(arg.pageSize());
+        qry.setLocal(arg.local());
+
+        return c.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 IgniteBiTuple<? extends VisorExceptionWrapper, VisorQueryResultEx> run(VisorQueryArg arg) {
         try {
             UUID nid = ignite.localNode().id();
 
+            boolean near = SCAN_NEAR_CACHE.equalsIgnoreCase(arg.queryTxt());
+
             boolean scan = arg.queryTxt() == null;
 
-            String qryId = (scan ? SCAN_QRY_NAME : SQL_QRY_NAME) + "-" +
-                UUID.randomUUID();
+            // Generate query ID to store query cursor in node local storage.
+            String qryId = ((scan || near) ? SCAN_QRY_NAME : SQL_QRY_NAME) + "-" + UUID.randomUUID();
 
             IgniteCache<Object, Object> c = cache(arg.cacheName());
 
-            if (scan) {
-                ScanQuery<Object, Object> qry = new ScanQuery<>(null);
-                qry.setPageSize(arg.pageSize());
-                qry.setLocal(arg.local());
-
+            if (near || scan) {
                 long start = U.currentTimeMillis();
 
-                VisorQueryCursor<Cache.Entry<Object, Object>> cur = new VisorQueryCursor<>(c.query(qry));
+                VisorQueryCursor<Cache.Entry<Object, Object>> cur = new VisorQueryCursor<>(near ? near(c) : scan(c, arg));
 
                 List<Object[]> rows = fetchScanQueryRows(cur, arg.pageSize());
 
@@ -184,4 +211,35 @@ public class VisorQueryJob extends VisorJob<VisorQueryArg, IgniteBiTuple<? exten
     @Override public String toString() {
         return S.toString(VisorQueryJob.class, this);
     }
-}
\ No newline at end of file
+
+    /**
+     * Wrapper for cache iterator to behave like {@link QueryCursor}.
+     */
+    private static class VisorNearCacheCursor<T> implements QueryCursor<T> {
+        private final Iterator<T> it;
+
+        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/1a3c7840/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 e89093f..64d2b95 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
@@ -40,6 +40,9 @@ 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";
+
     /** Columns for SCAN queries. */
     public static final Collection<VisorQueryField> SCAN_COL_NAMES = Arrays.asList(
         new VisorQueryField(null, null, "Key Class", ""), new VisorQueryField(null, null, "Key", ""),
@@ -195,4 +198,4 @@ public class VisorQueryUtils {
 
         return rows;
     }
-}
\ No newline at end of file
+}


[3/3] ignite git commit: Merge branch 'ignite-1.5' of https://git-wip-us.apache.org/repos/asf/ignite into ignite-1.5.1

Posted by ak...@apache.org.
Merge branch 'ignite-1.5' of https://git-wip-us.apache.org/repos/asf/ignite into ignite-1.5.1


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/c9b7149a
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/c9b7149a
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/c9b7149a

Branch: refs/heads/ignite-1.5.1
Commit: c9b7149a8f6b533113c2086acec9e17279bcd3f1
Parents: 1a9845e 1a3c784
Author: Alexey Kuznetsov <ak...@apache.org>
Authored: Thu Dec 10 13:00:43 2015 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Thu Dec 10 13:00:43 2015 +0700

----------------------------------------------------------------------
 .../ignite/internal/visor/cache/VisorCache.java | 13 ++++
 .../internal/visor/query/VisorQueryJob.java     | 76 +++++++++++++++++---
 .../internal/visor/query/VisorQueryUtils.java   |  5 +-
 .../ignite/schema/generator/CodeGenerator.java  | 30 ++++----
 4 files changed, 101 insertions(+), 23 deletions(-)
----------------------------------------------------------------------