Repository: incubator-ignite Updated Branches: refs/heads/ignite-262 efcf397e2 -> 7b0466e55
sprint-1 - Fixed assertion in affinity assignment cache. Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/494e6dde Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/494e6dde Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/494e6dde Branch: refs/heads/ignite-262 Commit: 494e6ddef0fc89ae28904ac98d096ae4795ec8c4 Parents: 4db4462 Author: Alexey Goncharuk <agoncha...@gridgain.com> Authored: Sun Feb 15 16:33:41 2015 -0800 Committer: Alexey Goncharuk <agoncha...@gridgain.com> Committed: Sun Feb 15 16:33:41 2015 -0800 ---------------------------------------------------------------------- .../affinity/GridAffinityAssignmentCache.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/494e6dde/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java index ae0b155..9c12a17 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java @@ -263,7 +263,7 @@ public class GridAffinityAssignmentCache { } GridFutureAdapter<Long> fut = F.addIfAbsent(readyFuts, topVer, - new AffinityReadyFuture(ctx.kernalContext())); + new AffinityReadyFuture(ctx.kernalContext(), topVer)); aff = head.get(); @@ -421,6 +421,9 @@ public class GridAffinityAssignmentCache { /** */ private static final long serialVersionUID = 0L; + /** */ + private long reqTopVer; + /** * Empty constructor required by {@link Externalizable}. */ @@ -431,18 +434,20 @@ public class GridAffinityAssignmentCache { /** * @param ctx Kernal context. */ - private AffinityReadyFuture(GridKernalContext ctx) { + private AffinityReadyFuture(GridKernalContext ctx, long reqTopVer) { super(ctx); + + this.reqTopVer = reqTopVer; } /** {@inheritDoc} */ @Override public boolean onDone(Long res, @Nullable Throwable err) { - assert res != null; + assert res != null || err != null; boolean done = super.onDone(res, err); if (done) - readyFuts.remove(res, this); + readyFuts.remove(reqTopVer, this); return done; }