Merge remote-tracking branch 'remotes/origin/ignite-2.0' into ignite-4768-1
# Conflicts: # modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxFinishRequest.java # modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareRequest.java # modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishFuture.java # modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishRequest.java # modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxFinishResponse.java # modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocal.java # modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java # modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareRequest.java # modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareResponse.java # modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java # modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearPessimisticTxPrepareFuture.java # modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxFinishFuture.java # modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java # modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareFutureAdapter.java # modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxPrepareRequest.java # modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxHandler.java Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/32468eaf Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/32468eaf Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/32468eaf Branch: refs/heads/ignite-4768-1 Commit: 32468eaf3ec0d69fc6c31f1ef14bd09965f9ff6f Parents: baeb203 901be4f Author: sboikov <[email protected]> Authored: Mon Mar 13 19:33:11 2017 +0300 Committer: sboikov <[email protected]> Committed: Mon Mar 13 19:33:11 2017 +0300 ---------------------------------------------------------------------- .../rest/protocols/tcp/MockNioSession.java | 5 +- .../org/apache/ignite/internal/IgnitionEx.java | 5 +- .../internal/binary/BinaryObjectImpl.java | 27 +- .../connection/GridClientNioTcpConnection.java | 2 +- .../managers/communication/GridIoManager.java | 5 +- .../communication/GridIoMessageFactory.java | 20 +- .../processors/cache/CacheObjectContext.java | 3 +- .../processors/cache/GridCacheAtomicFuture.java | 5 +- .../processors/cache/GridCacheIoManager.java | 83 +- .../processors/cache/GridCacheMapEntry.java | 12 +- .../processors/cache/GridCacheMessage.java | 6 +- .../processors/cache/GridCacheMvccManager.java | 48 +- .../processors/cache/GridCacheProcessor.java | 1 - .../processors/cache/GridCacheReturn.java | 6 +- .../cache/GridDeferredAckMessageSender.java | 17 +- .../GridDistributedTxFinishRequest.java | 48 + .../GridDistributedTxPrepareRequest.java | 2 + .../dht/GridClientPartitionTopology.java | 8 + .../dht/GridDhtPartitionTopology.java | 9 + .../dht/GridDhtPartitionTopologyImpl.java | 23 +- .../dht/GridDhtTxPrepareRequest.java | 38 +- .../GridDhtAtomicAbstractUpdateFuture.java | 298 +++--- .../GridDhtAtomicAbstractUpdateRequest.java | 392 +++++++- .../dht/atomic/GridDhtAtomicCache.java | 896 +++++++++-------- .../GridDhtAtomicDeferredUpdateResponse.java | 68 +- .../dht/atomic/GridDhtAtomicNearResponse.java | 314 ++++++ .../atomic/GridDhtAtomicSingleUpdateFuture.java | 101 +- .../GridDhtAtomicSingleUpdateRequest.java | 277 +----- .../dht/atomic/GridDhtAtomicUpdateFuture.java | 89 +- .../dht/atomic/GridDhtAtomicUpdateRequest.java | 325 ++----- .../dht/atomic/GridDhtAtomicUpdateResponse.java | 124 +-- ...idNearAtomicAbstractSingleUpdateRequest.java | 481 +--------- .../GridNearAtomicAbstractUpdateFuture.java | 468 +++++++-- .../GridNearAtomicAbstractUpdateRequest.java | 480 ++++++++- .../GridNearAtomicCheckUpdateRequest.java | 175 ++++ .../atomic/GridNearAtomicFullUpdateRequest.java | 487 +--------- ...GridNearAtomicSingleUpdateFilterRequest.java | 23 +- .../GridNearAtomicSingleUpdateFuture.java | 617 ++++++------ ...GridNearAtomicSingleUpdateInvokeRequest.java | 37 +- .../GridNearAtomicSingleUpdateRequest.java | 65 +- .../dht/atomic/GridNearAtomicUpdateFuture.java | 962 +++++++++++-------- .../atomic/GridNearAtomicUpdateResponse.java | 192 ++-- .../distributed/dht/atomic/UpdateErrors.java | 222 +++++ .../distributed/near/GridNearAtomicCache.java | 27 +- .../continuous/CacheContinuousQueryHandler.java | 2 +- .../cacheobject/IgniteCacheObjectProcessor.java | 5 +- .../ignite/internal/util/StripedExecutor.java | 8 +- .../util/future/GridCompoundFuture.java | 11 +- .../internal/util/ipc/IpcToNioAdapter.java | 7 +- .../nio/GridConnectionBytesVerifyFilter.java | 7 +- .../util/nio/GridNioAsyncNotifyFilter.java | 7 +- .../internal/util/nio/GridNioCodecFilter.java | 9 +- .../util/nio/GridNioEmbeddedFuture.java | 7 + .../ignite/internal/util/nio/GridNioFilter.java | 12 +- .../internal/util/nio/GridNioFilterAdapter.java | 7 +- .../internal/util/nio/GridNioFilterChain.java | 15 +- .../util/nio/GridNioFinishedFuture.java | 5 - .../ignite/internal/util/nio/GridNioFuture.java | 7 - .../internal/util/nio/GridNioFutureImpl.java | 18 +- .../ignite/internal/util/nio/GridNioServer.java | 83 +- .../internal/util/nio/GridNioSession.java | 7 +- .../internal/util/nio/GridNioSessionImpl.java | 9 +- .../util/nio/GridNioSessionMetaKey.java | 5 +- .../util/nio/GridShmemCommunicationClient.java | 6 +- .../util/nio/GridTcpNioCommunicationClient.java | 13 +- .../internal/util/nio/SessionWriteRequest.java | 7 - .../internal/util/nio/ssl/GridNioSslFilter.java | 12 +- .../util/nio/ssl/GridNioSslHandler.java | 29 +- .../communication/tcp/TcpCommunicationSpi.java | 2 +- .../org/apache/ignite/thread/IgniteThread.java | 41 +- .../ignite/thread/IgniteThreadFactory.java | 2 +- .../GridCommunicationSendMessageSelfTest.java | 2 +- .../cache/CacheRebalancingSelfTest.java | 16 +- .../GridCacheAbstractFailoverSelfTest.java | 2 - .../GridCacheAtomicMessageCountSelfTest.java | 22 +- .../IgniteCacheEntryListenerAbstractTest.java | 1 + ...niteCacheClientNodeChangingTopologyTest.java | 7 - .../IgniteCacheMessageRecoveryAbstractTest.java | 2 +- .../dht/GridCacheAtomicNearCacheSelfTest.java | 23 +- .../IgniteCachePutRetryAbstractSelfTest.java | 37 +- ...gniteCachePutRetryTransactionalSelfTest.java | 2 +- .../atomic/IgniteCacheAtomicProtocolTest.java | 883 +++++++++++++++++ ...erNoStripedPoolMultiNodeFullApiSelfTest.java | 35 - .../near/GridCacheNearReadersSelfTest.java | 17 +- ...edNoStripedPoolMultiNodeFullApiSelfTest.java | 35 - ...eContinuousQueryAsyncFilterListenerTest.java | 2 +- ...ContinuousQueryFailoverAbstractSelfTest.java | 31 +- .../nio/GridNioEmbeddedFutureSelfTest.java | 2 +- .../util/future/nio/GridNioFutureSelfTest.java | 25 +- .../nio/impl/GridNioFilterChainSelfTest.java | 12 +- .../IgniteCacheFullApiSelfTestSuite.java | 8 +- .../testsuites/IgniteCacheTestSuite5.java | 3 + .../HadoopExternalCommunication.java | 9 +- .../communication/HadoopIpcToNioAdapter.java | 7 +- .../communication/HadoopMarshallerFilter.java | 10 +- .../cache/IgniteGetAndPutBenchmark.java | 2 +- .../cache/IgniteGetAndPutTxBenchmark.java | 2 +- 97 files changed, 5443 insertions(+), 3590 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/32468eaf/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/32468eaf/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMvccManager.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/32468eaf/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxFinishRequest.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxFinishRequest.java index 03d16e5,ab9f0ff..5dcdbff --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxFinishRequest.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxFinishRequest.java @@@ -177,62 -171,53 +177,110 @@@ public class GridDistributedTxFinishReq this.txSize = txSize; completedVersions(committedVers, rolledbackVers); + + setFlag(dhtReplyNear, DHT_REPLY_NEAR_FLAG_MASK); + } + + /** + * @return {@code True} if transaction works in mode when DHT nodes reply directly to near node. + */ + public final boolean dhtReplyNear() { + return isFlag(DHT_REPLY_NEAR_FLAG_MASK); + } + + /** + * @return Transaction write synchronization mode (can be null is message sent from old nodes). + */ + public final CacheWriteSynchronizationMode syncMode() { + return syncMode; + } + + /** + * Sets flag mask. + * + * @param flag Set or clear. + * @param mask Mask. + */ + protected final void setFlag(boolean flag, int mask) { + flags = flag ? (byte)(flags | mask) : (byte)(flags & ~mask); + } + + /** + * Reags flag mask. + * + * @param mask Mask to read. + * @return Flag value. + */ + protected final boolean isFlag(int mask) { + return (flags & mask) != 0; + } + + /** + * @return Subject ID. + */ + @Nullable public final UUID subjectId() { + return subjId; + } + + /** + * @return Task name hash. + */ + public final int taskNameHash() { + return taskNameHash; + } + + /** + * @return Topology version. + */ + @Override public final AffinityTopologyVersion topologyVersion() { ++ return topVer; + } + + /** + * @return Transaction write synchronization mode (can be null is message sent from old nodes). + */ + public final CacheWriteSynchronizationMode syncMode() { + return syncMode; + } + + /** + * Sets flag mask. + * + * @param flag Set or clear. + * @param mask Mask. + */ + protected final void setFlag(boolean flag, int mask) { + flags = flag ? (byte)(flags | mask) : (byte)(flags & ~mask); + } + + /** + * Reags flag mask. + * + * @param mask Mask to read. + * @return Flag value. + */ + protected final boolean isFlag(int mask) { + return (flags & mask) != 0; + } + + /** + * @return Subject ID. + */ + @Nullable public final UUID subjectId() { + return subjId; + } + + /** + * @return Task name hash. + */ + public final int taskNameHash() { + return taskNameHash; + } + + /** + * @return Topology version. + */ + @Override public final AffinityTopologyVersion topologyVersion() { return topVer; } http://git-wip-us.apache.org/repos/asf/ignite/blob/32468eaf/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxPrepareRequest.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/32468eaf/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareRequest.java ----------------------------------------------------------------------
