ignite-4929
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/dffea716 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/dffea716 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/dffea716 Branch: refs/heads/ignite-4929 Commit: dffea71687ee124e9cbd219df82bc748e9c708d6 Parents: 4e80e0c Author: sboikov <[email protected]> Authored: Tue Apr 11 13:37:26 2017 +0300 Committer: sboikov <[email protected]> Committed: Tue Apr 11 13:37:26 2017 +0300 ---------------------------------------------------------------------- .../distributed/dht/GridDhtTxPrepareFuture.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/dffea716/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java index 68e51bb..3029b09 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java @@ -1527,6 +1527,21 @@ public final class GridDhtTxPrepareFuture extends GridCompoundFuture<IgniteInter ) { GridDistributedTxMapping global = globalMap.get(n.id()); + if (!F.isEmpty(entry.entryProcessors())) { + GridDhtPartitionState state = entry.context().topology().partitionState(n.id(), + entry.cached().partition()); + + if (state != GridDhtPartitionState.OWNING && state != GridDhtPartitionState.EVICTED) { + T2<GridCacheOperation, CacheObject> procVal = entry.entryProcessorCalculatedValue(); + + assert procVal != null : entry; + + entry.op(procVal.get1()); + entry.value(procVal.get2(), true, false); + entry.entryProcessors(null); + } + } + if (global == null) globalMap.put(n.id(), global = new GridDistributedTxMapping(n));
