[exo-jcr-commits] exo-jcr SVN: r3989 - in jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl: core/query and 2 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Fri Feb 18 05:08:55 EST 2011
Author: tolusha
Date: 2011-02-18 05:08:54 -0500 (Fri, 18 Feb 2011)
New Revision: 3989
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/backup/Suspendable.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SearchManager.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SystemSearchManager.java
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/dataflow/persistent/CacheableWorkspaceDataManager.java
Log:
EXOJCR-1193: Index retrieval from coordinator node: suspend only coordinator
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/backup/Suspendable.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/backup/Suspendable.java 2011-02-18 09:33:14 UTC (rev 3988)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/backup/Suspendable.java 2011-02-18 10:08:54 UTC (rev 3989)
@@ -24,22 +24,18 @@
*/
public interface Suspendable
{
- public static int SUSPEND_COMPONENT_ON_ALL_NODES = 1;
-
- public static int SUSPEND_COMPONENT_ON_OTHERS_NODES_ONLY = 2;
-
/**
* Suspend component.
*
* @throws SuspendException of error occurred
*/
- void suspend(int flag) throws SuspendException;
+ void suspend(boolean isSuspendCoordinatorOnly) throws SuspendException;
/**
* Resume component.
*
* @throws ResumeException of error occurred
*/
- void resume() throws ResumeException;
+ void resume(boolean isResumeCoordinatorOnly) throws ResumeException;
}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SearchManager.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SearchManager.java 2011-02-18 09:33:14 UTC (rev 3988)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SearchManager.java 2011-02-18 10:08:54 UTC (rev 3989)
@@ -193,11 +193,6 @@
protected Boolean isResponsibleForResuming = false;
/**
- * Suspend flag.
- */
- protected Integer suspendFlag;
-
- /**
* Suspend remote command.
*/
private RemoteCommand suspend;
@@ -985,16 +980,22 @@
/**
* {@inheritDoc}
*/
- public void suspend(int flag) throws SuspendException
+ public void suspend(boolean isSuspendCoordinatorOnly) throws SuspendException
{
isResponsibleForResuming = true;
- suspendFlag = flag;
if (rpcService != null)
{
try
{
- rpcService.executeCommandOnAllNodes(suspend, true);
+ if (isSuspendCoordinatorOnly)
+ {
+ rpcService.executeCommandOnCoordinator(suspend, true);
+ }
+ else
+ {
+ rpcService.executeCommandOnAllNodes(suspend, true);
+ }
}
catch (SecurityException e)
{
@@ -1014,13 +1015,20 @@
/**
* {@inheritDoc}
*/
- public void resume() throws ResumeException
+ public void resume(boolean isResumeCoordinatorOnly) throws ResumeException
{
if (rpcService != null)
{
try
{
- rpcService.executeCommandOnAllNodes(resume, true);
+ if (isResumeCoordinatorOnly)
+ {
+ rpcService.executeCommandOnCoordinator(resume, true);
+ }
+ else
+ {
+ rpcService.executeCommandOnAllNodes(resume, true);
+ }
}
catch (SecurityException e)
{
@@ -1037,7 +1045,6 @@
}
isResponsibleForResuming = false;
- suspendFlag = null;
}
/**
@@ -1098,11 +1105,6 @@
protected void suspendLocally() throws SuspendException
{
- if (isResponsibleForResuming && suspendFlag == Suspendable.SUSPEND_COMPONENT_ON_OTHERS_NODES_ONLY)
- {
- return;
- }
-
if (isSuspended)
{
throw new SuspendException("Component already suspended.");
@@ -1114,11 +1116,6 @@
protected void resumeLocally() throws ResumeException
{
- if (isResponsibleForResuming && suspendFlag == Suspendable.SUSPEND_COMPONENT_ON_OTHERS_NODES_ONLY)
- {
- return;
- }
-
if (!isSuspended)
{
throw new ResumeException("Component is not suspended.");
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SystemSearchManager.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SystemSearchManager.java 2011-02-18 09:33:14 UTC (rev 3988)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/SystemSearchManager.java 2011-02-18 10:08:54 UTC (rev 3989)
@@ -28,7 +28,6 @@
import org.exoplatform.services.jcr.datamodel.QPath;
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.backup.SuspendException;
-import org.exoplatform.services.jcr.impl.backup.Suspendable;
import org.exoplatform.services.jcr.impl.core.NamespaceRegistryImpl;
import org.exoplatform.services.jcr.impl.dataflow.persistent.WorkspacePersistentDataManager;
import org.exoplatform.services.log.ExoLogger;
@@ -138,11 +137,6 @@
@Override
protected void suspendLocally() throws SuspendException
{
- if (isResponsibleForResuming && suspendFlag == Suspendable.SUSPEND_COMPONENT_ON_OTHERS_NODES_ONLY)
- {
- return;
- }
-
super.suspendLocally();
isStarted = false;
}
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 2011-02-18 09:33:14 UTC (rev 3988)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java 2011-02-18 10:08:54 UTC (rev 3989)
@@ -3361,7 +3361,7 @@
// suspend all components
for (Suspendable component : suspendableComponents)
{
- component.suspend(Suspendable.SUSPEND_COMPONENT_ON_OTHERS_NODES_ONLY);
+ component.suspend(true);
resumeComponents.add(component);
}
@@ -3407,7 +3407,7 @@
{
try
{
- component.resume();
+ component.resume(true);
}
catch (ResumeException e)
{
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 2011-02-18 09:33:14 UTC (rev 3988)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CacheableWorkspaceDataManager.java 2011-02-18 10:08:54 UTC (rev 3989)
@@ -122,11 +122,6 @@
private RemoteCommand resume;
/**
- * Suspend flag.
- */
- private Integer suspendFlag;
-
- /**
* ItemData request, used on get operations.
*
*/
@@ -1100,16 +1095,22 @@
/**
* {@inheritDoc}
*/
- public void suspend(int flag) throws SuspendException
+ public void suspend(boolean isSuspendCoordinatorOnly) throws SuspendException
{
isResponsibleForResuming = true;
- suspendFlag = flag;
if (rpcService != null)
{
try
{
- rpcService.executeCommandOnAllNodes(suspend, true, null);
+ if (isSuspendCoordinatorOnly)
+ {
+ rpcService.executeCommandOnCoordinator(suspend, true);
+ }
+ else
+ {
+ rpcService.executeCommandOnAllNodes(suspend, true);
+ }
}
catch (SecurityException e)
{
@@ -1129,13 +1130,20 @@
/**
* {@inheritDoc}
*/
- public void resume() throws ResumeException
+ public void resume(boolean isResumeCoordinatorOnly) throws ResumeException
{
if (rpcService != null)
{
try
{
- rpcService.executeCommandOnAllNodes(resume, true, null);
+ if (isResumeCoordinatorOnly)
+ {
+ rpcService.executeCommandOnCoordinator(resume, true);
+ }
+ else
+ {
+ rpcService.executeCommandOnAllNodes(resume, true);
+ }
}
catch (SecurityException e)
{
@@ -1152,16 +1160,10 @@
}
isResponsibleForResuming = false;
- suspendFlag = null;
}
private void suspendLocally() throws SuspendException
{
- if (isResponsibleForResuming && suspendFlag == Suspendable.SUSPEND_COMPONENT_ON_OTHERS_NODES_ONLY)
- {
- return;
- }
-
if (isSuspended)
{
throw new SuspendException("Component already suspended.");
@@ -1185,11 +1187,6 @@
private void resumeLocally() throws ResumeException
{
- if (isResponsibleForResuming && suspendFlag == Suspendable.SUSPEND_COMPONENT_ON_OTHERS_NODES_ONLY)
- {
- return;
- }
-
if (!isSuspended)
{
throw new ResumeException("Component is not suspended.");
More information about the exo-jcr-commits
mailing list