You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ag...@apache.org on 2017/04/14 15:13:36 UTC
[19/50] [abbrv] ignite git commit: Merge branch 'ignite-1.9.1-p1'
Merge branch 'ignite-1.9.1-p1'
# Conflicts:
# modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/3f541676
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/3f541676
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/3f541676
Branch: refs/heads/ignite-4587
Commit: 3f541676e208b3bfaf13346a60e8508c68767772
Parents: 922b258 6d12bd4
Author: dkarachentsev <dk...@gridgain.com>
Authored: Fri Apr 14 09:45:14 2017 +0300
Committer: dkarachentsev <dk...@gridgain.com>
Committed: Fri Apr 14 09:45:14 2017 +0300
----------------------------------------------------------------------
assembly/release-fabric-base.xml | 6 +
.../binary/builder/BinaryBuilderReader.java | 8 +
.../managers/communication/GridIoManager.java | 12 +-
.../dht/atomic/GridDhtAtomicCache.java | 25 ++-
.../util/nio/GridNioBackPressureControl.java | 39 ++++-
.../util/nio/GridNioMessageTracker.java | 7 +
.../mutabletest/GridBinaryTestClasses.java | 9 +
.../CacheAtomicPrimarySyncBackPressureTest.java | 167 +++++++++++++++++++
.../testsuites/IgniteCacheTestSuite4.java | 3 +
9 files changed, 262 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/3f541676/assembly/release-fabric-base.xml
----------------------------------------------------------------------
diff --cc assembly/release-fabric-base.xml
index c3bad39,97222c9..b374ab4
--- a/assembly/release-fabric-base.xml
+++ b/assembly/release-fabric-base.xml
@@@ -172,16 -178,10 +172,22 @@@
<directory>modules/clients/target/cppdoc/html</directory>
<outputDirectory>/platforms/cpp/docs</outputDirectory>
</fileSet>
+
+ <!-- Move CPP binaries. -->
+ <fileSet>
+ <directory>modules/platforms/cpp/bin</directory>
+ <outputDirectory>/platforms/cpp/bin</outputDirectory>
+ </fileSet>
+
+ <!-- Move CPP binaries. -->
+ <fileSet>
+ <directory>modules/platforms/cpp/bin</directory>
++ <outputDirectory>/platforms/cpp/bin</outputDirectory>
++ </fileSet>
+
+ <!-- Move CPP binaries. -->
+ <fileSet>
+ <directory>modules/platforms/cpp/bin</directory>
<outputDirectory>/platforms/cpp/bin</outputDirectory>
</fileSet>
http://git-wip-us.apache.org/repos/asf/ignite/blob/3f541676/modules/core/src/main/java/org/apache/ignite/internal/binary/builder/BinaryBuilderReader.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/3f541676/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/3f541676/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
index 6bcd6c2,da16e74..2810327
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java
@@@ -99,15 -100,20 +101,18 @@@ import org.apache.ignite.internal.util.
import org.apache.ignite.internal.util.typedef.internal.U;
import org.apache.ignite.lang.IgniteBiTuple;
import org.apache.ignite.lang.IgniteClosure;
+ import org.apache.ignite.lang.IgniteInClosure;
import org.apache.ignite.lang.IgniteOutClosure;
+ import org.apache.ignite.lang.IgniteRunnable;
+import org.apache.ignite.lang.IgniteUuid;
import org.apache.ignite.plugin.security.SecurityPermission;
import org.apache.ignite.transactions.TransactionIsolation;
import org.jetbrains.annotations.Nullable;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_ATOMIC_DEFERRED_ACK_BUFFER_SIZE;
import static org.apache.ignite.IgniteSystemProperties.IGNITE_ATOMIC_DEFERRED_ACK_TIMEOUT;
-import static org.apache.ignite.cache.CacheAtomicWriteOrderMode.CLOCK;
import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_ASYNC;
-import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC;
+ import static org.apache.ignite.cache.CacheWriteSynchronizationMode.PRIMARY_SYNC;
import static org.apache.ignite.internal.processors.cache.GridCacheOperation.DELETE;
import static org.apache.ignite.internal.processors.cache.GridCacheOperation.TRANSFORM;
import static org.apache.ignite.internal.processors.cache.GridCacheOperation.UPDATE;
@@@ -1870,15 -1905,33 +1875,33 @@@ public class GridDhtAtomicCache<K, V> e
res.returnValue(retVal);
- if (dhtFut != null)
- if (req.writeSynchronizationMode() != FULL_ASYNC)
- req.cleanup(!node.isLocal());
-
+ if (dhtFut != null) {
+ if (req.writeSynchronizationMode() == PRIMARY_SYNC
+ // To avoid deadlock disable back-pressure for sender data node.
+ && !ctx.discovery().cacheAffinityNode(ctx.discovery().node(nodeId), ctx.name())
+ && !dhtFut.isDone()) {
+ final IgniteRunnable tracker = GridNioBackPressureControl.threadTracker();
+
+ if (tracker != null && tracker instanceof GridNioMessageTracker) {
+ ((GridNioMessageTracker)tracker).onMessageReceived();
+
+ dhtFut.listen(new IgniteInClosure<IgniteInternalFuture<Void>>() {
+ @Override public void apply(IgniteInternalFuture<Void> fut) {
+ ((GridNioMessageTracker)tracker).onMessageProcessed();
+ }
+ });
+ }
+ }
+
- ctx.mvcc().addAtomicFuture(dhtFut.version(), dhtFut);
+ ctx.mvcc().addAtomicFuture(dhtFut.id(), dhtFut);
+ }
}
- else
+ else {
// Should remap all keys.
remap = true;
+
+ res.remapTopologyVersion(top.topologyVersion());
+ }
}
finally {
top.readUnlock();
http://git-wip-us.apache.org/repos/asf/ignite/blob/3f541676/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteCacheTestSuite4.java
----------------------------------------------------------------------