This is an automated email from the ASF dual-hosted git repository. miroslav pushed a commit to branch issue/OAK-10652 in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
commit 69887c9ed51c2b94eba301ad1d763b6447bf5a8a Author: Miroslav Smiljanic <[email protected]> AuthorDate: Thu Feb 15 11:28:15 2024 +0100 OAK-10652 obrain lock in target SegmentNodeStorePersistence --- .../jackrabbit/oak/segment/azure/tool/SegmentStoreMigrator.java | 5 +++++ .../jackrabbit/oak/segment/azure/tool/SegmentCopyTestBase.java | 4 ---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/tool/SegmentStoreMigrator.java b/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/tool/SegmentStoreMigrator.java index 997cf51897..43677b62ef 100644 --- a/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/tool/SegmentStoreMigrator.java +++ b/oak-segment-azure/src/main/java/org/apache/jackrabbit/oak/segment/azure/tool/SegmentStoreMigrator.java @@ -33,6 +33,7 @@ import org.apache.jackrabbit.oak.segment.spi.monitor.RemoteStoreMonitorAdapter; import org.apache.jackrabbit.oak.segment.spi.persistence.GCJournalFile; import org.apache.jackrabbit.oak.segment.spi.persistence.JournalFileReader; import org.apache.jackrabbit.oak.segment.spi.persistence.JournalFileWriter; +import org.apache.jackrabbit.oak.segment.spi.persistence.RepositoryLock; import org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveEntry; import org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveManager; import org.apache.jackrabbit.oak.segment.spi.persistence.SegmentArchiveReader; @@ -88,10 +89,14 @@ public class SegmentStoreMigrator implements Closeable { } public void migrate() throws IOException, ExecutionException, InterruptedException { + RepositoryLock repositoryLock = target.lockRepository(); + RETRIER.execute(this::migrateJournal); RETRIER.execute(this::migrateGCJournal); RETRIER.execute(this::migrateManifest); migrateArchives(); + + repositoryLock.unlock(); } private void migrateJournal() throws IOException { diff --git a/oak-segment-azure/src/test/java/oak/apache/jackrabbit/oak/segment/azure/tool/SegmentCopyTestBase.java b/oak-segment-azure/src/test/java/oak/apache/jackrabbit/oak/segment/azure/tool/SegmentCopyTestBase.java index a732dbeb36..95ea2a63d1 100644 --- a/oak-segment-azure/src/test/java/oak/apache/jackrabbit/oak/segment/azure/tool/SegmentCopyTestBase.java +++ b/oak-segment-azure/src/test/java/oak/apache/jackrabbit/oak/segment/azure/tool/SegmentCopyTestBase.java @@ -102,8 +102,6 @@ public abstract class SegmentCopyTestBase { SegmentNodeStorePersistence srcPersistence = getSrcPersistence(); SegmentNodeStorePersistence destPersistence = getDestPersistence(); - RepositoryLock destRepositoryLock = destPersistence.lockRepository(); - String srcPathOrUri = getSrcPathOrUri(); String destPathOrUri = getDestPathOrUri(); @@ -123,8 +121,6 @@ public abstract class SegmentCopyTestBase { checkJournal(srcPersistence, destPersistence); checkGCJournal(srcPersistence, destPersistence); checkManifest(srcPersistence, destPersistence); - - destRepositoryLock.unlock(); } private int runSegmentCopy(SegmentNodeStorePersistence srcPersistence, SegmentNodeStorePersistence destPersistence,
