[ 
https://issues.apache.org/jira/browse/GEODE-3801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16215932#comment-16215932
 ] 

ASF GitHub Bot commented on GEODE-3801:
---------------------------------------

nreich commented on a change in pull request #963: GEODE-3801: Use hardlinks 
for backup oplog files
URL: https://github.com/apache/geode/pull/963#discussion_r146405920
 
 

 ##########
 File path: 
geode-core/src/main/java/org/apache/geode/internal/cache/BackupManager.java
 ##########
 @@ -569,6 +570,28 @@ private void createBackupDir(File backupDir) throws 
IOException {
     }
   }
 
+  private void backupOplog(File targetDir, Oplog oplog) throws IOException {
+    File crfFile = oplog.getCrfFile();
+    backupFile(targetDir, crfFile);
+
+    File drfFile = oplog.getDrfFile();
+    backupFile(targetDir, drfFile);
+
+    oplog.finishKrf();
+    File krfFile = oplog.getKrfFile();
+    backupFile(targetDir, krfFile);
+  }
+
+  private void backupFile(File targetDir, File file) throws IOException {
+    if (file != null && file.exists())
+      try {
+        Files.createLink(targetDir.toPath().resolve(file.getName()), 
file.toPath());
 
 Review comment:
   The use of a hard link here is to replace the existing logic of making a 
copy of the original file for the backup. Deletion of the original file cannot 
be allowed to result in loss of that file in the backup location and thus a 
symbolic link cannot be used in this case. Hard links can be used here in place 
of copying the file only because the Oplog files being copied are guaranteed to 
be read-only.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


> Utilize hard-links to copy files during backups
> -----------------------------------------------
>
>                 Key: GEODE-3801
>                 URL: https://issues.apache.org/jira/browse/GEODE-3801
>             Project: Geode
>          Issue Type: Sub-task
>          Components: persistence
>            Reporter: Nick Reich
>            Assignee: Nick Reich
>
> Instead of copying files which are read-only during a backup, create a 
> hard-link to the file in the backup location. This prevents losing the file 
> if the original location is deleted, but does not require make a new copy of 
> the file. If hard-links cannot be created, revert to the existing copying 
> mechanic.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to