mreutegg commented on code in PR #1892:
URL: https://github.com/apache/jackrabbit-oak/pull/1892#discussion_r2212878500


##########
oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/tool/SegmentStoreMigrator.java:
##########
@@ -162,9 +162,13 @@ private void migrateArchives() throws IOException, 
ExecutionException, Interrupt
         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);
+            // last archive could have been updated since last copy and needs 
to be recopied
+            try {
+                targetArchives.sort(String::compareTo);
+                targetArchives.remove(targetArchives.size() - 1);
+            } catch (UnsupportedOperationException e) {

Review Comment:
   > But more generally, yes the list may be fully immutable or some other type 
that doesn't allow resizing. Why copy it into an ArrayList instead of just 
always using subList for example?
   
   Getting a sub list from an immutable list should work, but 
SegmentStoreMigrator also sorts the list and that is not possible when the list 
is immutable.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: oak-dev-unsubscr...@jackrabbit.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to