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