You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by av...@apache.org on 2015/07/23 18:04:40 UTC

[07/20] incubator-ignite git commit: ignite-630 Redundant usage of incremental meta key

ignite-630 Redundant usage of incremental meta key


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

Branch: refs/heads/master
Commit: 060177c13add020ded714300d2da07123431f0c0
Parents: e62f6d0
Author: avinogradov <av...@gridgain.com>
Authored: Tue May 12 16:40:09 2015 +0300
Committer: avinogradov <av...@gridgain.com>
Committed: Tue May 12 16:40:09 2015 +0300

----------------------------------------------------------------------
 .../processors/cache/GridCacheAdapter.java       | 16 +++++-----------
 .../processors/cache/GridCacheUtils.java         | 19 -------------------
 2 files changed, 5 insertions(+), 30 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/060177c1/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
index 445e613..bfadb3f 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
@@ -1291,9 +1291,7 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V
         final AffinityTopologyVersion topVer = ctx.affinity().affinityTopologyVersion();
 
         if (!F.isEmpty(keys)) {
-            final int uid = CU.uid(); // Get meta UID for this thread.
-
-            assert keys != null;
+            final Map<KeyCacheObject, GridCacheVersion> keyVers = new HashMap();
 
             for (KeyCacheObject key : keys) {
                 if (key == null)
@@ -1310,11 +1308,9 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V
                         if (entry == null)
                             break;
 
-                        // Get version before checking filer.
                         GridCacheVersion ver = entry.version();
 
-                        // Tag entry with current version.
-                        entry.addMeta(uid, ver);
+                        keyVers.put(key, ver);
 
                         break;
                     }
@@ -1334,7 +1330,7 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V
             final Map<KeyCacheObject, CacheObject> map =
                 ret ? U.<KeyCacheObject, CacheObject>newHashMap(keys.size()) : null;
 
-            final Collection<KeyCacheObject> absentKeys = F.view(keys, CU.keyHasMeta(ctx, uid));
+            final Collection<KeyCacheObject> absentKeys = F.view(keyVers.keySet());
 
             final Collection<KeyCacheObject> loadedKeys = new GridConcurrentHashSet<>();
 
@@ -1351,9 +1347,8 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V
 
                         if (entry != null) {
                             try {
-                                GridCacheVersion curVer = entry.removeMeta(uid);
+                                GridCacheVersion curVer = keyVers.get(key);
 
-                                // If entry passed the filter.
                                 if (curVer != null) {
                                     boolean wasNew = entry.isNewLocked();
 
@@ -1378,8 +1373,7 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V
 
                                     if (log.isDebugEnabled()) {
                                         log.debug("Set value loaded from store into entry [set=" + set + ", " +
-                                            "curVer=" +
-                                            curVer + ", newVer=" + nextVer + ", entry=" + entry + ']');
+                                            "newVer=" + nextVer + ", entry=" + entry + ']');
                                     }
                                 }
                                 else {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/060177c1/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
index 109aa32..6801248 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
@@ -97,16 +97,6 @@ public class GridCacheUtils {
     /** Skip store flag bit mask. */
     public static final int SKIP_STORE_FLAG_MASK = 0x1;
 
-    /** Per-thread generated UID store. */
-    private static final ThreadLocal<Integer> UIDS = new ThreadLocal<Integer>() {
-        @Override protected Integer initialValue() {
-            return uidGen.getAndIncrement();
-        }
-    };
-
-    /** Generates uid. */
-    private static final AtomicInteger uidGen = new GridAtomicInteger();
-
     /** Empty predicate array. */
     private static final IgnitePredicate[] EMPTY = new IgnitePredicate[0];
 
@@ -253,15 +243,6 @@ public class GridCacheUtils {
     }
 
     /**
-     * Gets per-thread-unique ID for this thread.
-     *
-     * @return ID for this thread.
-     */
-    public static int uid() {
-        return UIDS.get();
-    }
-
-    /**
      * @param msg Message to check.
      * @return {@code True} if preloader message.
      */