[exo-jcr-commits] exo-jcr SVN: r5945 - in jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl: dataflow/persistent and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Mar 23 05:22:01 EDT 2012


Author: nzamosenchuk
Date: 2012-03-23 05:22:00 -0400 (Fri, 23 Mar 2012)
New Revision: 5945

Modified:
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheableWorkspaceDataManager.java
Log:
EXOJCR-1825 : field isSuspended is volatile now. Merger is disposed after flushing.

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java	2012-03-22 15:12:39 UTC (rev 5944)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java	2012-03-23 09:22:00 UTC (rev 5945)
@@ -1420,15 +1420,6 @@
     */
    void close()
    {
-      // stop index merger
-      // when calling this method we must not lock this MultiIndex, otherwise
-      // a deadlock might occur
-      if (merger != null)
-      {
-         merger.dispose();
-         merger = null;
-      }
-
       synchronized (this)
       {
          // stop timer
@@ -1498,6 +1489,15 @@
             }
          });
       }
+      
+      // stop index merger
+      // when calling this method we must not lock this MultiIndex, otherwise
+      // a deadlock might occur
+      if (merger != null)
+      {
+         merger.dispose();
+         merger = null;
+      }
    }
 
    /**

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java	2012-03-22 15:12:39 UTC (rev 5944)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java	2012-03-23 09:22:00 UTC (rev 5945)
@@ -513,7 +513,7 @@
    /**
     * Indicates if component suspended or not.
     */
-   protected boolean isSuspended = false;
+   protected volatile boolean isSuspended = false;
 
    protected final Set<String> recoveryFilterClasses;
 

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheableWorkspaceDataManager.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheableWorkspaceDataManager.java	2012-03-22 15:12:39 UTC (rev 5944)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheableWorkspaceDataManager.java	2012-03-23 09:22:00 UTC (rev 5945)
@@ -141,7 +141,7 @@
    /**
     * Indicates if component suspended or not.
     */
-   protected boolean isSuspended = false;
+   protected volatile boolean isSuspended = false;
 
    /**
     * Allows to make all threads waiting until resume. 



More information about the exo-jcr-commits mailing list