| | |
| | | StringBuilder failureReason = new StringBuilder(); |
| | | if (! LockFileManager.acquireExclusiveLock(lockFile, failureReason)) |
| | | { |
| | | LocalizableMessage message = ERR_RESTOREDB_CANNOT_LOCK_BACKEND.get( |
| | | backend.getBackendID(), String.valueOf(failureReason)); |
| | | logError(message); |
| | | logger.error(ERR_RESTOREDB_CANNOT_LOCK_BACKEND, backend.getBackendID(), String.valueOf(failureReason)); |
| | | return false; |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | LocalizableMessage message = ERR_RESTOREDB_CANNOT_LOCK_BACKEND.get( |
| | | backend.getBackendID(), getExceptionMessage(e)); |
| | | logError(message); |
| | | logger.error(ERR_RESTOREDB_CANNOT_LOCK_BACKEND, backend.getBackendID(), getExceptionMessage(e)); |
| | | return false; |
| | | } |
| | | return true; |
| | |
| | | StringBuilder failureReason = new StringBuilder(); |
| | | if (! LockFileManager.releaseLock(lockFile, failureReason)) |
| | | { |
| | | LocalizableMessage message = WARN_RESTOREDB_CANNOT_UNLOCK_BACKEND.get( |
| | | backend.getBackendID(), String.valueOf(failureReason)); |
| | | logError(message); |
| | | logger.warn(WARN_RESTOREDB_CANNOT_UNLOCK_BACKEND, backend.getBackendID(), String.valueOf(failureReason)); |
| | | return false; |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | LocalizableMessage message = WARN_RESTOREDB_CANNOT_UNLOCK_BACKEND.get( |
| | | backend.getBackendID(), getExceptionMessage(e)); |
| | | logError(message); |
| | | logger.warn(WARN_RESTOREDB_CANNOT_UNLOCK_BACKEND, backend.getBackendID(), getExceptionMessage(e)); |
| | | return false; |
| | | } |
| | | return true; |
| | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | LocalizableMessage message = ERR_RESTOREDB_CANNOT_READ_BACKUP_DIRECTORY.get( |
| | | String.valueOf(backupDirectory), getExceptionMessage(e)); |
| | | logError(message); |
| | | logger.error(ERR_RESTOREDB_CANNOT_READ_BACKUP_DIRECTORY, String.valueOf(backupDirectory), getExceptionMessage(e)); |
| | | return TaskState.STOPPED_BY_ERROR; |
| | | } |
| | | |
| | |
| | | BackupInfo backupInfo = backupDir.getBackupInfo(backupID); |
| | | if (backupInfo == null) |
| | | { |
| | | LocalizableMessage message = |
| | | ERR_RESTOREDB_INVALID_BACKUP_ID.get( |
| | | backupID, String.valueOf(backupDirectory)); |
| | | logError(message); |
| | | logger.error(ERR_RESTOREDB_INVALID_BACKUP_ID, backupID, String.valueOf(backupDirectory)); |
| | | return TaskState.STOPPED_BY_ERROR; |
| | | } |
| | | } |
| | |
| | | BackupInfo latestBackup = backupDir.getLatestBackup(); |
| | | if (latestBackup == null) |
| | | { |
| | | LocalizableMessage message = |
| | | ERR_RESTOREDB_NO_BACKUPS_IN_DIRECTORY.get( |
| | | String.valueOf(backupDirectory)); |
| | | logError(message); |
| | | logger.error(ERR_RESTOREDB_NO_BACKUPS_IN_DIRECTORY, String.valueOf(backupDirectory)); |
| | | return TaskState.STOPPED_BY_ERROR; |
| | | } |
| | | else |
| | |
| | | catch (ConfigException e) |
| | | { |
| | | logger.traceException(e); |
| | | LocalizableMessage message = ERR_RESTOREDB_NO_BACKENDS_FOR_DN.get( |
| | | String.valueOf(backupDirectory), configEntryDN.toString()); |
| | | logError(message); |
| | | logger.error(ERR_RESTOREDB_NO_BACKENDS_FOR_DN, String.valueOf(backupDirectory), configEntryDN.toString()); |
| | | return TaskState.STOPPED_BY_ERROR; |
| | | } |
| | | |
| | |
| | | |
| | | if (! backend.supportsRestore()) |
| | | { |
| | | LocalizableMessage message = |
| | | ERR_RESTOREDB_CANNOT_RESTORE.get(backend.getBackendID()); |
| | | logError(message); |
| | | logger.error(ERR_RESTOREDB_CANNOT_RESTORE, backend.getBackendID()); |
| | | return TaskState.STOPPED_BY_ERROR; |
| | | } |
| | | |
| | |
| | | { |
| | | logger.traceException(e); |
| | | |
| | | logError(e.getMessageObject()); |
| | | logger.error(e.getMessageObject()); |
| | | return TaskState.STOPPED_BY_ERROR; |
| | | } |
| | | } |
| | |
| | | catch (DirectoryException de) |
| | | { |
| | | DirectoryServer.notifyRestoreEnded(backend, restoreConfig, false); |
| | | LocalizableMessage message = ERR_RESTOREDB_ERROR_DURING_BACKUP.get( |
| | | backupID, backupDir.getPath(), de.getMessageObject()); |
| | | logError(message); |
| | | logger.error(ERR_RESTOREDB_ERROR_DURING_BACKUP, backupID, backupDir.getPath(), de.getMessageObject()); |
| | | errorsEncountered = true; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | DirectoryServer.notifyRestoreEnded(backend, restoreConfig, false); |
| | | LocalizableMessage message = ERR_RESTOREDB_ERROR_DURING_BACKUP.get( |
| | | backupID, backupDir.getPath(), getExceptionMessage(e)); |
| | | logError(message); |
| | | logger.error(ERR_RESTOREDB_ERROR_DURING_BACKUP, backupID, backupDir.getPath(), getExceptionMessage(e)); |
| | | errorsEncountered = true; |
| | | } |
| | | } |
| | |
| | | { |
| | | logger.traceException(e); |
| | | |
| | | logError(e.getMessageObject()); |
| | | logger.error(e.getMessageObject()); |
| | | errorsEncountered = true; |
| | | } |
| | | } |