Repository: ignite Updated Branches: refs/heads/ignite-1124-debug 62ab36463 -> a9ae0f92a
# ignite-1124-debug Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/a9ae0f92 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/a9ae0f92 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/a9ae0f92 Branch: refs/heads/ignite-1124-debug Commit: a9ae0f92abeca34199e8ad7b710ae1c0dd9520ae Parents: 62ab364 Author: sboikov <[email protected]> Authored: Mon Aug 24 11:44:16 2015 +0300 Committer: sboikov <[email protected]> Committed: Mon Aug 24 11:44:16 2015 +0300 ---------------------------------------------------------------------- .../cache/CachePartialUpdateCheckedException.java | 10 ++++++++++ .../dht/atomic/GridNearAtomicUpdateFuture.java | 7 +++++++ 2 files changed, 17 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/a9ae0f92/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CachePartialUpdateCheckedException.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CachePartialUpdateCheckedException.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CachePartialUpdateCheckedException.java index ab38e5f..9a3322a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CachePartialUpdateCheckedException.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CachePartialUpdateCheckedException.java @@ -19,6 +19,8 @@ package org.apache.ignite.internal.processors.cache; import org.apache.ignite.*; import org.apache.ignite.internal.processors.affinity.*; +import org.apache.ignite.internal.util.tostring.*; +import org.apache.ignite.internal.util.typedef.internal.*; import java.util.*; @@ -31,9 +33,11 @@ public class CachePartialUpdateCheckedException extends IgniteCheckedException { private static final long serialVersionUID = 0L; /** Failed keys. */ + @GridToStringInclude private final Collection<Object> failedKeys = new ArrayList<>(); /** */ + @GridToStringInclude private transient AffinityTopologyVersion topVer; /** @@ -89,4 +93,10 @@ public class CachePartialUpdateCheckedException extends IgniteCheckedException { @Override public String getMessage() { return super.getMessage() + ": " + failedKeys; } + + @Override public String toString() { + synchronized (this) { + return S.toString(CachePartialUpdateCheckedException.class, this); + } + } } http://git-wip-us.apache.org/repos/asf/ignite/blob/a9ae0f92/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java index 07ec808..24e0e75 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java @@ -158,6 +158,9 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object> /** Remap count. */ private AtomicInteger remapCnt; + @GridToStringInclude + private volatile AffinityTopologyVersion waitTopVer; + /** * @param cctx Cache context. * @param cache Cache instance. @@ -447,10 +450,14 @@ public class GridNearAtomicUpdateFuture extends GridFutureAdapter<Object> IgniteInternalFuture<?> fut = cctx.affinity().affinityReadyFuture(errTopVer.topologyVersion() + 1); + waitTopVer = new AffinityTopologyVersion(errTopVer.topologyVersion() + 1); + fut.listen(new CI1<IgniteInternalFuture<?>>() { @Override public void apply(final IgniteInternalFuture<?> fut) { cctx.kernalContext().closure().runLocalSafe(new Runnable() { @Override public void run() { + waitTopVer = null; + try { fut.get();
