rishabhdaim opened a new pull request, #3185: URL: https://github.com/apache/jackrabbit-oak/pull/3185
Segment Tar's OAK-12290 toggle currently controls shared CacheBuilder state, so it can change the maintenance mode of caches constructed by other bundles. This change adds per-cache SYNC/ASYNC selection, keeps ASYNC as the default, and scopes the existing toggle to Segment Tar's segment and record caches. DocumentNodeStoreBuilder can select a mode independently for each CacheType, providing the configuration needed for maintenance-mode benchmarks. Settings apply when a cache is built. Refreshing caches continue to use the asynchronous executor, and zero-capacity caches continue to evict inline. The former shared toggle fields remain deprecated for binary compatibility and no longer control cache construction. The exported cache API package version is incremented to 1.2.0. ### Stack Based on #3174, which is based on #3176. The SYNC/ASYNC benchmark and entry-metadata implementation will follow in separate dependent PRs. ### Validation Using the java17 alias: - CacheBuilderMaintenanceTest: 13 tests passed. - SegmentCacheMaintenanceTest, SegmentCacheTest, and RecordCacheTest: 18 tests, no failures, one existing skip. - DocumentNodeStoreBuilderTest: 12 tests passed. - oak-core-spi baseline: zero errors or warnings; oak-segment-tar package build passed. ### Issues - [OAK-12436](https://issues.apache.org/browse/OAK-12436): per-cache maintenance policy. - [OAK-12425](https://issues.apache.org/browse/OAK-12425): DocumentNodeStore Caffeine migration. - Follow-ups: [OAK-12437](https://issues.apache.org/browse/OAK-12437) and [OAK-12438](https://issues.apache.org/browse/OAK-12438). Co-Authored-By: OpenAI Codex <[email protected]> -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
