You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by ad...@apache.org on 2020/12/02 14:07:45 UTC

svn commit: r1884035 - in /jackrabbit/oak/trunk: oak-segment-aws/src/main/java/org/apache/jackrabbit/oak/segment/aws/tool/AwsSegmentStoreMigrator.java oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/tool/SegmentStoreMigrator.java

Author: adulceanu
Date: Wed Dec  2 14:07:44 2020
New Revision: 1884035

URL: http://svn.apache.org/viewvc?rev=1884035&view=rev
Log:
OAK-9293 - SegmentStoreMigrator appendMode should recopy the last archive
Contribution by Ieran Draghiciu

Modified:
    jackrabbit/oak/trunk/oak-segment-aws/src/main/java/org/apache/jackrabbit/oak/segment/aws/tool/AwsSegmentStoreMigrator.java
    jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/tool/SegmentStoreMigrator.java

Modified: jackrabbit/oak/trunk/oak-segment-aws/src/main/java/org/apache/jackrabbit/oak/segment/aws/tool/AwsSegmentStoreMigrator.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-aws/src/main/java/org/apache/jackrabbit/oak/segment/aws/tool/AwsSegmentStoreMigrator.java?rev=1884035&r1=1884034&r2=1884035&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-aws/src/main/java/org/apache/jackrabbit/oak/segment/aws/tool/AwsSegmentStoreMigrator.java (original)
+++ jackrabbit/oak/trunk/oak-segment-aws/src/main/java/org/apache/jackrabbit/oak/segment/aws/tool/AwsSegmentStoreMigrator.java Wed Dec  2 14:07:44 2020
@@ -153,6 +153,13 @@ public class AwsSegmentStoreMigrator imp
         SegmentArchiveManager targetManager = target.createArchiveManager(false, false, new IOMonitorAdapter(),
                 new FileStoreMonitorAdapter(), new RemoteStoreMonitorAdapter());
         List<String> targetArchives = targetManager.listArchives();
+
+        if (appendMode && !targetArchives.isEmpty()) {
+            //last archive can be updated since last copy and needs to be recopied
+            String lastArchive = targetArchives.get(targetArchives.size() - 1);
+            targetArchives.remove(lastArchive);
+        }
+
         for (String archiveName : sourceManager.listArchives()) {
             log.info("{}/{} -> {}", sourceName, archiveName, targetName);
             if (appendMode && targetArchives.contains(archiveName)) {

Modified: jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/tool/SegmentStoreMigrator.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/tool/SegmentStoreMigrator.java?rev=1884035&r1=1884034&r2=1884035&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/tool/SegmentStoreMigrator.java (original)
+++ jackrabbit/oak/trunk/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/tool/SegmentStoreMigrator.java Wed Dec  2 14:07:44 2020
@@ -155,6 +155,13 @@ public class SegmentStoreMigrator implem
         SegmentArchiveManager targetManager = target.createArchiveManager(false, false, new IOMonitorAdapter(),
                 new FileStoreMonitorAdapter(), new RemoteStoreMonitorAdapter());
         List<String> targetArchives = targetManager.listArchives();
+
+        if (appendMode && !targetArchives.isEmpty()) {
+            //last archive can be updated since last copy and needs to be recopied
+            String lastArchive = targetArchives.get(targetArchives.size() - 1);
+            targetArchives.remove(lastArchive);
+        }
+
         for (String archiveName : sourceManager.listArchives()) {
             log.info("{}/{} -> {}", sourceName, archiveName, targetName);
             if (appendMode && targetArchives.contains(archiveName)) {