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 <antonovserge...@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 <ira...@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()); } } }