[hornetq-commits] JBoss hornetq SVN: r10977 - branches/HORNETQ-720_Replication/hornetq-journal/src/main/java/org/hornetq/core/journal/impl.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Jul 13 11:33:07 EDT 2011


Author: borges
Date: 2011-07-13 11:33:07 -0400 (Wed, 13 Jul 2011)
New Revision: 10977

Modified:
   branches/HORNETQ-720_Replication/hornetq-journal/src/main/java/org/hornetq/core/journal/impl/JournalImpl.java
Log:
Rename lock as previous name was misleading

Modified: branches/HORNETQ-720_Replication/hornetq-journal/src/main/java/org/hornetq/core/journal/impl/JournalImpl.java
===================================================================
--- branches/HORNETQ-720_Replication/hornetq-journal/src/main/java/org/hornetq/core/journal/impl/JournalImpl.java	2011-07-13 15:32:39 UTC (rev 10976)
+++ branches/HORNETQ-720_Replication/hornetq-journal/src/main/java/org/hornetq/core/journal/impl/JournalImpl.java	2011-07-13 15:33:07 UTC (rev 10977)
@@ -204,8 +204,14 @@
    // After a record is appended, the usedFile can't be changed until the positives and negatives are updated
    private final ReentrantLock lockAppend = new ReentrantLock();
 
-   /** We don't lock the journal while compacting, however we need to lock it while taking and updating snapshots */
-   private final ReadWriteLock compactingLock = new ReentrantReadWriteLock();
+   /**
+    * We don't lock the journal during the whole compacting operation. During compacting we only
+    * lock it (i) when gathering the initial structure, and (ii) when replicating the structures
+    * after finished compacting.
+    * <p>
+    * However we need to lock it while taking and updating snapshots
+    */
+   private final ReadWriteLock journalLock = new ReentrantReadWriteLock();
 
    private volatile JournalFile currentFile;
 
@@ -817,7 +823,7 @@
    {
       checkJournalIsLoaded();
 
-      compactingLock.readLock().lock();
+      journalLock.readLock().lock();
 
       try
       {
@@ -851,7 +857,7 @@
       }
       finally
       {
-         compactingLock.readLock().unlock();
+         journalLock.readLock().unlock();
       }
    }
 
@@ -889,7 +895,7 @@
    {
       checkJournalIsLoaded();
 
-      compactingLock.readLock().lock();
+      journalLock.readLock().lock();
 
       try
       {
@@ -942,7 +948,7 @@
       }
       finally
       {
-         compactingLock.readLock().unlock();
+         journalLock.readLock().unlock();
       }
    }
 
@@ -962,7 +968,7 @@
    {
       checkJournalIsLoaded();
 
-      compactingLock.readLock().lock();
+      journalLock.readLock().lock();
       try
       {
 
@@ -1021,7 +1027,7 @@
       }
       finally
       {
-         compactingLock.readLock().unlock();
+         journalLock.readLock().unlock();
       }
    }
 
@@ -1038,7 +1044,7 @@
    {
       checkJournalIsLoaded();
 
-      compactingLock.readLock().lock();
+      journalLock.readLock().lock();
 
       try
       {
@@ -1071,7 +1077,7 @@
       }
       finally
       {
-         compactingLock.readLock().unlock();
+         journalLock.readLock().unlock();
       }
    }
 
@@ -1104,7 +1110,7 @@
    {
       checkJournalIsLoaded();
 
-      compactingLock.readLock().lock();
+      journalLock.readLock().lock();
 
       try
       {
@@ -1137,7 +1143,7 @@
       }
       finally
       {
-         compactingLock.readLock().unlock();
+         journalLock.readLock().unlock();
       }
    }
 
@@ -1150,7 +1156,7 @@
    {
       checkJournalIsLoaded();
 
-      compactingLock.readLock().lock();
+      journalLock.readLock().lock();
 
       try
       {
@@ -1181,7 +1187,7 @@
       }
       finally
       {
-         compactingLock.readLock().unlock();
+         journalLock.readLock().unlock();
       }
    }
 
@@ -1239,7 +1245,7 @@
 
       checkJournalIsLoaded();
 
-      compactingLock.readLock().lock();
+      journalLock.readLock().lock();
 
       JournalTransaction tx = getTransactionInfo(txID);
 
@@ -1273,7 +1279,7 @@
       }
       finally
       {
-         compactingLock.readLock().unlock();
+         journalLock.readLock().unlock();
       }
    }
 
@@ -1324,7 +1330,7 @@
    {
       checkJournalIsLoaded();
 
-      compactingLock.readLock().lock();
+      journalLock.readLock().lock();
 
       JournalTransaction tx = transactions.remove(txID);
 
@@ -1362,7 +1368,7 @@
       }
       finally
       {
-         compactingLock.readLock().unlock();
+         journalLock.readLock().unlock();
       }
    }
 
@@ -1383,7 +1389,7 @@
    {
       checkJournalIsLoaded();
 
-      compactingLock.readLock().lock();
+      journalLock.readLock().lock();
 
       JournalTransaction tx = null;
 
@@ -1418,7 +1424,7 @@
       }
       finally
       {
-         compactingLock.readLock().unlock();
+         journalLock.readLock().unlock();
       }
    }
 
@@ -1640,7 +1646,7 @@
 
          // We need to guarantee that the journal is frozen for this short time
          // We don't freeze the journal as we compact, only for the short time where we replace records
-         compactingLock.writeLock().lock();
+         journalLock.writeLock().lock();
          try
          {
             if (state != JournalState.LOADED)
@@ -1685,7 +1691,7 @@
          }
          finally
          {
-            compactingLock.writeLock().unlock();
+            journalLock.writeLock().unlock();
          }
 
          Collections.sort(dataFilesToProcess, new JournalFileComparator());
@@ -1721,7 +1727,7 @@
 
          SequentialFile controlFile = createControlFile(dataFilesToProcess, compactor.getNewDataFiles(), null);
 
-         compactingLock.writeLock().lock();
+         journalLock.writeLock().lock();
          try
          {
             // Need to clear the compactor here, or the replay commands will send commands back (infinite loop)
@@ -1785,7 +1791,7 @@
          }
          finally
          {
-            compactingLock.writeLock().unlock();
+            journalLock.writeLock().unlock();
          }
 
          // At this point the journal is unlocked. We keep renaming files while the journal is already operational
@@ -2239,7 +2245,7 @@
       }
 
       // We can't start reclaim while compacting is working
-      compactingLock.readLock().lock();
+      journalLock.readLock().lock();
       try
       {
          reclaimer.scan(getDataFiles());
@@ -2262,7 +2268,7 @@
       }
       finally
       {
-         compactingLock.readLock().unlock();
+         journalLock.readLock().unlock();
       }
 
       return false;
@@ -2484,7 +2490,7 @@
    // In some tests we need to force the journal to move to a next file
    public void forceMoveNextFile() throws Exception
    {
-      compactingLock.readLock().lock();
+      journalLock.readLock().lock();
       try
       {
          lockAppend.lock();
@@ -2500,7 +2506,7 @@
       }
       finally
       {
-         compactingLock.readLock().unlock();
+         journalLock.readLock().unlock();
       }
    }
 



More information about the hornetq-commits mailing list