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