[infinispan-commits] Infinispan SVN: r323 - in trunk/core/src: main/java/org/infinispan/commands and 2 other directories.

infinispan-commits at lists.jboss.org infinispan-commits at lists.jboss.org
Wed May 20 08:46:53 EDT 2009


Author: vblagojevic at jboss.com
Date: 2009-05-20 08:46:52 -0400 (Wed, 20 May 2009)
New Revision: 323

Modified:
   trunk/core/src/main/java/org/infinispan/AbstractDelegatingAdvancedCache.java
   trunk/core/src/main/java/org/infinispan/AdvancedCache.java
   trunk/core/src/main/java/org/infinispan/CacheDelegate.java
   trunk/core/src/main/java/org/infinispan/commands/CommandsFactory.java
   trunk/core/src/main/java/org/infinispan/commands/CommandsFactoryImpl.java
   trunk/core/src/main/java/org/infinispan/commands/LockControlCommand.java
   trunk/core/src/main/java/org/infinispan/interceptors/LockingInterceptor.java
   trunk/core/src/test/java/org/infinispan/replication/SyncReplLockingTest.java
Log:
[ISPN-48] -  Introduce lock() and unlock() API methods
remove unlock()

Modified: trunk/core/src/main/java/org/infinispan/AbstractDelegatingAdvancedCache.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/AbstractDelegatingAdvancedCache.java	2009-05-19 16:59:52 UTC (rev 322)
+++ trunk/core/src/main/java/org/infinispan/AbstractDelegatingAdvancedCache.java	2009-05-20 12:46:52 UTC (rev 323)
@@ -265,12 +265,4 @@
    public void lock(Collection<? extends K> keys) {
       cache.lock(keys);
    }
-
-   public void unlock(K key) {
-      cache.unlock(key);
-   }
-
-   public void unlock(Collection<? extends K> keys) {
-      cache.unlock(keys);
-   }
 }

Modified: trunk/core/src/main/java/org/infinispan/AdvancedCache.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/AdvancedCache.java	2009-05-19 16:59:52 UTC (rev 322)
+++ trunk/core/src/main/java/org/infinispan/AdvancedCache.java	2009-05-20 12:46:52 UTC (rev 323)
@@ -87,10 +87,6 @@
 
    void lock(Collection<? extends K> keys);
 
-   void unlock(K key);
-
-   void unlock(Collection<? extends K> keys);
-
    RpcManager getRpcManager();
 
    BatchContainer getBatchContainer();

Modified: trunk/core/src/main/java/org/infinispan/CacheDelegate.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/CacheDelegate.java	2009-05-19 16:59:52 UTC (rev 322)
+++ trunk/core/src/main/java/org/infinispan/CacheDelegate.java	2009-05-20 12:46:52 UTC (rev 323)
@@ -236,23 +236,10 @@
    public void lock(Collection<? extends K> keys) {
       if (keys == null || keys.isEmpty())
          throw new IllegalArgumentException("Cannot lock empty list of keys");
-      LockControlCommand command = commandsFactory.buildLockControlCommand(keys, true);
+      LockControlCommand command = commandsFactory.buildLockControlCommand(keys);
       invoker.invoke(getInvocationContext(), command);
    }
 
-   public void unlock(K key) {
-      if (key == null)
-         throw new IllegalArgumentException("Cannot unlock null key");
-      unlock(Collections.singletonList(key));
-   }
-
-   public void unlock(Collection<? extends K> keys) {
-      if (keys == null || keys.isEmpty())
-         throw new IllegalArgumentException("Cannot unlock empty list of keys");
-      LockControlCommand command = commandsFactory.buildLockControlCommand(keys, false);
-      invoker.invoke(getInvocationContext(), command);
-   }
-
    public void start() {
       componentRegistry.start();
       defaultLifespan = config.getExpirationLifespan();

Modified: trunk/core/src/main/java/org/infinispan/commands/CommandsFactory.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/commands/CommandsFactory.java	2009-05-19 16:59:52 UTC (rev 322)
+++ trunk/core/src/main/java/org/infinispan/commands/CommandsFactory.java	2009-05-20 12:46:52 UTC (rev 323)
@@ -99,5 +99,5 @@
 
    ClusteredGetCommand buildClusteredGetCommand(Object key);
    
-   LockControlCommand buildLockControlCommand(Collection keys, boolean lock);
+   LockControlCommand buildLockControlCommand(Collection keys);
 }

Modified: trunk/core/src/main/java/org/infinispan/commands/CommandsFactoryImpl.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/commands/CommandsFactoryImpl.java	2009-05-19 16:59:52 UTC (rev 322)
+++ trunk/core/src/main/java/org/infinispan/commands/CommandsFactoryImpl.java	2009-05-20 12:46:52 UTC (rev 323)
@@ -237,7 +237,7 @@
       }
    }
 
-   public LockControlCommand buildLockControlCommand(Collection keys, boolean lock) {
-      return new LockControlCommand(keys, cacheName, lock);
+   public LockControlCommand buildLockControlCommand(Collection keys) {
+      return new LockControlCommand(keys, cacheName);
    }
 }

