You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by am...@apache.org on 2019/03/07 11:17:42 UTC

[ignite] branch master updated: IGNITE-11152: IgniteTxManager.idMap possible memory leak. This closes #6220.

This is an automated email from the ASF dual-hosted git repository.

amashenkov 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 2d7590d  IGNITE-11152: IgniteTxManager.idMap possible memory leak. This closes #6220.
2d7590d is described below

commit 2d7590dd1be6499fa98445fb77bcb698c3c2631c
Author: rkondakov <ko...@mail.ru>
AuthorDate: Thu Mar 7 14:17:36 2019 +0300

    IGNITE-11152: IgniteTxManager.idMap possible memory leak. This closes #6220.
    
    Signed-off-by: Andrey V. Mashenkov <an...@gmail.com>
---
 .../ignite/internal/processors/cache/GridCacheAdapter.java     | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
index b6dc9d6..60be9d5 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
@@ -4310,6 +4310,16 @@ public abstract class GridCacheAdapter<K, V> implements IgniteInternalCache<K, V
 
                     throw e;
                 }
+                catch (RuntimeException e) {
+                    try {
+                        tx.rollback();
+                    }
+                    catch (IgniteCheckedException | AssertionError | RuntimeException e1) {
+                        U.error(log, "Failed to rollback transaction " + CU.txString(tx), e1);
+                    }
+
+                    throw e;
+                }
                 finally {
                     ctx.tm().resetContext();