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);
}
/**