[exo-jcr-commits] exo-jcr SVN: r4212 - in jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl: rdbms and 1 other directory.
do-not-reply at jboss.org
do-not-reply at jboss.org
Wed Apr 6 05:07:57 EDT 2011
Author: tolusha
Date: 2011-04-06 05:07:57 -0400 (Wed, 06 Apr 2011)
New Revision: 4212
Modified:
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistingRepositorySameConfigRestore.java
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistingWorkspaceSameConfigRestore.java
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/rdbms/FullBackupJob.java
Log:
EXOJCR-1291: Components should be resumed in reverse order
Modified: jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistingRepositorySameConfigRestore.java
===================================================================
--- jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistingRepositorySameConfigRestore.java 2011-04-06 08:07:53 UTC (rev 4211)
+++ jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistingRepositorySameConfigRestore.java 2011-04-06 09:07:57 UTC (rev 4212)
@@ -39,6 +39,7 @@
import java.security.PrivilegedExceptionAction;
import java.sql.Connection;
import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -116,7 +117,7 @@
for (Suspendable component : suspendableComponents)
{
component.suspend();
- resumeComponents.add(component);
+ resumeComponents.add(0, component); // ensure that first component will be resumed as last
}
}
@@ -160,16 +161,19 @@
}
// resume components
- for (int i = 0; i < resumeComponents.size(); i++)
+ Iterator<Suspendable> iter = resumeComponents.iterator();
+ while (iter.hasNext())
{
try
{
- resumeComponents.remove(i).resume();
+ iter.next().resume();
}
catch (ResumeException e)
{
log.error("Can't resume component", e);
}
+
+ iter.remove();
}
// incremental restore
Modified: jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistingWorkspaceSameConfigRestore.java
===================================================================
--- jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistingWorkspaceSameConfigRestore.java 2011-04-06 08:07:53 UTC (rev 4211)
+++ jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistingWorkspaceSameConfigRestore.java 2011-04-06 09:07:57 UTC (rev 4212)
@@ -35,6 +35,7 @@
import java.io.File;
import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
/**
@@ -83,7 +84,7 @@
for (Suspendable component : suspendableComponents)
{
component.suspend();
- resumeComponents.add(component);
+ resumeComponents.add(0, component); // ensure that first component will be resumed as last
}
// get all restorers
@@ -115,16 +116,19 @@
}
// resume components
- for (int i = 0; i < resumeComponents.size(); i++)
+ Iterator<Suspendable> iter = resumeComponents.iterator();
+ while (iter.hasNext())
{
try
{
- resumeComponents.remove(i).resume();
+ iter.next().resume();
}
catch (ResumeException e)
{
log.error("Can't resume component", e);
}
+
+ iter.remove();
}
// incremental restore
Modified: jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/rdbms/FullBackupJob.java
===================================================================
--- jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/rdbms/FullBackupJob.java 2011-04-06 08:07:53 UTC (rev 4211)
+++ jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/rdbms/FullBackupJob.java 2011-04-06 09:07:57 UTC (rev 4212)
@@ -130,7 +130,7 @@
for (Suspendable component : suspendableComponents)
{
component.suspend();
- resumeComponents.add(component);
+ resumeComponents.add(0, component); // ensure that first component will be resumed as last
}
List<Backupable> backupableComponents =
More information about the exo-jcr-commits
mailing list