This is an automated email from the ASF dual-hosted git repository. rishabhdaim pushed a commit to branch OAK-12288 in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
commit d4e5152b6a271ac93abb44700613618b7c86dde5 Author: rishabhdaim <[email protected]> AuthorDate: Tue Jun 30 13:41:51 2026 +0530 OAK-12288 : disabled blob id tracking for segment node store --- .../oak/plugins/blob/datastore/BlobIdTrackerTest.java | 13 +++++++++++++ .../jackrabbit/oak/segment/SegmentNodeStoreFactory.java | 2 +- .../jackrabbit/oak/segment/SegmentNodeStoreService.java | 2 +- .../oak/segment/osgi/SegmentNodeStoreFactoryTest.java | 16 ++++++++++++++++ .../oak/segment/osgi/SegmentNodeStoreServiceTest.java | 4 ++-- 5 files changed, 33 insertions(+), 4 deletions(-) diff --git a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/BlobIdTrackerTest.java b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/BlobIdTrackerTest.java index f436d0358a..81d761194d 100644 --- a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/BlobIdTrackerTest.java +++ b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/BlobIdTrackerTest.java @@ -229,6 +229,19 @@ public class BlobIdTrackerTest { } } + @Test + public void zeroSnapshotIntervalBuildsNoOpTracker() throws Exception { + LOG.info("In zeroSnapshotIntervalBuildsNoOpTracker"); + + BlobIdTracker noOpTracker = BlobIdTracker.build(root.getAbsolutePath(), repoId + "-noop", 0, dataStore); + closer.register(noOpTracker); + + noOpTracker.add("id1"); + noOpTracker.add(java.util.Collections.singletonList("id2").iterator()); + + assertTrue("No-op tracker must return empty iterator from get()", !noOpTracker.get().hasNext()); + } + @Test public void externalAddOffline() throws Exception { LOG.info("In externalAddOffline"); diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreFactory.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreFactory.java index 9444acc1b8..8de93777de 100644 --- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreFactory.java +++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreFactory.java @@ -80,7 +80,7 @@ public class SegmentNodeStoreFactory { private final Logger log = LoggerFactory.getLogger(getClass()); - private static final long DEFAULT_BLOB_SNAPSHOT_INTERVAL = 12 * 60 * 60; + private static final long DEFAULT_BLOB_SNAPSHOT_INTERVAL = 0L; private static final long DEFAULT_BLOB_GC_MAX_AGE = 24 * 60 * 60; diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreService.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreService.java index ab8ab1dd96..1842cb85f2 100644 --- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreService.java +++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/SegmentNodeStoreService.java @@ -80,7 +80,7 @@ public class SegmentNodeStoreService { // TODO(frm) This is only exposed to tests. Should it be removed? public static final String REPOSITORY_HOME_DIRECTORY = "repository.home"; - private static final long DEFAULT_BLOB_SNAPSHOT_INTERVAL = 12 * 60 * 60; + private static final long DEFAULT_BLOB_SNAPSHOT_INTERVAL = 0L; private static final long DEFAULT_BLOB_GC_MAX_AGE = 24 * 60 * 60; diff --git a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/osgi/SegmentNodeStoreFactoryTest.java b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/osgi/SegmentNodeStoreFactoryTest.java index d1708c4127..a3304ad71c 100644 --- a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/osgi/SegmentNodeStoreFactoryTest.java +++ b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/osgi/SegmentNodeStoreFactoryTest.java @@ -46,6 +46,14 @@ public class SegmentNodeStoreFactoryTest { .withBooleanType() .withValue("false") .check()); + assertTrue(cd.hasProperty("blobGcMaxAgeInSecs") + .withLongType() + .withValue("86400") + .check()); + assertTrue(cd.hasProperty("blobTrackSnapshotIntervalInSecs") + .withLongType() + .withValue("0") + .check()); assertTrue(cd.hasReference("blobStore") .withInterface("org.apache.jackrabbit.oak.spi.blob.BlobStore") .withOptionalUnaryCardinality() @@ -97,6 +105,14 @@ public class SegmentNodeStoreFactoryTest { .withBooleanType() .withDefaultValue("false") .check()); + assertTrue(ocd.hasAttributeDefinition("blobGcMaxAgeInSecs") + .withLongType() + .withDefaultValue("86400") + .check()); + assertTrue(ocd.hasAttributeDefinition("blobTrackSnapshotIntervalInSecs") + .withLongType() + .withDefaultValue("0") + .check()); } } diff --git a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/osgi/SegmentNodeStoreServiceTest.java b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/osgi/SegmentNodeStoreServiceTest.java index 3a45c47db2..135a9f17da 100644 --- a/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/osgi/SegmentNodeStoreServiceTest.java +++ b/oak-segment-tar/src/test/java/org/apache/jackrabbit/oak/segment/osgi/SegmentNodeStoreServiceTest.java @@ -115,7 +115,7 @@ public class SegmentNodeStoreServiceTest { .check()); assertTrue(cd.hasProperty("blobTrackSnapshotIntervalInSecs") .withLongType() - .withValue("43200") + .withValue("0") .check()); assertTrue(cd.hasReference("blobStore") .withInterface("org.apache.jackrabbit.oak.spi.blob.BlobStore") @@ -236,7 +236,7 @@ public class SegmentNodeStoreServiceTest { .check()); assertTrue(ocd.hasAttributeDefinition("blobTrackSnapshotIntervalInSecs") .withLongType() - .withDefaultValue("43200") + .withDefaultValue("0") .check()); }
