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.
Show replies by date