Modified: trunk/core/src/main/java/org/infinispan/commands/LockControlCommand.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/commands/LockControlCommand.java	2009-05-19 16:59:52 UTC (rev 322)
+++ trunk/core/src/main/java/org/infinispan/commands/LockControlCommand.java	2009-05-20 12:46:52 UTC (rev 323)
@@ -38,16 +38,13 @@
 public class LockControlCommand extends AbstractTransactionBoundaryCommand {
    public static final int COMMAND_ID = 3;
    private Collection keys;
-   private boolean lock;
 
-
    public LockControlCommand() {
    }
 
-   public LockControlCommand(Collection keys, String cacheName, boolean lock) {
+   public LockControlCommand(Collection keys, String cacheName) {
       this.cacheName = cacheName;
       this.keys = keys;
-      this.lock = lock;
    }
 
    public void attachGlobalTransaction(GlobalTransaction gtx) {
@@ -58,14 +55,6 @@
       return keys;
    }
 
-   public boolean isLock() {
-      return lock;
-   }
-
-   public boolean isUnlock() {
-      return !isLock();
-   }
-
    @Override
    public Object perform(InvocationContext ignored) throws Throwable {
       if (ignored != null)
@@ -92,7 +81,7 @@
    }
 
    public Object[] getParameters() {
-      return new Object[]{globalTx, cacheName, keys, lock};
+      return new Object[]{globalTx, cacheName, keys};
    }
 
    public void setParameters(int commandId, Object[] args) {
@@ -101,7 +90,6 @@
       globalTx = (GlobalTransaction) args[0];
       cacheName = (String) args[1];
       keys = (Collection) args[2];
-      lock = (Boolean) args[3];
    }
 
    public boolean equals(Object o) {
@@ -118,9 +106,7 @@
 
    public int hashCode() {
       int result = super.hashCode();
-      result = 31 * result + (keys != null ? keys.hashCode() : 0);
-      result = 31 * result + (lock ? 1 : 0);
-      return result;
+      return 31 * result + (keys != null ? keys.hashCode() : 0);
    }
 
    @Override
@@ -128,7 +114,6 @@
       return "LockControlCommand{" +
             "gtx=" + globalTx +
             ", cacheName='" + cacheName +
-            ", lock=" + lock +
             ", keys=" + keys + '}';
    }
 }

Modified: trunk/core/src/main/java/org/infinispan/interceptors/LockingInterceptor.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/interceptors/LockingInterceptor.java	2009-05-19 16:59:52 UTC (rev 322)
+++ trunk/core/src/main/java/org/infinispan/interceptors/LockingInterceptor.java	2009-05-20 12:46:52 UTC (rev 323)
@@ -142,16 +142,8 @@
          if (ctx.isOriginLocal() && ctx.isInTxScope()) {
             c.attachGlobalTransaction((GlobalTransaction) ctx.getLockOwner());
          }
-         if (c.isLock()) {
-            for (Object key : c.getKeys()) {
-               entryFactory.wrapEntryForWriting(ctx, key, true, false, false, false);
-            }
-         } else if (c.isUnlock()) {
-            for (Object key : c.getKeys()) {
-               entryFactory.releaseLock(key);
-               if (trace)
-                  log.trace("Unlocked key " + key);
-            }
+         for (Object key : c.getKeys()) {
+            entryFactory.wrapEntryForWriting(ctx, key, true, false, false, false);
          }
          return invokeNextInterceptor(ctx, c);
       } finally {

Modified: trunk/core/src/test/java/org/infinispan/replication/SyncReplLockingTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/replication/SyncReplLockingTest.java	2009-05-19 16:59:52 UTC (rev 322)
+++ trunk/core/src/test/java/org/infinispan/replication/SyncReplLockingTest.java	2009-05-20 12:46:52 UTC (rev 323)
@@ -34,7 +34,6 @@
 import org.infinispan.test.MultipleCacheManagersTest;
 import org.infinispan.test.TestingUtil;
 import org.infinispan.transaction.lookup.DummyTransactionManagerLookup;
-import org.infinispan.util.concurrent.locks.LockManager;
 import org.testng.annotations.Test;
 
 /**
@@ -61,12 +60,7 @@
       cache1 = manager(0).getCache("replSync");
       cache2 = manager(1).getCache("replSync");
    }
-
-   public void testLockingWithExplicitUnlock() throws Exception {
-      lockingWithExplicitUnlockHelper(false);
-      lockingWithExplicitUnlockHelper(true);
-   }
-
+   
    public void testLocksReleasedWithoutExplicitUnlock() throws Exception {
       locksReleasedWithoutExplicitUnlockHelper(false,false);
       locksReleasedWithoutExplicitUnlockHelper(true,false);
@@ -98,8 +92,6 @@
       
       //do a dummy read
       cache1.get(k);
-  
-      cache1.getAdvancedCache().unlock(k);
       mgr.commit();
 
       assertNoLocks(cache1);
@@ -108,35 +100,7 @@
       //TODO fails since assert cache1.isEmpty() is false because lock() creates an entry in data container 
       //cleanup();
    }
-   
-   private void lockingWithExplicitUnlockHelper(boolean lockPriorToPut) throws Exception {
-      assertClusterSize("Should only be 2  caches in the cluster!!!", 2);
-
-      assertNull("Should be null", cache1.get(k));
-      assertNull("Should be null", cache2.get(k));
-
-      String name = "Vladimir";
-      TransactionManager mgr = TestingUtil.getTransactionManager(cache1);
-      mgr.begin();
-      if (lockPriorToPut)
-         cache1.getAdvancedCache().lock(k);
-
-      cache1.put(k, v);
-
-      cache1.put(k, name);
-      if (!lockPriorToPut)
-         cache1.getAdvancedCache().lock(k);
-
-      cache1.getAdvancedCache().unlock(k);
-      mgr.commit();
-
-      assertEquals(name, cache1.get(k));
-      assertEquals("Should have replicated", name, cache2.get(k));
-
-      cache2.remove(k);
-      cleanup();
-   }
-
+ 
    private void concurrentLockingHelper(final boolean sameNode, final boolean useTx)
             throws Exception {
       assertClusterSize("Should only be 2  caches in the cluster!!!", 2);




More information about the infinispan-commits mailing list