You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ir...@apache.org on 2018/07/11 16:16:49 UTC
ignite git commit: IGNITE-8905 Incorrect assertion in
GridDhtPartitionsExchangeFuture - Fixes #4288.
Repository: ignite
Updated Branches:
refs/heads/master 54055ec0c -> 6ad291d22
IGNITE-8905 Incorrect assertion in GridDhtPartitionsExchangeFuture - Fixes #4288.
Signed-off-by: Ivan Rakov <ir...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/6ad291d2
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/6ad291d2
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/6ad291d2
Branch: refs/heads/master
Commit: 6ad291d2285726858e67b6ee9b28a14c134247cf
Parents: 54055ec
Author: Sergey Chugunov <se...@gmail.com>
Authored: Wed Jul 11 19:08:56 2018 +0300
Committer: Ivan Rakov <ir...@apache.org>
Committed: Wed Jul 11 19:08:56 2018 +0300
----------------------------------------------------------------------
.../cache/GridCachePartitionExchangeManager.java | 17 ++++++++++++-----
.../preloader/GridDhtPartitionsExchangeFuture.java | 8 ++++----
2 files changed, 16 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/6ad291d2/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
index 715c290..2bdda19 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCachePartitionExchangeManager.java
@@ -1563,12 +1563,19 @@ public class GridCachePartitionExchangeManager<K, V> extends GridCacheSharedMana
if (log.isDebugEnabled())
log.debug("Notifying exchange future about single message: " + exchFut);
- if (msg.client() && !exchFut.isDone()) {
- if (exchFut.initialVersion().compareTo(readyAffinityVersion()) <= 0) {
+ if (msg.client()) {
+ AffinityTopologyVersion initVer = exchFut.initialVersion();
+ AffinityTopologyVersion readyVer = readyAffinityVersion();
+
+ if (initVer.compareTo(readyVer) <= 0 && !exchFut.exchangeDone()) {
U.warn(log, "Client node tries to connect but its exchange " +
- "info is cleaned up from exchange history." +
- " Consider increasing 'IGNITE_EXCHANGE_HISTORY_SIZE' property " +
- "or start clients in smaller batches."
+ "info is cleaned up from exchange history. " +
+ "Consider increasing 'IGNITE_EXCHANGE_HISTORY_SIZE' property " +
+ "or start clients in smaller batches. " +
+ "Current settings and versions: " +
+ "[IGNITE_EXCHANGE_HISTORY_SIZE=" + EXCHANGE_HISTORY_SIZE + ", " +
+ "initVer=" + initVer + ", " +
+ "readyVer=" + readyVer + "]."
);
exchFut.forceClientReconnect(node, msg);
http://git-wip-us.apache.org/repos/asf/ignite/blob/6ad291d2/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
index 366d8ea..9f08b43 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
@@ -3226,11 +3226,11 @@ public class GridDhtPartitionsExchangeFuture extends GridDhtTopologyFutureAdapte
if (!F.isEmpty(msg.getErrorsMap())) {
Exception e = msg.getErrorsMap().get(cctx.localNodeId());
- assert e != null : msg.getErrorsMap();
+ if (e instanceof IgniteNeedReconnectException) {
+ onDone(e);
- onDone(e);
-
- return;
+ return;
+ }
}
AffinityTopologyVersion resVer = msg.resultTopologyVersion() != null ? msg.resultTopologyVersion() : initialVersion();