[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