IGNITE-2236: Simplified reducer logic.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/702c4f42 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/702c4f42 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/702c4f42 Branch: refs/heads/ignite-2236 Commit: 702c4f4239515da9ea2d6d4542d0728bbfba0424 Parents: f688f10 Author: vozerov-gridgain <voze...@gridgain.com> Authored: Wed Dec 23 16:24:50 2015 +0300 Committer: vozerov-gridgain <voze...@gridgain.com> Committed: Wed Dec 23 16:24:50 2015 +0300 ---------------------------------------------------------------------- ...arOptimisticSerializableTxPrepareFuture.java | 39 +++++++++++--------- .../util/future/GridCompoundFuture.java | 15 ++------ .../ignite/testframework/GridTestUtils.java | 3 +- 3 files changed, 26 insertions(+), 31 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/702c4f42/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java index a2b5520..cd03bc3 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearOptimisticSerializableTxPrepareFuture.java @@ -629,32 +629,37 @@ public class GridNearOptimisticSerializableTxPrepareFuture extends GridNearOptim } /** - * + * Client remap future. */ private class ClientRemapFuture extends GridCompoundFuture<GridNearTxPrepareResponse, Boolean> { - /** */ - private boolean remap = true; - /** - * + * Constructor. */ public ClientRemapFuture() { - super(); + super(new ClientRemapFutureReducer()); + } + } - reducer(new IgniteReducer<GridNearTxPrepareResponse, Boolean>() { - @Override public boolean collect(GridNearTxPrepareResponse res) { - assert res != null; + /** + * Client remap future reducer. + */ + private class ClientRemapFutureReducer implements IgniteReducer<GridNearTxPrepareResponse, Boolean> { + /** Remap flag. */ + private boolean remap = true; - if (res.clientRemapVersion() == null) - remap = false; + /** {@inheritDoc} */ + @Override public boolean collect(@Nullable GridNearTxPrepareResponse res) { + assert res != null; - return true; - } + if (res.clientRemapVersion() == null) + remap = false; - @Override public Boolean reduce() { - return remap; - } - }); + return true; + } + + /** {@inheritDoc} */ + @Override public Boolean reduce() { + return remap; } } http://git-wip-us.apache.org/repos/asf/ignite/blob/702c4f42/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java index 4d9029f..feabbf5 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/future/GridCompoundFuture.java @@ -62,7 +62,7 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> { /** Reducer. */ @GridToStringInclude - private IgniteReducer<T, R> rdc; + private final IgniteReducer<T, R> rdc; /** * Updated via {@link #flagsUpd}. @@ -77,10 +77,10 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> { private volatile int lsnrCalls; /** - * + * Default constructor. */ public GridCompoundFuture() { - // No-op. + this(null); } /** @@ -203,15 +203,6 @@ public class GridCompoundFuture<T, R> extends GridFutureAdapter<R> { } /** - * Sets optional reducer. - * - * @param rdc Optional reducer. - */ - public void reducer(@Nullable IgniteReducer<T, R> rdc) { - this.rdc = rdc; - } - - /** * @param flag Flag to CAS. * @return {@code True} if CAS succeeds. */ http://git-wip-us.apache.org/repos/asf/ignite/blob/702c4f42/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java b/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java index 2b01e4f..568e4b8 100644 --- a/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java +++ b/modules/core/src/test/java/org/apache/ignite/testframework/GridTestUtils.java @@ -621,12 +621,11 @@ public final class GridTestUtils { }); // Compound future, that adds cancel() support to execution future. - GridCompoundFuture<Long, Long> compFut = new GridCompoundFuture<>(); + GridCompoundFuture<Long, Long> compFut = new GridCompoundFuture<>(F.sumLongReducer()); compFut.add(cancelFut); compFut.add(runFut); - compFut.reducer(F.sumLongReducer()); compFut.markInitialized(); cancelFut.onDone();