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)) {


Reply via email to