Repository: ignite
Updated Branches:
  refs/heads/ignite-601 [created] 8a7d3b470


ignite-601


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/d7ce114a
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/d7ce114a
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/d7ce114a

Branch: refs/heads/ignite-601
Commit: d7ce114a8e175e26cad6c7b97f18d0d76d105a3c
Parents: a8d3990
Author: sboikov <[email protected]>
Authored: Thu Dec 20 00:53:09 2018 +0300
Committer: sboikov <[email protected]>
Committed: Thu Dec 20 23:59:08 2018 +0300

----------------------------------------------------------------------
 .../processors/cache/GridCacheAdapter.java      | 34 +++-------
 .../dht/colocated/GridDhtColocatedCache.java    | 14 ----
 .../GridCacheMultiNodeLockAbstractTest.java     | 71 +++++---------------
 .../GridCacheNodeFailureAbstractTest.java       |  6 --
 ...idCachePartitionedMultiNodeLockSelfTest.java | 37 ----------
 ...ridCacheReplicatedMultiNodeLockSelfTest.java |  5 --
 .../GridCacheReplicatedMultiNodeSelfTest.java   |  5 --
 ...licatedNearOnlyMultiNodeFullApiSelfTest.java |  6 --
 8 files changed, 29 insertions(+), 149 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/d7ce114a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheAdapter.java
----------------------------------------------------------------------
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 a1c403b..657b510 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
@@ -3526,7 +3526,15 @@ public abstract class GridCacheAdapter<K, V> implements 
IgniteInternalCache<K, V
             try {
                 GridCacheEntryEx entry = peekEx(cacheKey);
 
-                return entry != null && entry.lockedByAny();
+                if (entry != null) {
+                    boolean res = entry.lockedByAny();
+
+                    entry.touch(null);
+
+                    return res;
+                }
+
+                return false;
             }
             catch (GridCacheEntryRemovedException ignore) {
                 // No-op.
@@ -3541,29 +3549,9 @@ public abstract class GridCacheAdapter<K, V> implements 
IgniteInternalCache<K, V
         if (keyCheck)
             validateCacheKey(key);
 
-        try {
-            KeyCacheObject cacheKey = ctx.toCacheKeyObject(key);
-
-            GridCacheEntryEx e = entry0(cacheKey,
-                ctx.shared().exchange().readyAffinityVersion(),
-                false,
-                false);
-
-            if (e == null)
-                return false;
-
-            // Delegate to near if dht.
-            if (e.isDht() && CU.isNearEnabled(ctx)) {
-                IgniteInternalCache<K, V> near = ctx.isDht() ? 
ctx.dht().near() : ctx.near();
-
-                return near.isLockedByThread(key) || e.lockedByThread();
-            }
+        KeyCacheObject cacheKey = ctx.toCacheKeyObject(key);
 
-            return e.lockedByThread();
-        }
-        catch (GridCacheEntryRemovedException ignore) {
-            return false;
-        }
+        return ctx.mvcc().isLockedByThread(ctx.txKey(cacheKey), 
Thread.currentThread().getId());
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/ignite/blob/d7ce114a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
index a6ac902..51196a8 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/colocated/GridDhtColocatedCache.java
@@ -162,20 +162,6 @@ public class GridDhtColocatedCache<K, V> extends 
GridDhtTransactionalCacheAdapte
     }
 
     /** {@inheritDoc} */
