You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2016/02/05 13:25:48 UTC

[12/14] ignite git commit: https://issues.apache.org/jira/browse/IGNITE-2329 - fixes after review

https://issues.apache.org/jira/browse/IGNITE-2329 - fixes after review


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

Branch: refs/heads/ignite-2329-1
Commit: daa60f5ab1927dd894d85de51f3b93cc8403c7cb
Parents: c9b44cf
Author: Yakov Zhdanov <yz...@gridgain.com>
Authored: Thu Feb 4 18:18:21 2016 +0300
Committer: Yakov Zhdanov <yz...@gridgain.com>
Committed: Thu Feb 4 18:18:21 2016 +0300

----------------------------------------------------------------------
 .../apache/ignite/IgniteSystemProperties.java   | 12 ++++++++++-
 .../processors/cache/GridCacheMvccManager.java  | 12 +++++------
 .../distributed/dht/GridDhtGetSingleFuture.java | 22 +++++++-------------
 .../dht/preloader/GridDhtPreloader.java         |  8 ++-----
 .../util/future/GridCompoundFuture.java         |  9 ++++----
 .../ignite/internal/util/nio/GridNioServer.java |  2 +-
 6 files changed, 31 insertions(+), 34 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/daa60f5a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
index de7c10b..6f07702 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
@@ -370,11 +370,21 @@ public final class IgniteSystemProperties {
     /**
      * Manages {@link OptimizedMarshaller} behavior of {@code serialVersionUID} computation for
      * {@link Serializable} classes.
-     * */
+     */
     public static final String IGNITE_OPTIMIZED_MARSHALLER_USE_DEFAULT_SUID =
         "IGNITE_OPTIMIZED_MARSHALLER_USE_DEFAULT_SUID";
 
     /**
+     * If set to {@code true}, then default selected keys set is used inside
+     * {@code GridNioServer} which lead to some extra garbage generation when
+     * processing selected keys.
+     * <p>
+     * Default value is {@code false}. Should be switched to {@code true} if there are
+     * any problems in communication layer.
+     */
+    public static final String IGNITE_NO_SELECTOR_OPTS = "IGNITE_NO_SELECTOR_OPTS";
+
+    /**
      * Enforces singleton.
      */
     private IgniteSystemProperties() {

http://git-wip-us.apache.org/repos/asf/ignite/blob/daa60f5a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccManager.java
index d4f55b6..b2c23f5 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccManager.java
@@ -77,12 +77,7 @@ public class GridCacheMvccManager extends GridCacheSharedManagerAdapter {
     private static final int MAX_REMOVED_LOCKS = 10240;
 
     /** Pending locks per thread. */
-    private final ThreadLocal<Deque<GridCacheMvccCandidate>> pending =
-        new ThreadLocal<Deque<GridCacheMvccCandidate>>() {
-            @Override protected Deque<GridCacheMvccCandidate> initialValue() {
-                return new ArrayDeque<>();
-            }
-        };
+    private final ThreadLocal<Deque<GridCacheMvccCandidate>> pending = new ThreadLocal<>();
 
     /** Pending near local locks and topology version per thread. */
     private ConcurrentMap<Long, GridCacheExplicitLockSpan> pendingExplicit;
@@ -728,6 +723,9 @@ public class GridCacheMvccManager extends GridCacheSharedManagerAdapter {
 
         Deque<GridCacheMvccCandidate> queue = pending.get();
 
+        if (queue == null)
+            pending.set(queue = new ArrayDeque<>());
+
         GridCacheMvccCandidate prev = null;
 
         if (!queue.isEmpty())
@@ -751,7 +749,7 @@ public class GridCacheMvccManager extends GridCacheSharedManagerAdapter {
      * Reset MVCC context.
      */
     public void contextReset() {
-        pending.remove();
+        pending.set(null);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/ignite/blob/daa60f5a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtGetSingleFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtGetSingleFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtGetSingleFuture.java
index b0e346d..d9851c7 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtGetSingleFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtGetSingleFuture.java
@@ -453,24 +453,18 @@ public final class GridDhtGetSingleFuture<K, V> extends GridFutureAdapter<GridCa
         if (map.isEmpty())
             return null;
 
-        Map.Entry<KeyCacheObject, T2<CacheObject, GridCacheVersion>> e = F.firstEntry(map);
+        T2<CacheObject, GridCacheVersion> val = map.get(key);
 
-        if (e != null) {
-            GridCacheEntryInfo info = new GridCacheEntryInfo();
+        assert val != null;
 
-            T2<CacheObject, GridCacheVersion> val = e.getValue();
+        GridCacheEntryInfo info = new GridCacheEntryInfo();
 
-            assert val != null;
+        info.cacheId(cctx.cacheId());
+        info.key(key);
+        info.value(skipVals ? null : val.get1());
+        info.version(val.get2());
 
-            info.cacheId(cctx.cacheId());
-            info.key(e.getKey());
-            info.value(skipVals ? null : val.get1());
-            info.version(val.get2());
-
-            return info;
-        }
-
-        return null;
+        return info;
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/ignite/blob/daa60f5a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
index a92a080..6ec02a6 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPreloader.java
@@ -711,12 +711,8 @@ public class GridDhtPreloader extends GridCachePreloaderAdapter {
      */
     @SuppressWarnings( {"unchecked", "RedundantCast"})
     @Override public GridDhtFuture<Object> request(Collection<KeyCacheObject> keys, AffinityTopologyVersion topVer) {
-        if (cctx.rebalanceEnabled()) {
-            IgniteInternalFuture<Boolean> rebalanceFut = rebalanceFuture();
-
-            if (rebalanceFut.isDone() && Boolean.TRUE.equals(rebalanceFut.result()))
-                return null;
-        }
+        if (!needForceKeys())
+            return null;
 
         final GridDhtForceKeysFuture<?, ?> fut = new GridDhtForceKeysFuture<>(cctx, topVer, keys, this);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/daa60f5a/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java
index 9bec886..fca8741 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java
@@ -17,6 +17,10 @@
 
 package org.apache.ignite.internal.util.future;
 
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.internal.IgniteFutureCancelledCheckedException;
 import org.apache.ignite.internal.IgniteInternalFuture;
@@ -31,11 +35,6 @@ import org.apache.ignite.lang.IgniteInClosure;
 import org.apache.ignite.lang.IgniteReducer;
 import org.jetbrains.annotations.Nullable;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
-
 /**
  * Future composed of multiple inner futures.
  */

http://git-wip-us.apache.org/repos/asf/ignite/blob/daa60f5a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
index d42e771..75fa9f2 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridNioServer.java
@@ -105,7 +105,7 @@ public class GridNioServer<T> {
 
     /** */
     private static final boolean DISABLE_KEYSET_OPTIMIZATION =
-        IgniteSystemProperties.getBoolean("IGNITE_NO_SELECTOR_OPTS", false);
+        IgniteSystemProperties.getBoolean(IgniteSystemProperties.IGNITE_NO_SELECTOR_OPTS);
 
     /**
      *