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 2019/08/11 22:44:34 UTC
[ignite] branch master updated: IGNITE-12052 GridDhtTxPrepareFuture
should print transaction in case of assertion error - Fixes #6761.
This is an automated email from the ASF dual-hosted git repository.
irakov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/master by this push:
new 1392332 IGNITE-12052 GridDhtTxPrepareFuture should print transaction in case of assertion error - Fixes #6761.
1392332 is described below
commit 1392332d84a1fc21700292ef4d16d028b23f01de
Author: Sergey Antonov <an...@gmail.com>
AuthorDate: Mon Aug 12 01:43:58 2019 +0300
IGNITE-12052 GridDhtTxPrepareFuture should print transaction in case of assertion error - Fixes #6761.
Signed-off-by: Ivan Rakov <ir...@apache.org>
---
.../internal/processors/cache/GridCacheUtils.java | 7 ++++++
.../distributed/dht/GridDhtTxPrepareFuture.java | 25 ++++++++++++++++------
2 files changed, 26 insertions(+), 6 deletions(-)
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
index f6ea2ba..a249914 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheUtils.java
@@ -841,6 +841,13 @@ public class GridCacheUtils {
}
/**
+ * Alias for {@link #txString(IgniteInternalTx)}.
+ */
+ public static String txDump(@Nullable IgniteInternalTx tx) {
+ return txString(tx);
+ }
+
+ /**
* @param tx Transaction.
* @return String view of all safe-to-print transaction properties.
*/
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
index 83edb29..ec8a451 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtTxPrepareFuture.java
@@ -1455,8 +1455,12 @@ public final class GridDhtTxPrepareFuture extends GridCacheCompoundFuture<Ignite
break;
}
- catch (GridCacheEntryRemovedException ignore) {
- assert false : "Got removed exception on entry with dht local candidate: " + entry;
+ catch (GridCacheEntryRemovedException e) {
+ log.error("Got removed exception on entry with dht local candidate. Transaction will be " +
+ "rolled back. Entry: " + entry + " tx: " + CU.txDump(tx), e);
+
+ // Entry was unlocked by concurrent rollback.
+ onError(tx.rollbackException());
}
idx++;
@@ -1477,8 +1481,12 @@ public final class GridDhtTxPrepareFuture extends GridCacheCompoundFuture<Ignite
break;
}
- catch (GridCacheEntryRemovedException ignore) {
- assert false : "Got removed exception on entry with dht local candidate: " + entry;
+ catch (GridCacheEntryRemovedException e) {
+ log.error("Got removed exception on entry with dht local candidate. Transaction will be " +
+ "rolled back. Entry: " + entry + " tx: " + CU.txDump(tx), e);
+
+ // Entry was unlocked by concurrent rollback.
+ onError(tx.rollbackException());
}
}
}
@@ -1553,8 +1561,13 @@ public final class GridDhtTxPrepareFuture extends GridCacheCompoundFuture<Ignite
}
break;
- } catch (GridCacheEntryRemovedException ignore) {
- assert false : "Got removed exception on entry with dht local candidate: " + entry;
+ }
+ catch (GridCacheEntryRemovedException e) {
+ log.error("Got removed exception on entry with dht local candidate. Transaction will be " +
+ "rolled back. Entry: " + entry + " tx: " + CU.txDump(tx), e);
+
+ // Entry was unlocked by concurrent rollback.
+ onError(tx.rollbackException());
}
}
}