Merge branch ignite-1.5 into ignite-1282
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/0ccba79f Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/0ccba79f Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/0ccba79f Branch: refs/heads/ignite-1917 Commit: 0ccba79f9109d1e2042581b45e72d9dedeef9d9a Parents: 25292c7 d54fcbe Author: Alexey Goncharuk <alexey.goncha...@gmail.com> Authored: Tue Nov 17 13:35:12 2015 +0300 Committer: Alexey Goncharuk <alexey.goncha...@gmail.com> Committed: Tue Nov 17 13:35:12 2015 +0300 ---------------------------------------------------------------------- .../rest/AbstractRestProcessorSelfTest.java | 5 +- .../JettyRestProcessorAbstractSelfTest.java | 142 +- .../java/org/apache/ignite/IgniteCache.java | 3 +- .../eviction/random/RandomEvictionPolicy.java | 4 + .../cache/store/CacheStoreSessionListener.java | 9 +- .../store/jdbc/CacheAbstractJdbcStore.java | 34 +- .../jdbc/CacheJdbcStoreSessionListener.java | 8 +- .../configuration/CacheConfiguration.java | 95 +- .../configuration/ConnectorConfiguration.java | 61 +- .../configuration/IgniteConfiguration.java | 32 +- .../apache/ignite/internal/IgniteKernal.java | 21 + .../org/apache/ignite/internal/IgnitionEx.java | 3 + .../managers/communication/GridIoMessage.java | 4 +- .../communication/GridIoMessageFactory.java | 10 +- .../discovery/GridDiscoveryManager.java | 5 +- .../cache/CacheStoreBalancingWrapper.java | 5 +- .../processors/cache/GridCacheAdapter.java | 22 +- .../processors/cache/GridCacheContext.java | 29 +- .../processors/cache/GridCacheEntryEx.java | 4 +- .../processors/cache/GridCacheIoManager.java | 19 +- .../processors/cache/GridCacheMapEntry.java | 91 +- .../processors/cache/GridCacheMvccManager.java | 145 +- .../GridCachePartitionExchangeManager.java | 184 ++- .../processors/cache/GridCachePreloader.java | 55 +- .../cache/GridCachePreloaderAdapter.java | 40 +- .../processors/cache/GridCacheProcessor.java | 55 +- .../processors/cache/IgniteCacheProxy.java | 6 + .../distributed/GridDistributedCacheEntry.java | 2 +- .../distributed/GridDistributedTxMapping.java | 8 +- .../GridDistributedTxRemoteAdapter.java | 5 +- .../distributed/dht/GridDhtCacheEntry.java | 11 +- .../distributed/dht/GridDhtLocalPartition.java | 63 +- .../distributed/dht/GridDhtLockFuture.java | 7 +- .../dht/GridDhtPartitionsReservation.java | 2 +- .../dht/GridDhtTransactionalCacheAdapter.java | 12 +- .../distributed/dht/GridDhtTxLocalAdapter.java | 39 +- .../distributed/dht/GridDhtTxPrepareFuture.java | 78 +- .../cache/distributed/dht/GridDhtTxRemote.java | 33 +- .../dht/colocated/GridDhtColocatedCache.java | 7 +- .../GridDhtPartitionDemandMessage.java | 14 +- .../preloader/GridDhtPartitionDemandPool.java | 1192 --------------- .../dht/preloader/GridDhtPartitionDemander.java | 1408 ++++++++++++++++++ .../dht/preloader/GridDhtPartitionSupplier.java | 1037 +++++++++++++ .../GridDhtPartitionSupplyMessageV2.java | 380 +++++ .../preloader/GridDhtPartitionSupplyPool.java | 555 ------- .../GridDhtPartitionsExchangeFuture.java | 2 + .../dht/preloader/GridDhtPreloader.java | 282 +++- .../near/GridNearOptimisticTxPrepareFuture.java | 11 +- .../near/GridNearTransactionalCache.java | 7 +- .../near/GridNearTxFinishFuture.java | 157 +- .../cache/distributed/near/GridNearTxLocal.java | 21 +- .../store/GridCacheStoreManagerAdapter.java | 29 +- .../cache/transactions/IgniteInternalTx.java | 3 +- .../cache/transactions/IgniteTxAdapter.java | 251 ++-- .../cache/transactions/IgniteTxHandler.java | 37 +- .../transactions/IgniteTxLocalAdapter.java | 22 +- .../cache/transactions/IgniteTxManager.java | 171 ++- .../datastructures/DataStructuresProcessor.java | 3 + .../GridCacheAtomicReferenceImpl.java | 2 +- .../processors/igfs/IgfsMetaManager.java | 2 +- .../handlers/cache/GridCacheCommandHandler.java | 128 +- .../handlers/query/QueryCommandHandler.java | 254 +++- .../top/GridTopologyCommandHandler.java | 4 - .../processors/task/GridTaskWorker.java | 4 +- .../GridBoundedConcurrentLinkedHashMap.java | 7 +- .../GridBoundedConcurrentLinkedHashSet.java | 7 +- .../util/GridBoundedConcurrentOrderedMap.java | 39 +- .../internal/util/GridConcurrentFactory.java | 11 +- .../util/GridConcurrentLinkedHashSet.java | 9 +- .../ignite/internal/util/IgniteUuidCache.java | 6 +- .../util/future/GridCompoundFuture.java | 155 +- .../ignite/internal/util/lang/GridTuple4.java | 2 +- .../ignite/spi/discovery/tcp/ServerImpl.java | 360 +++-- .../spi/discovery/tcp/TcpDiscoveryImpl.java | 4 +- .../spi/discovery/tcp/TcpDiscoverySpi.java | 2 +- .../tcp/internal/TcpDiscoveryNodesRing.java | 95 +- .../messages/TcpDiscoveryAbstractMessage.java | 37 + .../TcpDiscoveryStatusCheckMessage.java | 11 + .../java/org/jsr166/ConcurrentHashMap8.java | 2 +- .../java/org/jsr166/ConcurrentLinkedDeque8.java | 2 +- .../org/jsr166/ConcurrentLinkedHashMap.java | 195 ++- .../GridCacheAffinityBackupsSelfTest.java | 8 + .../store/GridCacheBalancingStoreSelfTest.java | 220 ++- .../GridCacheLoadOnlyStoreAdapterSelfTest.java | 145 +- .../cache/GridCacheAbstractFullApiSelfTest.java | 2 +- .../GridCacheMissingCommitVersionSelfTest.java | 40 +- .../processors/cache/GridCacheTestEntryEx.java | 3 +- .../IgniteCacheP2pUnmarshallingErrorTest.java | 2 +- ...CacheAtomicReferenceApiSelfAbstractTest.java | 20 +- .../dht/GridCacheTxNodeFailureSelfTest.java | 21 +- ...gniteCachePutRetryTransactionalSelfTest.java | 10 + ...achePartitionedMultiNodeFullApiSelfTest.java | 2 +- .../GridCacheRebalancingAsyncSelfTest.java | 68 + .../GridCacheRebalancingSyncSelfTest.java | 506 +++++++ ...eRebalancingUnmarshallingFailedSelfTest.java | 147 ++ .../GridCacheReplicatedPreloadSelfTest.java | 22 +- .../continuous/GridEventConsumeSelfTest.java | 2 +- ...dBoundedConcurrentLinkedHashMapSelfTest.java | 2 +- .../GridConcurrentLinkedHashMapSelfTest.java | 62 +- .../tcp/TcpDiscoveryMultiThreadedTest.java | 158 +- .../discovery/tcp/TcpDiscoveryRestartTest.java | 10 +- .../spi/discovery/tcp/TcpDiscoverySelfTest.java | 476 +++++- .../spi/discovery/tcp/TestTcpDiscoverySpi.java | 46 + .../TcpDiscoveryMulticastIpFinderSelfTest.java | 28 +- .../testframework/junits/GridAbstractTest.java | 32 +- .../junits/common/GridCommonAbstractTest.java | 25 +- .../testsuites/IgniteCacheTestSuite3.java | 4 + ...rrentLinkedHashMapMultiThreadedSelfTest.java | 104 +- .../tcp/GridOrderedMessageCancelSelfTest.java | 18 +- modules/rest-http/pom.xml | 11 + .../visor/commands/open/VisorOpenCommand.scala | 14 +- .../scala/org/apache/ignite/visor/visor.scala | 3 +- modules/yardstick/README.txt | 16 +- .../config/benchmark-multicast.properties | 9 +- .../yardstick/config/benchmark-store.properties | 86 +- .../yardstick/config/ignite-store-config.xml | 31 +- .../yardstick/IgniteBenchmarkArguments.java | 2 +- .../ignite/yardstick/IgniteBenchmarkUtils.java | 75 + .../org/apache/ignite/yardstick/IgniteNode.java | 23 +- .../IgniteAccountSerializableTxBenchmark.java | 11 +- .../cache/IgniteAccountTxBenchmark.java | 11 +- .../cache/IgniteGetAllPutAllTxBenchmark.java | 73 + .../cache/IgnitePutGetTxBenchmark.java | 41 +- .../yardstick/cache/IgnitePutTxBenchmark.java | 10 + .../cache/IgnitePutTxPrimaryOnlyBenchmark.java | 65 + .../IgnitePutTxSkipLocalBackupBenchmark.java | 65 + .../cache/WaitMapExchangeFinishCallable.java | 95 ++ ...IgniteTransactionalWriteInvokeBenchmark.java | 41 +- .../IgniteTransactionalWriteReadBenchmark.java | 41 +- modules/zookeeper/pom.xml | 2 +- 130 files changed, 7772 insertions(+), 3414 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/IgniteCache.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java index af0122f,1b8d41c..9cde3a2 --- a/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/configuration/CacheConfiguration.java @@@ -202,9 -174,8 +206,12 @@@ public class CacheConfiguration<K, V> e /** Default size for onheap SQL row cache size. */ public static final int DFLT_SQL_ONHEAP_ROW_CACHE_SIZE = 10 * 1024; + /** Default value for keep portable in store behavior .*/ + @SuppressWarnings({"UnnecessaryBoxing", "BooleanConstructorCall"}) - public static final Boolean DFLT_KEEP_PORTABLE_IN_STORE = new Boolean(true); ++ public static final Boolean DFLT_KEEP_PORTABLE_IN_STORE = new Boolean(true); ++ + /** Default threshold for concurrent loading of keys from {@link CacheStore}. */ + public static final int DFLT_CONCURRENT_LOAD_ALL_THRESHOLD = 5; /** Cache name. */ private String name; @@@ -438,16 -408,15 +452,17 @@@ name = cc.getName(); nearCfg = cc.getNearConfiguration(); nodeFilter = cc.getNodeFilter(); - rebalanceBatchesPrefetchCount = cc.getRebalanceBatchesPrefetchCount(); + pluginCfgs = cc.getPluginConfigurations(); + qryEntities = cc.getQueryEntities(); - rebalanceMode = cc.getRebalanceMode(); ++ readFromBackup = cc.isReadFromBackup(); rebalanceBatchSize = cc.getRebalanceBatchSize(); ++ rebalanceBatchesPrefetchCount = cc.getRebalanceBatchesPrefetchCount(); rebalanceDelay = cc.getRebalanceDelay(); + rebalanceMode = cc.getRebalanceMode(); rebalanceOrder = cc.getRebalanceOrder(); rebalancePoolSize = cc.getRebalanceThreadPoolSize(); rebalanceTimeout = cc.getRebalanceTimeout(); rebalanceThrottle = cc.getRebalanceThrottle(); -- readFromBackup = cc.isReadFromBackup(); sqlEscapeAll = cc.isSqlEscapeAll(); sqlFuncCls = cc.getSqlFunctionClasses(); sqlOnheapRowCacheSize = cc.getSqlOnheapRowCacheSize(); @@@ -870,38 -840,37 +885,69 @@@ } /** + * Flag indicating that {@link CacheStore} implementation + * is working with portable objects instead of Java objects. + * Default value of this flag is {@link #DFLT_KEEP_PORTABLE_IN_STORE}, + * because this is recommended behavior from performance standpoint. + * <p> + * If set to {@code false}, Ignite will deserialize keys and + * values stored in portable format before they are passed + * to cache store. + * <p> + * Note that setting this flag to {@code false} can simplify + * store implementation in some cases, but it can cause performance + * degradation due to additional serializations and deserializations + * of portable objects. You will also need to have key and value + * classes on all nodes since binary will be deserialized when + * store is called. + * + * @return Keep binary in store flag. + */ + public Boolean isKeepPortableInStore() { + return keepPortableInStore; + } + + /** + * Sets keep binary in store flag. + * + * @param keepPortableInStore Keep binary in store flag. + */ + public void setKeepPortableInStore(boolean keepPortableInStore) { + this.keepPortableInStore = keepPortableInStore; + } + + /** + * Gets the threshold used in cases when values for multiple keys are being loaded from an underlying + * {@link CacheStore} in parallel. In the situation when several threads load the same or intersecting set of keys + * and the total number of keys to load is less or equal to this threshold then there will be no a second call to + * the storage in order to load a key from thread A if the same key is already being loaded by thread B. + * + * The threshold should be controlled wisely. On the one hand if it's set to a big value then the interaction with + * a storage during the load of missing keys will be minimal. On the other hand the big value may result in + * significant performance degradation because it is needed to check for every key whether it's being loaded or not. + * + * When not set, default value is {@link #DFLT_CONCURRENT_LOAD_ALL_THRESHOLD}. + * + * @return The concurrent load-all threshold. + */ + public int getStoreConcurrentLoadAllThreshold() { + return storeConcurrentLoadAllThreshold; + } + + /** + * Sets the concurrent load-all threshold used for cases when keys' values are being loaded from {@link CacheStore} + * in parallel. + * + * @param storeConcurrentLoadAllThreshold The concurrent load-all threshold. + * @return {@code this} for chaining. + */ + public CacheConfiguration<K, V> setStoreConcurrentLoadAllThreshold(int storeConcurrentLoadAllThreshold) { + this.storeConcurrentLoadAllThreshold = storeConcurrentLoadAllThreshold; + + return this; + } + + /** * Gets key topology resolver to provide mapping from keys to nodes. * * @return Key topology resolver to provide mapping from keys to nodes. http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java index a91aa7e,9298c6d..2069a90 --- a/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java @@@ -506,9 -504,9 +512,10 @@@ public class IgniteConfiguration p2pLocClsPathExcl = cfg.getPeerClassLoadingLocalClassPathExclude(); p2pMissedCacheSize = cfg.getPeerClassLoadingMissedResourcesCacheSize(); p2pPoolSize = cfg.getPeerClassLoadingThreadPoolSize(); + platformCfg = cfg.getPlatformConfiguration(); pluginCfgs = cfg.getPluginConfigurations(); pubPoolSize = cfg.getPublicThreadPoolSize(); + rebalanceThreadPoolSize = cfg.getRebalanceThreadPoolSize(); segChkFreq = cfg.getSegmentCheckFrequency(); segPlc = cfg.getSegmentationPolicy(); segResolveAttempts = cfg.getSegmentationResolveAttempts(); http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheContext.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheEntryEx.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java index a5762ad,df9f5c4..5ced545 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheMapEntry.java @@@ -1135,9 -1106,10 +1135,10 @@@ public abstract class GridCacheMapEntr if (intercept) { val0 = CU.value(val, cctx, false); - CacheLazyEntry e = new CacheLazyEntry(cctx, key, old); + CacheLazyEntry e = new CacheLazyEntry(cctx, key, old, keepPortable); - Object interceptorVal = cctx.config().getInterceptor().onBeforePut(new CacheLazyEntry(cctx, key, old, keepPortable), + Object interceptorVal = cctx.config().getInterceptor().onBeforePut( - new CacheLazyEntry(cctx, key, old), ++ new CacheLazyEntry(cctx, key, old, keepPortable), val0); key0 = e.key(); @@@ -1380,41 -1352,34 +1384,34 @@@ if (cctx.isLocal() || cctx.isReplicated() || (tx != null && tx.local() && !isNear())) cctx.continuousQueries().onEntryUpdated(this, key, null, old, false); - cctx.dataStructures().onEntryUpdated(key, true); + cctx.dataStructures().onEntryUpdated(key, true, keepPortable); - } - - // Persist outside of synchronization. The correctness of the - // value will be handled by current transaction. - if (writeThrough) - cctx.store().remove(tx, keyValue(false)); - if (cctx.deferredDelete() && !detached() && !isInternal()) - cctx.onDeferredDelete(this, newVer); - else { - boolean marked = false; + deferred = cctx.deferredDelete() && !detached() && !isInternal(); - synchronized (this) { + if (!deferred) { // If entry is still removed. - if (newVer == ver) { - if (obsoleteVer == null || !(marked = markObsolete0(obsoleteVer, true))) { - if (log.isDebugEnabled()) - log.debug("Entry could not be marked obsolete (it is still used): " + this); - } - else { - recordNodeId(affNodeId, topVer); + assert newVer == ver; - // If entry was not marked obsolete, then removed lock - // will be registered whenever removeLock is called. - cctx.mvcc().addRemoved(cctx, obsoleteVer); + if (obsoleteVer == null || !(marked = markObsolete0(obsoleteVer, true, null))) { + if (log.isDebugEnabled()) + log.debug("Entry could not be marked obsolete (it is still used): " + this); + } + else { + recordNodeId(affNodeId, topVer); - if (log.isDebugEnabled()) - log.debug("Entry was marked obsolete: " + this); - } + if (log.isDebugEnabled()) + log.debug("Entry was marked obsolete: " + this); } } + } - if (marked) - onMarkedObsolete(); + if (deferred) + cctx.onDeferredDelete(this, newVer); + + if (marked) { + assert !deferred; + + onMarkedObsolete(); } if (intercept) http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheEntry.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java index 3aa7e1c,93303c8..29f67ce --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedTxRemoteAdapter.java @@@ -583,10 -583,8 +583,9 @@@ public class GridDistributedTxRemoteAda eventNodeId(), nodeId, false, - false, true, true, + txEntry.keepBinary(), topVer, null, replicate ? DR_BACKUP : DR_NONE, @@@ -631,10 -629,8 +631,9 @@@ eventNodeId(), nodeId, false, - false, true, true, + txEntry.keepBinary(), topVer, null, replicate ? DR_BACKUP : DR_NONE, http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtCacheEntry.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLocalPartition.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtLockFuture.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTransactionalCacheAdapter.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxLocalAdapter.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxRemote.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxRemote.java index ad8a402,e268a88..ca677b2 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxRemote.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxRemote.java @@@ -183,19 -184,19 +184,19 @@@ public class GridDhtTxRemote extends Gr int taskNameHash ) { super( - ctx, - nodeId, - rmtThreadId, - xidVer, - commitVer, + ctx, + nodeId, + rmtThreadId, + xidVer, + commitVer, sys, plc, - concurrency, - isolation, - invalidate, + concurrency, + isolation, + invalidate, timeout, txSize, - subjId, + subjId, taskNameHash ); http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTransactionalCache.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearTxLocal.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/store/GridCacheStoreManagerAdapter.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxAdapter.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java ---------------------------------------------------------------------- diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java index 214ba45,2c7bf8a..9f52699 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxLocalAdapter.java @@@ -1062,10 -1054,8 +1062,9 @@@ public abstract class IgniteTxLocalAdap eventNodeId(), txEntry.nodeId(), false, - false, evt, metrics, + txEntry.keepBinary(), topVer, null, cached.detached() ? DR_NONE : drType, @@@ -1080,10 -1070,8 +1079,9 @@@ eventNodeId(), nodeId, false, - false, false, metrics, + txEntry.keepBinary(), topVer, CU.empty0(), DR_NONE, http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheTestEntryEx.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/0ccba79f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/datastructures/GridCacheAtomicReferenceApiSelfAbstractTest.java ----------------------------------------------------------------------