diff --git a/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureArchiveManager.java b/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureArchiveManager.java index 7e2d28b9e8..8cc33a0e18 100644 --- a/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureArchiveManager.java +++ b/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/AzureArchiveManager.java @@ -56,6 +56,8 @@ public class AzureArchiveManager implements SegmentArchiveManager { private static final Logger log = LoggerFactory.getLogger(AzureSegmentArchiveReader.class); + private static boolean SKIP_ARCHIVE_CLOSED_CHECK = Boolean.getBoolean("segment.azure.skipArchiveClosedCheck"); + protected final CloudBlobDirectory cloudBlobDirectory; protected final IOMonitor ioMonitor; @@ -110,7 +112,7 @@ public class AzureArchiveManager implements SegmentArchiveManager { public SegmentArchiveReader open(String archiveName) throws IOException { try { CloudBlobDirectory archiveDirectory = getDirectory(archiveName); - if (!archiveDirectory.getBlockBlobReference("closed").exists()) { + if (!archiveDirectory.getBlockBlobReference("closed").exists() && !SKIP_ARCHIVE_CLOSED_CHECK) { throw new IOException("The archive " + archiveName + " hasn't been closed correctly."); } return new AzureSegmentArchiveReader(archiveDirectory, ioMonitor);