You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2019/01/24 08:22:58 UTC

[ignite] 01/02: ignite-835

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

sboikov pushed a commit to branch ignite-835
in repository https://gitbox.apache.org/repos/asf/ignite.git

commit 763659ec948a349dde271c30186f6f3747740800
Author: sboikov <sb...@apache.org>
AuthorDate: Thu Jan 24 11:21:07 2019 +0300

    ignite-835
---
 .../internal/processors/cache/GridCacheExplicitLockSpan.java | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheExplicitLockSpan.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheExplicitLockSpan.java
index dfc12d7..f6badec 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheExplicitLockSpan.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheExplicitLockSpan.java
@@ -19,6 +19,7 @@ package org.apache.ignite.internal.processors.cache;
 
 import java.util.Deque;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.Map;
 import java.util.concurrent.locks.ReentrantLock;
@@ -163,7 +164,16 @@ public class GridCacheExplicitLockSpan extends ReentrantLock {
                     if (reentry != null) {
                         assert reentry.reentry() : reentry;
 
-                        boolean rmvd = deque.remove(reentry);
+                        boolean rmvd = false;
+
+                        Iterator<GridCacheMvccCandidate> it = deque.iterator();
+                        while (it.hasNext()) {
+                            if (it.next() == reentry) {
+                                it.remove();
+                                rmvd = true;
+                                break;
+                            }
+                        }
 
                         assert rmvd : reentry;