[exo-jcr-commits] exo-jcr SVN: r5969 - jcr/branches/1.12.x/patch/1.12.13-GA/JCR-1717.

do-not-reply at jboss.org do-not-reply at jboss.org
Tue Mar 27 04:05:48 EDT 2012


Author: nzamosenchuk
Date: 2012-03-27 04:05:47 -0400 (Tue, 27 Mar 2012)
New Revision: 5969

Modified:
   jcr/branches/1.12.x/patch/1.12.13-GA/JCR-1717/JCR-1717.patch
Log:
JCR-1717 : convert some more field from boolean to final AtomicBoolean

Modified: jcr/branches/1.12.x/patch/1.12.13-GA/JCR-1717/JCR-1717.patch
===================================================================
--- jcr/branches/1.12.x/patch/1.12.13-GA/JCR-1717/JCR-1717.patch	2012-03-27 07:36:01 UTC (rev 5968)
+++ jcr/branches/1.12.x/patch/1.12.13-GA/JCR-1717/JCR-1717.patch	2012-03-27 08:05:47 UTC (rev 5969)
@@ -1,6 +1,6 @@
 Index: exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/PersistentDataManager.java
 ===================================================================
---- exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/PersistentDataManager.java	(revision 5955)
+--- exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/PersistentDataManager.java	(revision 5967)
 +++ exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/dataflow/PersistentDataManager.java	(working copy)
 @@ -20,6 +20,7 @@
  
@@ -21,7 +21,7 @@
     void addItemPersistenceListener(ItemsPersistenceListener listener);
 Index: exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SearchManager.java
 ===================================================================
---- exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SearchManager.java	(revision 5955)
+--- exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SearchManager.java	(revision 5967)
 +++ exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SearchManager.java	(working copy)
 @@ -39,6 +39,9 @@
  import org.exoplatform.services.jcr.datamodel.QPath;
@@ -129,7 +129,7 @@
  }
 Index: exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java
 ===================================================================
---- exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java	(revision 5955)
+--- exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java	(revision 5967)
 +++ exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java	(working copy)
 @@ -45,6 +45,9 @@
  import org.exoplatform.services.jcr.datamodel.PropertyData;
