# IGNITE-59 Support lock, lockAll. Fix tests.

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

Branch: refs/heads/ignite-86
Commit: 286038862f5b148315232a7c56ae0430306e2a8e
Parents: cbb74d6
Author: sevdokimov <sevdoki...@gridgain.com>
Authored: Tue Jan 20 13:10:07 2015 +0300
Committer: sevdokimov <sevdoki...@gridgain.com>
Committed: Tue Jan 20 13:10:07 2015 +0300

----------------------------------------------------------------------
 .../processors/cache/CacheLockAsyncImpl.java    |  7 ++--
 .../GridCacheMultiNodeLockAbstractTest.java     |  4 +--
 .../GridCacheLocalMultithreadedSelfTest.java    | 35 ++++++--------------
 3 files changed, 15 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/28603886/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheLockAsyncImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheLockAsyncImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheLockAsyncImpl.java
index 4b058bd..5005982 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheLockAsyncImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheLockAsyncImpl.java
@@ -40,7 +40,7 @@ class CacheLockAsyncImpl<K> implements CacheLock {
     private final Collection<? extends K> keys;
 
     /** Future for previous asynchronous operation. */
-    protected ThreadLocal<IgniteFuture<?>> curFut;
+    protected final ThreadLocal<IgniteFuture<?>> curFut = new ThreadLocal<>();
 
     /**
      * @param delegate Delegate.
@@ -95,10 +95,7 @@ class CacheLockAsyncImpl<K> implements CacheLock {
 
     /** {@inheritDoc} */
     @Override public boolean tryLock(long time, TimeUnit unit) {
-        if (time <= 0)
-            return tryLock();
-
-        IgniteFuture<Boolean> fut = delegate.lockAllAsync(keys, 
unit.toMillis(time));
+        IgniteFuture<Boolean> fut = delegate.lockAllAsync(keys, time <= 0 ? -1 
: unit.toMillis(time));
 
         curFut.set(fut);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/28603886/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheMultiNodeLockAbstractTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheMultiNodeLockAbstractTest.java
 
b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheMultiNodeLockAbstractTest.java
index 257d260..1188022 100644
--- 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheMultiNodeLockAbstractTest.java
+++ 
b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/distributed/GridCacheMultiNodeLockAbstractTest.java
@@ -532,9 +532,9 @@ public abstract class GridCacheMultiNodeLockAbstractTest 
extends GridCommonAbstr
 
             checkRemoteLocked(cache2, keys1);
 
-            lock2_2.tryLock(-1, TimeUnit.MILLISECONDS);
+            lock2_2.enableAsync().tryLock(-1, TimeUnit.MILLISECONDS);
 
-            IgniteFuture<Boolean> f2 = lock2_2.future();
+            IgniteFuture<Boolean> f2 = lock2_2.enableAsync().future();
 
             assert !f2.get();
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/28603886/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalMultithreadedSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalMultithreadedSelfTest.java
 
b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalMultithreadedSelfTest.java
index cc79f38..452dc48 100644
--- 
a/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalMultithreadedSelfTest.java
+++ 
b/modules/core/src/test/java/org/gridgain/grid/kernal/processors/cache/local/GridCacheLocalMultithreadedSelfTest.java
@@ -17,6 +17,7 @@
 
 package org.gridgain.grid.kernal.processors.cache.local;
 
+import com.google.common.collect.*;
 import org.apache.ignite.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.lang.*;
@@ -37,7 +38,7 @@ import static org.gridgain.grid.cache.GridCacheMode.*;
  */
 public class GridCacheLocalMultithreadedSelfTest extends 
GridCommonAbstractTest {
     /** Cache. */
-    private GridCache<Integer, String> cache;
+    private IgniteCache<Integer, String> cache;
 
     /**
      * Start grid by default.
@@ -50,7 +51,7 @@ public class GridCacheLocalMultithreadedSelfTest extends 
GridCommonAbstractTest
     @Override protected void beforeTest() throws Exception {
         Ignite ignite = grid();
 
-        cache = ignite.cache(null);
+        cache = ignite.jcache(null);
     }
 
     /** {@inheritDoc} */
@@ -83,8 +84,6 @@ public class GridCacheLocalMultithreadedSelfTest extends 
GridCommonAbstractTest
      * @throws Exception If test fails.
      */
     public void testBasicLocks() throws Throwable {
-        final IgniteCache<Object, Object> cache = grid().jcache(null);
-
         GridTestUtils.runMultiThreaded(new Callable<Object>() {
             /** {@inheritDoc} */
             @Override public Object call() throws Exception {
@@ -109,14 +108,10 @@ public class GridCacheLocalMultithreadedSelfTest extends 
GridCommonAbstractTest
      * @throws Exception If test fails.
      */
     public void testMultiLocks() throws Throwable {
-        final IgniteCache<Integer, String> cache = grid().jcache(null);
-
         GridTestUtils.runMultiThreaded(new Callable<Object>() {
             /** {@inheritDoc} */
             @Override public Object call() throws Exception {
-                Set<Integer> keys = new HashSet<Integer>();
-
-                Collections.addAll(keys, 1, 2, 3);
+                Set<Integer> keys = Sets.newHashSet(1, 2, 3);
 
                 cache.lockAll(keys).lock();
 
@@ -139,8 +134,6 @@ public class GridCacheLocalMultithreadedSelfTest extends 
GridCommonAbstractTest
      * @throws Exception If test fails.
      */
     public void testSlidingKeysLocks() throws Throwable {
-        final IgniteCache<Integer, String> cache = grid().jcache(null);
-
         final AtomicInteger cnt = new AtomicInteger();
 
         GridTestUtils.runMultiThreaded(new Callable<Object>() {
@@ -148,9 +141,7 @@ public class GridCacheLocalMultithreadedSelfTest extends 
GridCommonAbstractTest
             @Override public Object call() throws Exception {
                 int idx = cnt.incrementAndGet();
 
-                Set<Integer> keys = new HashSet<>();
-
-                Collections.addAll(keys, idx, idx + 1, idx + 2, idx + 3);
+                Set<Integer> keys = Sets.newHashSet(idx, idx + 1, idx + 2, idx 
+ 3);
 
                 cache.lockAll(keys).lock();
 
@@ -173,8 +164,6 @@ public class GridCacheLocalMultithreadedSelfTest extends 
GridCommonAbstractTest
      * @throws Exception If test fails.
      */
     public void testSingleLockTimeout() throws Exception {
-        final IgniteCache<Object, Object> cache = grid().jcache(null);
-
         final CountDownLatch l1 = new CountDownLatch(1);
         final CountDownLatch l2 = new CountDownLatch(1);
 
@@ -239,8 +228,6 @@ public class GridCacheLocalMultithreadedSelfTest extends 
GridCommonAbstractTest
      * @throws Exception If test fails.
      */
     public void testMultiLockTimeout() throws Exception {
-        final IgniteCache<Integer, String> cache = grid().jcache(null);
-
         final CountDownLatch l1 = new CountDownLatch(1);
         final CountDownLatch l2 = new CountDownLatch(1);
         final CountDownLatch l3 = new CountDownLatch(1);
@@ -346,8 +333,6 @@ public class GridCacheLocalMultithreadedSelfTest extends 
GridCommonAbstractTest
      * @throws Exception If test failed.
      */
     public void testLockOrder() throws Exception {
-        final IgniteCache<Object, Object> cache = grid().jcache(null);
-
         final CountDownLatch l1 = new CountDownLatch(1);
         final CountDownLatch l2 = new CountDownLatch(1);
         final CountDownLatch l3 = new CountDownLatch(1);
@@ -380,9 +365,11 @@ public class GridCacheLocalMultithreadedSelfTest extends 
GridCommonAbstractTest
                 try {
                     l1.await();
 
-                    CacheLock lock1 = cache.enableAsync().lock(1);
+                    CacheLock lock1 = cache.lock(1);
+
+                    lock1.enableAsync().lock();
 
-                    IgniteFuture<Boolean> f1 = cache.enableAsync().future();
+                    IgniteFuture<Boolean> f1 = lock1.enableAsync().future();
 
                     try {
                         f1.get(100, TimeUnit.MILLISECONDS);
@@ -395,9 +382,9 @@ public class GridCacheLocalMultithreadedSelfTest extends 
GridCommonAbstractTest
 
                     CacheLock lock2 = cache.lock(2);
 
-                    lock2.lock();
+                    lock2.enableAsync().lock();
 
-                    IgniteFuture<Boolean> f2 = lock2.future();
+                    IgniteFuture<Boolean> f2 = lock2.enableAsync().future();
 
                     try {
                         // Can't acquire f2 because f1 is held.

Reply via email to