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/03/04 15:53:05 UTC

ignite git commit: Speculation: removed client reservations, changed Deque to Queue in NIO session impl.

Repository: ignite
Updated Branches:
  refs/heads/ignite-atomic-good-lock-bench 6cfe531e9 -> d4cff4545


Speculation: removed client reservations, changed Deque to Queue in NIO session impl.


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

Branch: refs/heads/ignite-atomic-good-lock-bench
Commit: d4cff454568e9caaafdb83d4e6697fdb4329498b
Parents: 6cfe531
Author: vozerov-gridgain <vo...@gridgain.com>
Authored: Fri Mar 4 17:52:49 2016 +0300
Committer: vozerov-gridgain <vo...@gridgain.com>
Committed: Fri Mar 4 17:52:49 2016 +0300

----------------------------------------------------------------------
 .../nio/GridAbstractCommunicationClient.java    | 38 ++++++++++----------
 .../util/nio/GridSelectorNioSessionImpl.java    |  8 +++--
 2 files changed, 25 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/d4cff454/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridAbstractCommunicationClient.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridAbstractCommunicationClient.java b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridAbstractCommunicationClient.java
index 9b014ec..31b56a3 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridAbstractCommunicationClient.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridAbstractCommunicationClient.java
@@ -59,28 +59,30 @@ public abstract class GridAbstractCommunicationClient implements GridCommunicati
 
     /** {@inheritDoc} */
     @Override public boolean reserve() {
-        while (true) {
-            int r = reserves.get();
-
-            if (r == -1)
-                return false;
-
-            if (reserves.compareAndSet(r, r + 1))
-                return true;
-        }
+//        while (true) {
+//            int r = reserves.get();
+//
+//            if (r == -1)
+//                return false;
+//
+//            if (reserves.compareAndSet(r, r + 1))
+//                return true;
+//        }
+
+        return true;
     }
 
     /** {@inheritDoc} */
     @Override public void release() {
-        while (true) {
-            int r = reserves.get();
-
-            if (r == -1)
-                return;
-
-            if (reserves.compareAndSet(r, r - 1))
-                return;
-        }
+//        while (true) {
+//            int r = reserves.get();
+//
+//            if (r == -1)
+//                return;
+//
+//            if (reserves.compareAndSet(r, r - 1))
+//                return;
+//        }
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/ignite/blob/d4cff454/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java
index 1241f99..fdc598d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/util/nio/GridSelectorNioSessionImpl.java
@@ -21,6 +21,7 @@ import java.net.InetSocketAddress;
 import java.nio.ByteBuffer;
 import java.nio.channels.SelectionKey;
 import java.util.Collection;
+import java.util.concurrent.ConcurrentLinkedQueue;
 import java.util.concurrent.Semaphore;
 import java.util.concurrent.atomic.AtomicInteger;
 import org.apache.ignite.IgniteLogger;
@@ -37,7 +38,8 @@ import org.jsr166.ConcurrentLinkedDeque8;
  */
 class GridSelectorNioSessionImpl extends GridNioSessionImpl {
     /** Pending write requests. */
-    private final ConcurrentLinkedDeque8<GridNioFuture<?>> queue = new ConcurrentLinkedDeque8<>();
+    //private final ConcurrentLinkedDeque8<GridNioFuture<?>> queue = new ConcurrentLinkedDeque8<>();
+    private final ConcurrentLinkedQueue<GridNioFuture<?>> queue = new ConcurrentLinkedQueue<>();
 
     /** Selection key associated with this session. */
     @GridToStringExclude
@@ -166,7 +168,7 @@ class GridSelectorNioSessionImpl extends GridNioSessionImpl {
     int offerSystemFuture(GridNioFuture<?> writeFut) {
         writeFut.messageThread(true);
 
-        boolean res = queue.offerFirst(writeFut);
+        boolean res = queue.offer(writeFut);
 
         assert res : "Future was not added to queue";
 
@@ -252,7 +254,7 @@ class GridSelectorNioSessionImpl extends GridNioSessionImpl {
     boolean removeFuture(GridNioFuture<?> fut) {
         assert closed();
 
-        return queue.removeLastOccurrence(fut);
+        return queue.remove(fut);
     }
 
     /**