Author: tolusha
Date: 2011-12-02 02:36:09 -0500 (Fri, 02 Dec 2011)
New Revision: 5254
Modified:
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistingWorkspaceRestore.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/JobRepositoryRestore.java
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobWorkspaceRestore.java
Log:
EXOJCR-1631: Restore state is not managed properly by restore jobs in some cases
Modified:
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistingWorkspaceRestore.java
===================================================================
---
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistingWorkspaceRestore.java 2011-12-01
15:24:02 UTC (rev 5253)
+++
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistingWorkspaceRestore.java 2011-12-02
07:36:09 UTC (rev 5254)
@@ -61,7 +61,7 @@
* {@inheritDoc}
*/
@Override
- protected void restore() throws WorkspaceRestoreException
+ protected void restoreWorkspace() throws WorkspaceRestoreException
{
try
{
@@ -99,7 +99,7 @@
component.clean();
}
- super.restore();
+ super.restoreWorkspace();
}
catch (Throwable t)
{
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-12-01
15:24:02 UTC (rev 5253)
+++
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistingWorkspaceSameConfigRestore.java 2011-12-02
07:36:09 UTC (rev 5254)
@@ -68,7 +68,7 @@
* {@inheritDoc}
*/
@Override
- protected void restore() throws WorkspaceRestoreException
+ protected void restoreWorkspace() throws WorkspaceRestoreException
{
// list of data restorers
List<DataRestore> dataRestorer = new ArrayList<DataRestore>();
Modified:
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobRepositoryRestore.java
===================================================================
---
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobRepositoryRestore.java 2011-12-01
15:24:02 UTC (rev 5253)
+++
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobRepositoryRestore.java 2011-12-02
07:36:09 UTC (rev 5254)
@@ -16,8 +16,6 @@
*/
package org.exoplatform.services.jcr.ext.backup.impl;
-
-
import org.exoplatform.services.jcr.RepositoryService;
import org.exoplatform.services.jcr.config.RepositoryConfigurationException;
import org.exoplatform.services.jcr.config.RepositoryEntry;
@@ -131,7 +129,7 @@
* @throws RepositoryRestoreExeption
* if exception occurred during restore
*/
- protected void restore() throws RepositoryRestoreExeption
+ final protected void restore() throws RepositoryRestoreExeption
{
try
{
@@ -162,7 +160,7 @@
* will be generated the Throwable
*/
protected void restoreRepository() throws RepositoryRestoreExeption,
BackupOperationException,
- ClassNotFoundException
+ ClassNotFoundException
{
List<WorkspaceEntry> originalWorkspaceEntrys =
repositoryEntry.getWorkspaceEntries();
@@ -182,7 +180,7 @@
//getting backup chail log to system workspace.
BackupChainLog systemBackupChainLog =
workspacesMapping.get(systemWorkspaceEntry.getName());
-
+
WorkspaceInitializerEntry wiEntry =
getWorkspaceInitializerEntry(systemBackupChainLog);
// set initializer
@@ -223,8 +221,9 @@
{
restored = false;
- log.error("Can not restore workspace \"" + currennWorkspaceName +
" in repository \""
- + repositoryEntry.getName() + "\".", e);
+ log.error(
+ "Can not restore workspace \"" + currennWorkspaceName + "
in repository \"" + repositoryEntry.getName()
+ + "\".", e);
throw new RepositoryRestoreExeption("Can not restore workspace
\"" + currennWorkspaceName
+ " in repository \"" + repositoryEntry.getName() +
"\"." + " There was database error.", e);
@@ -234,8 +233,9 @@
{
restored = false;
- log.error("Can not restore workspace \"" + currennWorkspaceName +
" in repository \""
- + repositoryEntry.getName() + "\".", t);
+ log.error(
+ "Can not restore workspace \"" + currennWorkspaceName + "
in repository \"" + repositoryEntry.getName()
+ + "\".", t);
throw new RepositoryRestoreExeption("Can not restore workspace
\"" + currennWorkspaceName
+ " in repository \"" + repositoryEntry.getName() +
"\".", t);
@@ -377,19 +377,10 @@
{
try
{
- stateRestore = REPOSITORY_RESTORE_STARTED;
- startTime = Calendar.getInstance();
-
- restoreRepository();
-
- stateRestore = REPOSITORY_RESTORE_SUCCESSFUL;
- endTime = Calendar.getInstance();
+ restore();
}
catch (Throwable t)
{
- stateRestore = REPOSITORY_RESTORE_FAIL;
- restoreException = t;
-
log.error("The restore was fail", t);
}
}
Modified:
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobWorkspaceRestore.java
===================================================================
---
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobWorkspaceRestore.java 2011-12-01
15:24:02 UTC (rev 5253)
+++
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobWorkspaceRestore.java 2011-12-02
07:36:09 UTC (rev 5254)
@@ -25,6 +25,7 @@
import org.exoplatform.services.jcr.core.WorkspaceContainerFacade;
import org.exoplatform.services.jcr.ext.backup.BackupChainLog;
import org.exoplatform.services.jcr.ext.backup.BackupManager;
+import org.exoplatform.services.jcr.ext.backup.RepositoryRestoreExeption;
import org.exoplatform.services.jcr.ext.backup.server.WorkspaceRestoreExeption;
import org.exoplatform.services.jcr.impl.core.RepositoryImpl;
import org.exoplatform.services.jcr.impl.core.SessionRegistry;
@@ -151,10 +152,28 @@
{
try
{
+ restore();
+ }
+ catch (Throwable t)
+ {
+ log.error("The restore was fail", t);
+ }
+ }
+
+ /**
+ * Will be restored the workspace.
+ *
+ * @throws Throwable
+ * will be generated the Throwable
+ */
+ final protected void restore() throws Throwable
+ {
+ try
+ {
stateRestore = RESTORE_STARTED;
startTime = Calendar.getInstance();
- restore();
+ restoreWorkspace();
stateRestore = RESTORE_SUCCESSFUL;
endTime = Calendar.getInstance();
@@ -164,7 +183,7 @@
stateRestore = RESTORE_FAIL;
restoreException = t;
- log.error("The restore was fail", t);
+ throw new RepositoryRestoreExeption(t.getMessage(), t);
}
}
@@ -174,7 +193,7 @@
* @throws Throwable
* will be generated the Throwable
*/
- protected void restore() throws Throwable
+ protected void restoreWorkspace() throws Throwable
{
boolean restored = true;
RepositoryImpl repository =
(RepositoryImpl)repositoryService.getRepository(repositoryName);
Show replies by date