You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ab...@apache.org on 2018/03/08 18:12:55 UTC
[geode] branch release/1.5.0 updated: GEODE-4800: Fix handling orf
relative paths when providing backpu baseline dir (#1581)
This is an automated email from the ASF dual-hosted git repository.
abaker pushed a commit to branch release/1.5.0
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/release/1.5.0 by this push:
new be18b0f GEODE-4800: Fix handling orf relative paths when providing backpu baseline dir (#1581)
be18b0f is described below
commit be18b0f49619070cb88befadcb0b267cbe0bcc95
Author: Nick Reich <nr...@pivotal.io>
AuthorDate: Thu Mar 8 10:11:34 2018 -0800
GEODE-4800: Fix handling orf relative paths when providing backpu baseline dir (#1581)
(cherry picked from commit 9ac583970fae2ac115947af7b3e9b14755b71a25)
---
.../apache/geode/internal/cache/backup/BackupWriter.java | 3 +++
.../geode/internal/cache/backup/BackupWriterFactory.java | 2 +-
.../internal/cache/backup/FileSystemBackupWriter.java | 5 +++++
.../internal/cache/backup/BackupWriterFactoryTest.java | 15 +++++++++++++++
4 files changed, 24 insertions(+), 1 deletion(-)
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupWriter.java b/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupWriter.java
index 328e83c..b465b0e 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupWriter.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupWriter.java
@@ -15,6 +15,7 @@
package org.apache.geode.internal.cache.backup;
import java.io.IOException;
+import java.nio.file.Path;
public interface BackupWriter {
String INCOMPLETE_BACKUP_FILE = "INCOMPLETE_BACKUP_FILE";
@@ -27,4 +28,6 @@ public interface BackupWriter {
void backupFiles(BackupDefinition backupDefinition) throws IOException;
+ Path getBaselineDirectory();
+
}
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupWriterFactory.java b/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupWriterFactory.java
index 7111edc..9f29e08 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupWriterFactory.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/backup/BackupWriterFactory.java
@@ -30,7 +30,7 @@ public enum BackupWriterFactory {
String baselineDir = config.getBaselineDirectory();
FileSystemIncrementalBackupLocation incrementalBackupLocation = null;
if (baselineDir != null) {
- File baseline = new File(baselineDir);
+ File baseline = new File(baselineDir).getAbsoluteFile();
incrementalBackupLocation = new FileSystemIncrementalBackupLocation(baseline, memberId);
}
return new FileSystemBackupWriter(targetDir, incrementalBackupLocation);
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/backup/FileSystemBackupWriter.java b/geode-core/src/main/java/org/apache/geode/internal/cache/backup/FileSystemBackupWriter.java
index 1698fc3..aadc143 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/backup/FileSystemBackupWriter.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/backup/FileSystemBackupWriter.java
@@ -67,6 +67,11 @@ public class FileSystemBackupWriter implements BackupWriter {
Files.delete(backupDirectory.resolve(INCOMPLETE_BACKUP_FILE));
}
+ @Override
+ public Path getBaselineDirectory() {
+ return incrementalBaselineLocation.getMemberBackupLocationDir().getParent();
+ }
+
private void backupAllFilesets(BackupDefinition backupDefinition) throws IOException {
RestoreScript restoreScript = backupDefinition.getRestoreScript();
backupDiskInitFiles(backupDefinition.getDiskInitFiles());
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/backup/BackupWriterFactoryTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/backup/BackupWriterFactoryTest.java
index 884104e..7b0d304 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/backup/BackupWriterFactoryTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/backup/BackupWriterFactoryTest.java
@@ -22,6 +22,8 @@ import static org.apache.geode.internal.cache.backup.FileSystemBackupWriterConfi
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import java.nio.file.Path;
+import java.nio.file.Paths;
import java.util.Properties;
import org.junit.Test;
@@ -60,4 +62,17 @@ public class BackupWriterFactoryTest {
.isInstanceOf(FileSystemBackupWriter.class);
}
+ @Test
+ public void returnedWriterHasAbsolutePathToBaselineDirectory() {
+ Properties properties = new Properties();
+ properties.setProperty(TYPE, FILE_SYSTEM.getType());
+ properties.setProperty(TIMESTAMP, "yyyy-MM-dd-HH-mm-ss");
+ properties.setProperty(TARGET_DIR, "targetDir");
+ properties.setProperty(BASELINE_DIR, "baselineDir");
+
+ BackupWriter writer = FILE_SYSTEM.createWriter(properties, "memberId");
+
+ Path absoluteBaseLineDirectory = Paths.get("baselineDir").toAbsolutePath();
+ assertThat(writer.getBaselineDirectory()).isAbsolute().isEqualTo(absoluteBaseLineDirectory);
+ }
}
--
To stop receiving notification emails like this one, please contact
abaker@apache.org.