IGNITE-104 - Ordered ATOMIC updates
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/6720885f Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/6720885f Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/6720885f Branch: refs/heads/ignite-426 Commit: 6720885ff9f1541b917e0dc3f83e7629d4e2ffc1 Parents: 8e6b90c Author: Valentin Kulichenko <vkuliche...@gridgain.com> Authored: Mon Aug 3 18:15:48 2015 -0700 Committer: Valentin Kulichenko <vkuliche...@gridgain.com> Committed: Mon Aug 3 18:15:48 2015 -0700 ---------------------------------------------------------------------- .../cache/distributed/dht/atomic/GridDhtAtomicCache.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6720885f/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java ---------------------------------------------------------------------- diff --git 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 index a8dc8ef..f5119f6 100644 --- 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 @@ -2416,9 +2416,10 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> { * @param req Dht atomic update request. */ private void processDhtAtomicUpdateRequest(final UUID nodeId, final GridDhtAtomicUpdateRequest req) { - IgniteInternalFuture fut = ctx.preloader().request(req.keys(), req.topologyVersion()); + IgniteInternalFuture fut = !req.keys().isEmpty() ? + ctx.preloader().request(req.keys(), req.topologyVersion()) : null; - if (fut.isDone()) + if (fut == null || fut.isDone()) processDhtAtomicUpdateRequest0(nodeId, req); else { fut.listen(new CI1<IgniteInternalFuture>() {