Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-72 b4cdb00c5 -> 7a9497525


ignite-59 review


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

Branch: refs/heads/ignite-72
Commit: 0357b74b0fa155f3eb18766591abda15821fbd2e
Parents: 17d1b5f
Author: Yakov Zhdanov <yzhda...@gridgain.com>
Authored: Tue Jan 27 16:43:26 2015 +0300
Committer: Yakov Zhdanov <yzhda...@gridgain.com>
Committed: Tue Jan 27 16:43:26 2015 +0300

----------------------------------------------------------------------
 .../processors/cache/CacheLockImpl.java         | 44 +++++++-------------
 .../processors/cache/IgniteCacheProxy.java      |  3 --
 .../transactions/IgniteTxConcurrency.java       |  2 +-
 .../cache/GridCacheBasicApiAbstractTest.java    |  4 +-
 .../GridCacheMultiNodeLockAbstractTest.java     | 10 ++---
 5 files changed, 22 insertions(+), 41 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0357b74b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheLockImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheLockImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheLockImpl.java
index c1ed7eb..0f1fe42 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheLockImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheLockImpl.java
@@ -18,7 +18,7 @@
 package org.apache.ignite.internal.processors.cache;
 
 import org.apache.ignite.*;
-import org.apache.ignite.cache.*;
+import org.apache.ignite.internal.util.typedef.internal.*;
 import org.apache.ignite.lang.*;
 import org.jetbrains.annotations.*;
 
