This is an automated email from the ASF dual-hosted git repository. rishabhdaim pushed a commit to branch OAK-12289 in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
commit 84f58991ce75983cc94beabb63ef05fb52a942bd Author: rishabhdaim <[email protected]> AuthorDate: Tue Jun 30 17:38:19 2026 +0530 OAK-12289 : disabled blob id tracking for document node store --- oak-doc/src/site/markdown/osgi_config.md | 7 ++++--- oak-doc/src/site/markdown/plugins/blobstore.md | 8 +++++--- .../jackrabbit/oak/plugins/document/DocumentNodeStoreService.java | 2 +- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/oak-doc/src/site/markdown/osgi_config.md b/oak-doc/src/site/markdown/osgi_config.md index 89259d9fb0..6ee3e47fd0 100644 --- a/oak-doc/src/site/markdown/osgi_config.md +++ b/oak-doc/src/site/markdown/osgi_config.md @@ -229,8 +229,9 @@ blobTrackSnapshotIntervalInSecs (long) - 0 deletions will be visible to other cluster nodes or repositories connected to the shared DatStore after this. This should be less than the blobGcMaxAgeInSecs parameter above and the frequency of blob gc. See [Blob tracker][blobtracker]. -A value of `0` (the default since Oak 2.4.0) disables blob ID tracking entirely for the Segment Node Store. To enable tracking, -set this to a positive value (e.g. `43200` for 12 hours). Note that DocumentNodeStore defaults to `43200`. +A value of `0` disables blob ID tracking entirely. This has been the default for both SegmentNodeStore and +DocumentNodeStore since Oak 2.4.0. +To enable tracking, set this to a positive value (e.g. `43200` for 12 hours). <a name="document-node-store"></a> #### DocumentNodeStore @@ -262,7 +263,7 @@ docChildrenCachePercentage | 0 (was 3 until 1.5.6) | Percentage of `cache` alloc cacheSegmentCount | 16 | The number of segments in the LIRS cache | 1.0.15, 1.2.3, 1.3.0 cacheStackMoveDistance | 16 | The delay to move entries to the head of the queue in the LIRS cache | 1.0.15, 1.2.3, 1.3.0 sharedDSRepoId | "" | Custom SharedDataStore repositoryId. Used when custom blobstore configured. Should be unique among the repositories sharing the datastore. | 1.2.11 -blobTrackSnapshotIntervalInSecs | 43200 (12 hrs) | The blob ids cached/tracked locally are synchronized with the DataStore at this interval. Any additions and deletions will be visible to other cluster nodes or repositories connected to the shared DatStore after this. This should be less than the blobGcMaxAgeInSecs parameter above and the frequency of blob gc. See [Blob tracker][blobtracker]. | 1.5.6 +blobTrackSnapshotIntervalInSecs | 0 | The blob ids cached/tracked locally are synchronized with the DataStore at this interval. Any additions and deletions will be visible to other cluster nodes or repositories connected to the shared DatStore after this. This should be less than the blobGcMaxAgeInSecs parameter above and the frequency of blob gc. A value of `0` disables blob ID tracking (default since Oak 2.4.0). See [Blob tracker][blobtracker]. | 1.5.6 updateLimit | 100000 | The number of updates kept in memory until changes are written to a branch in the DocumentStore | 1.7.0 leaseCheckMode | STRICT | The lease check mode. `STRICT` is the default and will stop the DocumentNodeStore as soon as the lease expires. `LENIENT` will give the background lease update a chance to renew the lease even when the lease expired. This mode is only recommended for development, e.g. when debugging an application and the lease may expire when the JVM is stopped at a breakpoint. | 1.9.6 documentStoreType | MONGO | Set to "RDB" for `RDBDocumentStore`; will require a configured Sling DataSource called `oak`. | 1.0 diff --git a/oak-doc/src/site/markdown/plugins/blobstore.md b/oak-doc/src/site/markdown/plugins/blobstore.md index 85773f6df4..e9e190d4c5 100644 --- a/oak-doc/src/site/markdown/plugins/blobstore.md +++ b/oak-doc/src/site/markdown/plugins/blobstore.md @@ -237,9 +237,11 @@ configured NodeStore services. **Default behavior by NodeStore:** * **SegmentNodeStore** (`SegmentNodeStoreService` / `SegmentNodeStoreFactory`): blob ID tracking is **disabled by - default** (`blobTrackSnapshotIntervalInSecs = 0`). To enable it, set a positive value such as `43200` (12 hours). -* **DocumentNodeStore**: blob ID tracking is **enabled by default** with a 12-hour sync interval - (`blobTrackSnapshotIntervalInSecs = 43200`). + default** (`blobTrackSnapshotIntervalInSecs = 0`, default since Oak 2.4.0). To enable it, set a positive value such as + `43200` (12 hours). +* **DocumentNodeStore**: blob ID tracking is **disabled by default** + (`blobTrackSnapshotIntervalInSecs = 0`, default since Oak 2.4.0). To enable it, set a positive value such as `43200` + (12 hours). When tracking is disabled (interval = 0), blob IDs are not cached locally and the warnings described below do not apply. The full blob ID list is always retrieved directly from the DataStore during GC. diff --git a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java index d73fd4db26..5ff80c2634 100644 --- a/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java +++ b/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/DocumentNodeStoreService.java @@ -195,7 +195,7 @@ public class DocumentNodeStoreService { /** * Default interval for taking snapshots of locally tracked blob ids. */ - static final long DEFAULT_BLOB_SNAPSHOT_INTERVAL = 12 * 60 * 60; + static final long DEFAULT_BLOB_SNAPSHOT_INTERVAL = 0L; /** * Feature toggle name to enable prefetch operation in DocumentStore