-    @Override public boolean isLocked(K key) {
-        KeyCacheObject cacheKey = ctx.toCacheKeyObject(key);
-
-        return ctx.mvcc().isLockedByThread(ctx.txKey(cacheKey), -1);
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean isLockedByThread(K key) {
-        KeyCacheObject cacheKey = ctx.toCacheKeyObject(key);
-
-        return ctx.mvcc().isLockedByThread(ctx.txKey(cacheKey), 
Thread.currentThread().getId());
-    }
-
-    /** {@inheritDoc} */
     @Override protected IgniteInternalFuture<V> getAsync(final K key,
         boolean forcePrimary,
         boolean skipTx,

http://git-wip-us.apache.org/repos/asf/ignite/blob/d7ce114a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheMultiNodeLockAbstractTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheMultiNodeLockAbstractTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheMultiNodeLockAbstractTest.java
index 4559762..fed3342 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheMultiNodeLockAbstractTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheMultiNodeLockAbstractTest.java
@@ -31,13 +31,13 @@ import org.apache.ignite.configuration.IgniteConfiguration;
 import org.apache.ignite.events.CacheEvent;
 import org.apache.ignite.events.Event;
 import org.apache.ignite.internal.IgniteKernal;
-import 
org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtCacheAdapter;
-import 
org.apache.ignite.internal.processors.cache.distributed.near.GridNearCacheAdapter;
+import org.apache.ignite.internal.util.lang.GridAbsPredicate;
 import org.apache.ignite.lang.IgnitePredicate;
 import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
 import org.apache.ignite.testframework.GridTestThread;
+import org.apache.ignite.testframework.GridTestUtils;
 import org.apache.ignite.testframework.MvccFeatureChecker;
 import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
 import org.jetbrains.annotations.Nullable;
@@ -108,13 +108,6 @@ public abstract class GridCacheMultiNodeLockAbstractTest 
extends GridCommonAbstr
      */
     protected abstract CacheConfiguration cacheConfiguration();
 
-    /**
-     * @return {@code True} for partitioned caches.
-     */
-    protected boolean partitioned() {
-        return false;
-    }
-
     /** {@inheritDoc} */
     @Override protected void beforeTestsStarted() throws Exception {
         ignite1 = startGrid(1);
@@ -187,25 +180,16 @@ public abstract class GridCacheMultiNodeLockAbstractTest 
extends GridCommonAbstr
      * @param key Key.
      * @throws IgniteCheckedException If failed.
      */
-    @SuppressWarnings({"BusyWait"})
     private void checkUnlocked(IgniteCache<Integer,String> cache, Integer key) 
throws IgniteCheckedException {
         assert !cache.isLocalLocked(key, true);
 
-        if (partitioned()) {
-            for(int i = 0; i < 200; i++)
-                if (cache.isLocalLocked(key, false)) {
-                    try {
-                        Thread.sleep(10);
-                    }
-                    catch (InterruptedException e) {
-                        e.printStackTrace();
-                    }
-                }
-                else
-                    return;
-        }
+        GridTestUtils.waitForCondition(new GridAbsPredicate() {
+            @Override public boolean apply() {
+                return !cache.isLocalLocked(key, false);
+            }
+        }, 5000);
 
-        assertFalse("Key locked [key=" + key + ", entries=" + entries(key) + 
"]", cache.isLocalLocked(key, false));
+        assertFalse("Key locked [key=" + key + "]", cache.isLocalLocked(key, 
false));
     }
 
     /**
@@ -257,29 +241,6 @@ public abstract class GridCacheMultiNodeLockAbstractTest 
extends GridCommonAbstr
     }
 
     /**
-     * Entries for key.
-     *
-     * @param key Key.
-     * @return Entries.
-     * @throws IgniteCheckedException If failed.
-     */
-    private String entries(int key) throws IgniteCheckedException {
-        if (partitioned()) {
-            GridNearCacheAdapter<Integer, String> near1 = near(1);
-            GridNearCacheAdapter<Integer, String> near2 = near(2);
-
-            GridDhtCacheAdapter<Integer, String> dht1 = dht(1);
-            GridDhtCacheAdapter<Integer, String> dht2 = dht(2);
-
-            return "Entries [ne1=" + near1.peekEx(key) + ", de1=" + 
dht1.peekEx(key) + ", ne2=" + near2.peekEx(key) +
-                ", de2=" + dht2.peekEx(key) + ']';
-        }
-
-        return "Entries [e1=" + "(" + key + ", " + 
((IgniteKernal)ignite1).internalCache(DEFAULT_CACHE_NAME).get(key) + ")"
-            + ", e2=" + "(" + key + ", " + 
((IgniteKernal)ignite2).internalCache(DEFAULT_CACHE_NAME).get(key) + ")" + ']';
-    }
-
-    /**
      * @throws Exception If test fails.
      */
     @Test
@@ -293,15 +254,15 @@ public abstract class GridCacheMultiNodeLockAbstractTest 
extends GridCommonAbstr
         lock1_1.lock();
 
         try {
-            assert cache1.isLocalLocked(1, false) : entries(1);
+            assert cache1.isLocalLocked(1, false);
             assert cache1.isLocalLocked(1, true);
 
-            assert cache2.isLocalLocked(1, false) : entries(1);
+            assert cache2.isLocalLocked(1, false);
             assert !cache2.isLocalLocked(1, true);
 
             assert !lock2_1.tryLock();
 
-            assert cache2.isLocalLocked(1, false) : entries(1);
+            assert cache2.isLocalLocked(1, false);
             assert !cache2.isLocalLocked(1, true);
         }
         finally {
@@ -315,17 +276,17 @@ public abstract class GridCacheMultiNodeLockAbstractTest 
extends GridCommonAbstr
         lock2_1.lock();
 
         try {
-            assert cache2.isLocalLocked(1, false) : entries(1);
+            assert cache2.isLocalLocked(1, false);
             assert cache2.isLocalLocked(1, true);
 
-            assert cache1.isLocalLocked(1, false) : entries(1);
+            assert cache1.isLocalLocked(1, false);
             assert !cache1.isLocalLocked(1, true);
 
             addListener(ignite1, new UnlockListener(latch, 1));
 
             assert !lock1_1.tryLock();
 
-            assert cache1.isLocalLocked(1, false) : entries(1);
+            assert cache1.isLocalLocked(1, false);
             assert !cache1.isLocalLocked(1, true);
         }
         finally {
@@ -421,6 +382,8 @@ public abstract class GridCacheMultiNodeLockAbstractTest 
extends GridCommonAbstr
      */
     @Test
     public void testLockReentry() throws IgniteCheckedException {
+        fail("https://issues.apache.org/jira/browse/IGNITE-835";);
+
         IgniteCache<Integer, String> cache = ignite1.cache(DEFAULT_CACHE_NAME);
 
         Lock lock = cache.lock(1);
@@ -450,6 +413,8 @@ public abstract class GridCacheMultiNodeLockAbstractTest 
extends GridCommonAbstr
      */
     @Test
     public void testLockMultithreaded() throws Exception {
+        fail("https://issues.apache.org/jira/browse/IGNITE-835";);
+
         final IgniteCache<Integer, String> cache = 
ignite1.cache(DEFAULT_CACHE_NAME);
 
         final CountDownLatch l1 = new CountDownLatch(1);

http://git-wip-us.apache.org/repos/asf/ignite/blob/d7ce114a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java
index 9b82354..75ccc7d 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/GridCacheNodeFailureAbstractTest.java
@@ -151,9 +151,6 @@ public abstract class GridCacheNodeFailureAbstractTest 
extends GridCommonAbstrac
 
     /**
      * @throws IgniteCheckedException If test failed.
-     *
-     * Note: test was disabled for REPPLICATED cache case because IGNITE-601.
-     * This comment should be removed if test passed stably.
      */
     @Test
     public void testPessimisticReadCommitted() throws Throwable {
@@ -249,9 +246,6 @@ public abstract class GridCacheNodeFailureAbstractTest 
extends GridCommonAbstrac
 
     /**
      * @throws Exception If check failed.
-     *
-     * Note: test was disabled for REPPLICATED cache case because IGNITE-601.
-     * This comment should be removed if test passed stably.
      */
     @Test
     public void testLock() throws Exception {

http://git-wip-us.apache.org/repos/asf/ignite/blob/d7ce114a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedMultiNodeLockSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedMultiNodeLockSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedMultiNodeLockSelfTest.java
index e1d77d0..cce6097 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedMultiNodeLockSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/near/GridCachePartitionedMultiNodeLockSelfTest.java
@@ -17,11 +17,9 @@
 
 package org.apache.ignite.internal.processors.cache.distributed.near;
 
-import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.configuration.CacheConfiguration;
 import org.apache.ignite.configuration.NearCacheConfiguration;
 import 
org.apache.ignite.internal.processors.cache.distributed.GridCacheMultiNodeLockAbstractTest;
-import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.JUnit4;
 
@@ -44,39 +42,4 @@ public class GridCachePartitionedMultiNodeLockSelfTest 
extends GridCacheMultiNod
 
         return cc;
     }
-
-    /** {@inheritDoc} */
-    @Override protected boolean partitioned() {
-        return true;
-    }
-
-    /** {@inheritDoc} */
-    @Test
-    @Override public void testBasicLock() throws Exception {
-        super.testBasicLock();
-    }
-
-    /** {@inheritDoc} */
-    @Test
-    @Override public void testLockMultithreaded() throws Exception {
-        super.testLockMultithreaded();
-    }
-
-    /** {@inheritDoc} */
-    @Test
-    @Override public void testLockReentry() throws IgniteCheckedException {
-        super.testLockReentry();
-    }
-
-    /** {@inheritDoc} */
-    @Test
-    @Override public void testMultiNodeLock() throws Exception {
-        super.testMultiNodeLock();
-    }
-
-    /** {@inheritDoc} */
-    @Test
-    @Override public void testMultiNodeLockWithKeyLists() throws Exception {
-        super.testMultiNodeLockWithKeyLists();
-    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/d7ce114a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedMultiNodeLockSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedMultiNodeLockSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedMultiNodeLockSelfTest.java
index a340244..87f4b6e 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedMultiNodeLockSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedMultiNodeLockSelfTest.java
@@ -27,11 +27,6 @@ import static org.apache.ignite.cache.CacheMode.REPLICATED;
  */
 public class GridCacheReplicatedMultiNodeLockSelfTest extends 
GridCacheMultiNodeLockAbstractTest {
     /** {@inheritDoc} */
-    @Override protected void beforeTest() throws Exception {
-        fail("https://issues.apache.org/jira/browse/IGNITE-601";);
-    }
-
-    /** {@inheritDoc} */
     @Override protected CacheConfiguration cacheConfiguration() {
         CacheConfiguration cacheCfg = defaultCacheConfiguration();
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/d7ce114a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedMultiNodeSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedMultiNodeSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedMultiNodeSelfTest.java
index f1eed3a..4284947 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedMultiNodeSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedMultiNodeSelfTest.java
@@ -28,11 +28,6 @@ import static org.apache.ignite.cache.CacheMode.REPLICATED;
  */
 public class GridCacheReplicatedMultiNodeSelfTest extends 
GridCacheMultiNodeAbstractTest {
     /** {@inheritDoc} */
-    @Override protected void beforeTest() throws Exception {
-        fail("https://issues.apache.org/jira/browse/IGNITE-601";);
-    }
-
-    /** {@inheritDoc} */
     @Override protected IgniteConfiguration getConfiguration(String 
igniteInstanceName) throws Exception {
         IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/d7ce114a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedNearOnlyMultiNodeFullApiSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedNearOnlyMultiNodeFullApiSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedNearOnlyMultiNodeFullApiSelfTest.java
index 7e1d3b0..7244bd0 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedNearOnlyMultiNodeFullApiSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/distributed/replicated/GridCacheReplicatedNearOnlyMultiNodeFullApiSelfTest.java
@@ -30,10 +30,4 @@ public class 
GridCacheReplicatedNearOnlyMultiNodeFullApiSelfTest extends GridCac
     @Override protected CacheMode cacheMode() {
         return REPLICATED;
     }
-
-    // TODO: remove when IGNITE-601 is fixed.
-    /** {@inheritDoc} */
-    @Override protected boolean lockingEnabled() {
-        return false;
-    }
 }
\ No newline at end of file

Reply via email to