@@ -160,6 +160,15 @@
  {
  
     private static final DefaultQueryNodeFactory DEFAULT_QUERY_NODE_FACTORY = new DefaultQueryNodeFactory();
+@@ -428,7 +434,7 @@
+     * Indicates if this <code>SearchIndex</code> is closed and cannot be used
+     * anymore.
+     */
+-   private boolean closed = false;
++   private final AtomicBoolean closed = new AtomicBoolean(false);
+ 
+    /**
+     * Text extractor for extracting text content of binary properties.
 @@ -448,6 +454,16 @@
     private final ConfigurationManager cfm;
  
@@ -182,7 +191,7 @@
     public void close()
     {
 -      if (synonymProviderConfigFs != null)
-+      if (!closed)
++      if (!closed.get())
        {
 -         try
 +         if (synonymProviderConfigFs != null)
@@ -206,7 +215,7 @@
 +         errorLog.close();
 +         index.close();
 +         getContext().destroy();
-+         closed = true;
++         closed.set(true);
 +         log.info("Index closed: " + path);
        }
 -      if (spellChecker != null)
@@ -239,6 +248,15 @@
        checkOpen();
  
        Sort sort = new Sort(createSortFields(orderProps, orderSpecs));
+@@ -2606,7 +2629,7 @@
+     */
+    private void checkOpen() throws IOException
+    {
+-      if (closed)
++      if (closed.get())
+       {
+          throw new IOException("query handler closed and cannot be used anymore.");
+       }
 @@ -2710,6 +2733,8 @@
      */
     public QueryHits executeQuery(Query query) throws IOException
@@ -271,7 +289,7 @@
 +   {
 +      try
 +      {
-+         closed = false;
++         closed.set(false);
 +         doInit();
 +
 +         latcher.get().countDown();
@@ -327,9 +345,17 @@
  }
 Index: exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java
 ===================================================================
---- exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java	(revision 5955)
+--- exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java	(revision 5967)
 +++ exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java	(working copy)
-@@ -177,7 +177,7 @@
+@@ -50,6 +50,7 @@
+ import java.util.concurrent.Callable;
+ import java.util.concurrent.CountDownLatch;
+ import java.util.concurrent.LinkedBlockingQueue;
++import java.util.concurrent.atomic.AtomicBoolean;
+ import java.util.concurrent.atomic.AtomicInteger;
+ import java.util.concurrent.atomic.AtomicLong;
+ import java.util.concurrent.atomic.AtomicReference;
+@@ -177,7 +178,7 @@
     /**
      * The <code>IndexMerger</code> for this <code>MultiIndex</code>.
      */
@@ -338,7 +364,16 @@
  
     /**
      * Timer to schedule flushes of this index after some idle time.
-@@ -270,12 +270,6 @@
+@@ -223,7 +224,7 @@
+    /**
+     * Flag indicating whether the index is stopped.
+     */
+-   private volatile boolean stopped;
++   private final AtomicBoolean stopped = new AtomicBoolean();
+    
+    /**
+     * The index format version of this multi index.
+@@ -270,12 +271,6 @@
        // as of 1.5 deletable file is not used anymore
        removeDeletable();
  
@@ -351,7 +386,7 @@
        IndexingQueueStore store = new IndexingQueueStore(indexDir);
  
        // initialize indexing queue
-@@ -303,7 +297,6 @@
+@@ -303,7 +298,6 @@
           index.setUseCompoundFile(handler.getUseCompoundFile());
           index.setTermInfosIndexDivisor(handler.getTermInfosIndexDivisor());
           indexes.add(index);
@@ -359,7 +394,7 @@
        }
  
        // init volatile index
-@@ -323,6 +316,7 @@
+@@ -323,6 +317,7 @@
        indexingQueue.initialize(this);
        if (modeHandler.getMode() == IndexerIoMode.READ_WRITE)
        {
@@ -367,7 +402,16 @@
           setReadWrite();
        }
        this.indexNames.setMultiIndex(this);
-@@ -926,12 +920,6 @@
+@@ -331,7 +326,7 @@
+       {
+          public void run()
+          {
+-            stopped = true;
++            stopped.set(true);
+          }
+       });
+    }
+@@ -926,12 +921,6 @@
     {
        if (modeHandler.getMode().equals(IndexerIoMode.READ_WRITE))
        {
@@ -380,10 +424,11 @@
           synchronized (this)
           {
              // stop timer
-@@ -977,6 +965,14 @@
+@@ -977,7 +966,15 @@
              }
           }
        }
+-      this.stopped = true;
 +      // stop index merger
 +      // when calling this method we must not lock this MultiIndex, otherwise
 +      // a deadlock might occur
@@ -392,10 +437,11 @@
 +         merger.dispose();
 +         merger = null;
 +      }
-       this.stopped = true;
++      this.stopped.set(true);
     }
  
-@@ -1150,6 +1146,27 @@
+    /**
+@@ -1150,6 +1147,27 @@
        }
     }
  
@@ -423,7 +469,16 @@
     // -------------------------< internal
     // >-------------------------------------
  
-@@ -2550,7 +2567,12 @@
+@@ -1355,7 +1373,7 @@
+    private void createIndex(final Queue<Callable<Void>> tasks, final NodeData node, final ItemDataConsumer stateMgr, final AtomicLong count) throws IOException,
+       RepositoryException, InterruptedException
+    {
+-      if (stopped)
++      if (stopped.get())
+       {
+          throw new InterruptedException();
+       }
+@@ -2550,7 +2568,12 @@
     protected void setReadOny()
     {
        // try to stop merger in safe way
@@ -437,7 +492,7 @@
        flushTask.cancel();
        FLUSH_TIMER.purge();
        this.redoLog = null;
-@@ -2582,7 +2604,8 @@
+@@ -2582,7 +2605,8 @@
        attemptDelete();
  
        // now that we are ready, start index merger
@@ -449,7 +504,7 @@
           // wait for the index merge to finish pending jobs
 Index: exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/RepositoryImpl.java
 ===================================================================
---- exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/RepositoryImpl.java	(revision 5955)
+--- exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/RepositoryImpl.java	(revision 5967)
 +++ exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/RepositoryImpl.java	(working copy)
 @@ -137,6 +137,11 @@
     private int state = OFFLINE;
@@ -597,7 +652,7 @@
 +}
 Index: exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheableWorkspaceDataManager.java
 ===================================================================
---- exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheableWorkspaceDataManager.java	(revision 5955)
+--- exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheableWorkspaceDataManager.java	(revision 5967)
 +++ exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheableWorkspaceDataManager.java	(working copy)
 @@ -30,6 +30,9 @@
  import org.exoplatform.services.jcr.datamodel.QPathEntry;
@@ -770,7 +825,7 @@
 +}
 Index: exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryContainer.java
 ===================================================================
---- exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryContainer.java	(revision 5955)
+--- exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryContainer.java	(revision 5967)
 +++ exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryContainer.java	(working copy)
 @@ -29,6 +29,7 @@
  import org.exoplatform.services.jcr.config.RepositoryConfigurationException;
@@ -1022,7 +1077,7 @@
 +}
 Index: exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/ManageableRepository.java
 ===================================================================
---- exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/ManageableRepository.java	(revision 5955)
+--- exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/ManageableRepository.java	(revision 5967)
 +++ exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/ManageableRepository.java	(working copy)
 @@ -62,6 +62,16 @@
     final int READONLY = 2;
@@ -1053,7 +1108,7 @@
  
 Index: exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/WorkspaceContainerFacade.java
 ===================================================================
---- exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/WorkspaceContainerFacade.java	(revision 5955)
+--- exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/WorkspaceContainerFacade.java	(revision 5967)
 +++ exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/core/WorkspaceContainerFacade.java	(working copy)
 @@ -18,8 +18,18 @@
   */



More information about the exo-jcr-commits mailing list