Author: mduerig
Date: Mon Nov 14 12:39:39 2016
New Revision: 1769614
URL: http://svn.apache.org/viewvc?rev=1769614&view=rev
Log:
OAK-5069: Backup fails when called from RepositoryManagementMBean#startBackup
Add configuration setting for backup directory
Credits to Andrei Dulceanu for the patch
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreService.java
Modified:
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreService.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreService.java?rev=1769614&r1=1769613&r2=1769614&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreService.java
(original)
+++
jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreService.java
Mon Nov 14 12:39:39 2016
@@ -255,6 +255,13 @@ public class SegmentNodeStoreService ext
"By default large binary content would be stored within
segment tar files"
)
public static final String CUSTOM_BLOB_STORE = "customBlobStore";
+
+ @Property(
+ label = "Backup Directory",
+ description="Directory location for storing repository backups. If
not set, defaults to" +
+ " 'segmentstore-backup' subdirectory under
'repository.home'."
+ )
+ public static final String BACKUP_DIRECTORY = "repository.backup.dir";
private final Logger log = LoggerFactory.getLogger(getClass());
@@ -612,7 +619,7 @@ public class SegmentNodeStoreService ext
registrations.add(registerMBean(
whiteboard,
FileStoreBackupRestoreMBean.class,
- new FileStoreBackupRestoreImpl(segmentNodeStore,
store.getRevisions(), store.getReader(), getDirectory(), executor),
+ new FileStoreBackupRestoreImpl(segmentNodeStore,
store.getRevisions(), store.getReader(), getBackupDirectory(), executor),
FileStoreBackupRestoreMBean.TYPE, "Segment node store
backup/restore"
));
@@ -676,6 +683,16 @@ public class SegmentNodeStoreService ext
private File getDirectory() {
return new File(getBaseDirectory(), "segmentstore");
}
+
+ private File getBackupDirectory() {
+ String backupDirectory = property(BACKUP_DIRECTORY);
+
+ if (backupDirectory != null) {
+ return new File(backupDirectory);
+ }
+
+ return new File(getBaseDirectory(), "segmentstore-backup");
+ }
private String getMode() {
String mode = property(MODE);