@@ -54,6 +54,8 @@ class CacheLockImpl<K> implements Lock {
 
     /** {@inheritDoc} */
     @Override public void lock() {
+        //cctx.readlock();
+
         try {
             delegate.lockAll(keys, 0);
 
@@ -62,6 +64,9 @@ class CacheLockImpl<K> implements Lock {
         catch (IgniteCheckedException e) {
             throw new CacheException(e.getMessage(), e);
         }
+        finally {
+            //cctx.readunlock();
+        }
     }
 
     /**
@@ -70,9 +75,9 @@ class CacheLockImpl<K> implements Lock {
     private void incrementLockCounter() {
         assert (lockedThread == null && cntr == 0) || (lockedThread == 
Thread.currentThread() && cntr > 0);
 
-        lockedThread = Thread.currentThread();
-
         cntr++;
+
+        lockedThread = Thread.currentThread();
     }
 
     /** {@inheritDoc} */
@@ -139,34 +144,12 @@ class CacheLockImpl<K> implements Lock {
         }
     }
 
-    /**
-     *
-     */
-    private boolean isKeysLocked() {
-        for (K key : keys) {
-            if (delegate.isLocked(key))
-                return true;
-        }
-
-        return false;
-    }
-
     /** {@inheritDoc} */
     @Override public void unlock() {
         try {
-            Thread lockedThread = this.lockedThread;
-
             if (lockedThread != Thread.currentThread()) {
-                if (lockedThread == null) {
-                    if (isKeysLocked()) {
-                        throw new IllegalStateException("Failed to unlock 
keys, looks like lock has been obtain on " +
-                            "another instance of Lock, that was returned by 
IgniteCache.lock(key). You have to call " +
-                            "lock() and unlock() methods on the same instance 
of Lock [keys=" + keys + ']');
-                    }
-                } else {
-                    throw new IllegalStateException("Failed to unlock cache 
keys, keys are locked by another thread " +
-                        "any threads [keys=" + keys + ", lockOwnerThread=" + 
lockedThread.getName() + ']');
-                }
+                throw new IllegalStateException("Failed to unlock keys (did 
current thread acquire lock " +
+                    "with this lock instance?).");
             }
 
             assert cntr > 0;
@@ -174,7 +157,7 @@ class CacheLockImpl<K> implements Lock {
             cntr--;
 
             if (cntr == 0)
-                this.lockedThread = null;
+                lockedThread = null;
 
             delegate.unlockAll(keys);
         }
@@ -187,4 +170,9 @@ class CacheLockImpl<K> implements Lock {
     @NotNull @Override public Condition newCondition() {
         throw new UnsupportedOperationException();
     }
+
+    /** {@inheritDoc} */
+    @Override public String toString() {
+        return S.toString(CacheLockImpl.class, this);
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0357b74b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
index 63c1f65..5993097 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/IgniteCacheProxy.java
@@ -20,9 +20,7 @@ package org.apache.ignite.internal.processors.cache;
 import org.apache.ignite.*;
 import org.apache.ignite.cache.*;
 import org.apache.ignite.cache.query.*;
-import org.apache.ignite.cluster.*;
 import org.apache.ignite.lang.*;
-import org.apache.ignite.resources.*;
 import org.apache.ignite.internal.util.tostring.*;
 import org.apache.ignite.internal.util.typedef.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
@@ -35,7 +33,6 @@ import javax.cache.integration.*;
 import javax.cache.processor.*;
 import java.io.*;
 import java.util.*;
-import java.util.concurrent.*;
 import java.util.concurrent.locks.*;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0357b74b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxConcurrency.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxConcurrency.java
 
b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxConcurrency.java
index cc2f678..14213e4 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxConcurrency.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/transactions/IgniteTxConcurrency.java
@@ -17,7 +17,7 @@
 
 package org.apache.ignite.transactions;
 
-import org.jetbrains.annotations.Nullable;
+import org.jetbrains.annotations.*;
 
 /**
  * Transaction concurrency control. See {@link IgniteTx} for more information

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0357b74b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheBasicApiAbstractTest.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheBasicApiAbstractTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheBasicApiAbstractTest.java
index 1309c43..4b34bd2 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheBasicApiAbstractTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheBasicApiAbstractTest.java
@@ -17,7 +17,6 @@
 
 package org.apache.ignite.internal.processors.cache;
 
-import com.beust.jcommander.internal.*;
 import org.apache.ignite.*;
 import org.apache.ignite.cache.*;
 import org.apache.ignite.configuration.*;
@@ -30,7 +29,6 @@ import org.apache.ignite.internal.util.typedef.internal.*;
 import org.apache.ignite.testframework.*;
 import org.apache.ignite.testframework.junits.common.*;
 import org.jetbrains.annotations.*;
-import org.jetbrains.annotations.Nullable;
 
 import javax.cache.expiry.*;
 import java.util.*;
@@ -547,7 +545,7 @@ public abstract class GridCacheBasicApiAbstractTest extends 
GridCommonAbstractTe
     public void testMultiLocks() throws Exception {
         IgniteCache<Integer, String> cache = ignite.jcache(null);
 
-        Collection<Integer> keys = Lists.newArrayList(1, 2, 3);
+        Collection<Integer> keys = Arrays.asList(1, 2, 3);
 
         Lock lock = cache.lockAll(keys);
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/0357b74b/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 bc53d0b..8796d69 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
@@ -17,22 +17,20 @@
 
 package org.apache.ignite.internal.processors.cache.distributed;
 
-import com.beust.jcommander.internal.*;
 import org.apache.ignite.*;
 import org.apache.ignite.cache.*;
 import org.apache.ignite.configuration.*;
 import org.apache.ignite.events.*;
 import org.apache.ignite.internal.*;
+import org.apache.ignite.internal.processors.cache.distributed.dht.*;
+import org.apache.ignite.internal.processors.cache.distributed.near.*;
 import org.apache.ignite.lang.*;
 import org.apache.ignite.spi.discovery.tcp.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.*;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.*;
-import org.apache.ignite.internal.processors.cache.distributed.dht.*;
-import org.apache.ignite.internal.processors.cache.distributed.near.*;
 import org.apache.ignite.testframework.*;
 import org.apache.ignite.testframework.junits.common.*;
 import org.jetbrains.annotations.*;
-import org.jetbrains.annotations.Nullable;
 
 import java.util.*;
 import java.util.concurrent.*;
@@ -385,8 +383,8 @@ public abstract class GridCacheMultiNodeLockAbstractTest 
extends GridCommonAbstr
         IgniteCache<Integer, String> cache1 = ignite1.jcache(null);
         IgniteCache<Integer, String> cache2 = ignite2.jcache(null);
 
-        Collection<Integer> keys1 = Lists.newArrayList(1, 2, 3);
-        Collection<Integer> keys2 = Lists.newArrayList(2, 3, 4);
+        Collection<Integer> keys1 = Arrays.asList(1, 2, 3);
+        Collection<Integer> keys2 = Arrays.asList(2, 3, 4);
 
         Lock lock1_1 = cache1.lockAll(keys1);
         Lock lock2_2 = cache2.lockAll(keys2);

Reply via email to