Skip to content

OAK-12145 : add compatibility tests for Caffeine migration (PR 2807)#2811

Merged
rishabhdaim merged 5 commits intotrunkfrom
OAK-12145
Mar 28, 2026
Merged

OAK-12145 : add compatibility tests for Caffeine migration (PR 2807)#2811
rishabhdaim merged 5 commits intotrunkfrom
OAK-12145

Conversation

@rishabhdaim
Copy link
Copy Markdown
Contributor

Summary

Adds implementation-independent compatibility tests for every class touched by the Guava-to-Caffeine cache migration in OAK-11946 / PR #2807.

All new tests reference only Oak-level types (CacheLIRS, CacheStats, DiffCache, etc.) — no direct imports of org.apache.jackrabbit.guava.common.cache.* or com.github.benmanes.caffeine.cache.*. The same test suite can be cherry-picked onto OAK-11946 and run unchanged; any failure there is a migration compatibility gap, not a test defect.

Changes

Module Files What's covered
oak-core-spi AbstractCacheStatsTest, CacheLIRSCompatibilityTest, EmpiricalWeigherTest Stats counters/rates/reset, get/load/eviction callbacks, weigher overhead
oak-store-document DocumentNodeStoreBuilderTest, NodeDocumentCacheTest, MemoryDiffCacheTest, TieredDiffCacheTest, LocalDiffCacheCompatibilityTest, PersistentCacheCompatibilityTest, CommitValueResolverTest, DocumentNodeStoreTest Builder cache selection, cache CRUD, ExecutionException contract, invalidation, persistent cache durability
oak-run-commons DocumentNodeStoreHelperTest getNodesCache return type and asMap contract
oak-search ExtractedTextCacheTest Stats request/miss counts
oak-search-elastic ElasticIndexStatisticsCompatibilityTest Cache hit, background refresh, stale-value-during-refresh, failure retention
oak-segment-tar SegmentCacheTest Loader failure wrapped in ExecutionException
oak-blob BlobIdSetCompatibilityTest Cache miss / file-persistence semantics
oak-blob-cloud S3BackendTest Expiry setters, cache enable/disable, URI cache hit
oak-blob-cloud-azure AzureBlobStoreBackendCompatibilityTest, AzureBlobStoreBackendV8Test Expiry setters, cache enable/disable

Test Plan

  • All new tests pass on this branch (Guava baseline)
  • Cherry-pick to OAK-11946 and verify same tests pass (next step)
  • Any failure on OAK-11946 is treated as a compatibility gap to fix there

Links

Add implementation-independent test coverage for all classes affected
by the Guava-to-Caffeine cache migration in OAK-11946. Tests reference
only Oak-level types (CacheLIRS, CacheStats, DiffCache, etc.) so the
same suite can be cherry-picked to OAK-11946 and run unchanged; any
failure there is a migration compatibility gap.

Modules covered:
- oak-core-spi: AbstractCacheStats, CacheLIRS, EmpiricalWeigher
- oak-store-document: DocumentNodeStoreBuilder, NodeDocumentCache,
  MemoryDiffCache, LocalDiffCache, TieredDiffCache,
  CachingCommitValueResolver, DocumentNodeStore, PersistentCache
- oak-run-commons: DocumentNodeStoreHelper
- oak-search: ExtractedTextCache (stats tracking)
- oak-search-elastic: ElasticIndexStatistics (cache, refresh, failure)
- oak-segment-tar: SegmentCache (loader failure contract)
- oak-blob: BlobIdSet (cache miss / persistence semantics)
- oak-blob-cloud: S3Backend (expiry, cache enable/disable)
- oak-blob-cloud-azure: AzureBlobStoreBackend,
  AzureBlobStoreBackendV8 (expiry, cache enable/disable)
@rishabhdaim rishabhdaim self-assigned this Mar 23, 2026
@rishabhdaim rishabhdaim requested a review from reschke March 23, 2026 05:29
@sonarqubecloud
Copy link
Copy Markdown

@rishabhdaim rishabhdaim merged commit aa09091 into trunk Mar 28, 2026
3 checks passed
@rishabhdaim rishabhdaim deleted the OAK-12145 branch March 28, 2026 06:40
reschke pushed a commit that referenced this pull request Mar 31, 2026
…2811)

* OAK-12145 : add compatibility tests for Caffeine migration (PR 2807)

Add implementation-independent test coverage for all classes affected
by the Guava-to-Caffeine cache migration in OAK-11946. Tests reference
only Oak-level types (CacheLIRS, CacheStats, DiffCache, etc.) so the
same suite can be cherry-picked to OAK-11946 and run unchanged; any
failure there is a migration compatibility gap.

Modules covered:
- oak-core-spi: AbstractCacheStats, CacheLIRS, EmpiricalWeigher
- oak-store-document: DocumentNodeStoreBuilder, NodeDocumentCache,
  MemoryDiffCache, LocalDiffCache, TieredDiffCache,
  CachingCommitValueResolver, DocumentNodeStore, PersistentCache
- oak-run-commons: DocumentNodeStoreHelper
- oak-search: ExtractedTextCache (stats tracking)
- oak-search-elastic: ElasticIndexStatistics (cache, refresh, failure)
- oak-segment-tar: SegmentCache (loader failure contract)
- oak-blob: BlobIdSet (cache miss / persistence semantics)
- oak-blob-cloud: S3Backend (expiry, cache enable/disable)
- oak-blob-cloud-azure: AzureBlobStoreBackend,
  AzureBlobStoreBackendV8 (expiry, cache enable/disable)

* OAK-12145: Clarify cache compatibility test intent

* OAK-12145: Rename S3 compatibility test

* OAK-12145: Make cache compatibility tests behavior-based

* OAK-12145: Fix SegmentCache compatibility assertion
thomasmueller added a commit that referenced this pull request Apr 10, 2026
* OAK-11697: Indexing / query limit / traversal error: improve diagnostics  (#2626)

Extended logging and error message.

---------

Co-authored-by: Thomas Mueller <thomasm@apache.org>

* OAK-12105: run/lucene: update gson dependencies to 2.13.2 (#2758)

* OAK-12103: MongoDocumentStore: improve diagnostics for too large docs in reuest payloads (#2757)

* OAK-12072 : removed Guava's Monitor and Guard (#2721)

* OAK-12072 : removed Guava's Monitor and Guard

* OAK-12072 : added unit cases for ChangeProcessor class

* OAK-11224: remove guava dependencies from POMs (ongoing) - oak-core and oak-jcr (#2760)

* OAK-11267: remove new use of Guava (#2761)

* OAK-12077 : fixed flacky test by increasing sleep time and adding small margin in verification (#2763)

* OAK-12110 Simplify Index Management - take 2 (#2751)

* OAK-12010 Simplified index management (improvements)

* OAK-12010 Simplified index management (improvements)

* OAK-12010 Simplified index management

* OAK-12010 Simplified index management

* OAK-12010 Simplified index management

* OAK-12107: Oak 1.92 Canidate Release Notes

* Issue/oak 12112 unresolved address (#2766)

* OAK-12112 treat DNS issue as transient
---------

Co-authored-by: smiroslav <miroslav@apache.com>

* OAK-12109: MongoDocumentStore: improve diagnostics for too large docs in bulk request payloads (#2764)

* OAK-12107: Oak 1.92 Candidate Release Notes

* OAK-12107: Oak 1.92 Candidate Release Notes

* [maven-release-plugin] prepare release jackrabbit-oak-1.92.0

* [maven-release-plugin] prepare for next development iteration

* OAK-12049 update docs to Oak 1.90.0 (#2677)

* OAK-12121 : add regression tests for offline compaction not persisting gc.log (#2776)

* OAK-12121 : add regression tests for offline compaction not persisting gc.log

* OAK-12121 : ignore tests until fix is applied

* OAK-12115 : add monitor and monitor.guard test coverage for SegmentBu… (#2772)

* OAK-12115 : add monitor and monitor.guard test coverage for SegmentBufferWriterPool

* OAK-12115 : fixed sonar issues

* OAK-12107: Oak 1.92 Doc Update

* OAK-12113: MongoDocumentStore: BsonException should be wrapped as DocumentStoreException (#2771)

* OAK-12119 : offline compaction does not persist compacted head into gc.log (#2779)

* OAK-12119 : offline compaction does not persist compacted head into gc.log

* OAK-12119 : fix cleanup fallback path and rename tests to camelCase

* OAK-12119 : improve test coverage and fix static imports

* OAK-12119 : remove volatile from lastCompactionResult and fix test setup

* OAK-12114: MongoDBExceptionTest add checks for bson compression (#2778)

* OAK-11952: Bump up minimal Java version to 17 (#2697)

* OAK-11952: Bump up minimal Java version to 17 - wip

* OAK-11952: Bump up minimal Java version to 17

* OAK-11952: Bump up minimal Java version to 17 - build.yml

* OAK-12127: Update Derby version to 1.16.x (#2783)

* feat: loadTokenizer uses default tokenizer when none provided (#2767) (#2770)

Co-authored-by: Anton Hosgood <ahosgood1@icloud.com>
Co-authored-by: Anton Hosgood <ahosgood@adobe.com>

* OAK-12122: add fixed seed and improve logging in DataStoreCommandTest (#2781)

* OAK-12122: add fixed seed and improve logging in DataStoreCommandTest

Made-with: Cursor

* Apply suggestion from @rishabhdaim

Co-authored-by: Rishabh Kumar <rishabhdaim1991@gmail.com>

---------

Co-authored-by: Rishabh Kumar <rishabhdaim1991@gmail.com>

* OAK-12108 : remove usage of Guava's Monitor from SegmentBufferWriterPool (#2780)

* OAK-12101 - Skip indexing of very long tags (#2768) (#2769)

* feat: skip long similarity tags

* feat: add tests

* feat: log warning once per minute

* feat: skip long similarity tags for dynamic boosting

* fix: similarity tag constant naming

* feat: add option to disable filtering

* refactor: standardise naming with existing conventions

* feat: silence logs per property

* fix: comment

* feat: add dynamic boost test

* doc: add details to lucene.md

* fix: test name

---------

Co-authored-by: Anton Hosgood <ahosgood1@icloud.com>
Co-authored-by: Anton Hosgood <ahosgood@adobe.com>

* OAK-12129 : improve test coverage for ChangeProcessor stopAndWait behaviour (#2785)

* OAK-12131 : remove Guava SettableFuture usage from FutureUtilsTest (#2787)

* OAK-12132 : remove toCompletableFuture from FutureConverter (#2788)

* OAK-12099 add AGENTS.md (#2745)

* OAK-12099 build dependant moduels

OAK-12099 initial version of AGENTS.md

* OAK-12099 note about AGENTS.md in submodules

* OAK-12099 link AGENTS.md from CLAUDE.md

* Exclude AGENTS.md from the licence header check (same as CONTRIBUTING.md)

* Update pom.xml

* Update AGENTS.md

* OAK-12099: address PR review feedback on AGENTS.md

- Set test coverage requirement to >80%, 100% for security modules
- Add rule: do not weaken existing tests to make builds pass
- Clarify that -DskipTests should only be used for unchanged modules
- Add code review reminder to Git Workflow section

Made-with: Cursor

* OAK-12099: add minimal-code guideline to AGENTS.md (PR review feedback)

Made-with: Cursor

* OAK-12099: add minimal-code guideline to AGENTS.md

---------

Co-authored-by: smiroslav <miroslav@apache.com>
Co-authored-by: Thomas Mueller <mueller@adobe.com>
Co-authored-by: Thomas Mueller <thomasm@apache.org>

* OAK-12010 Simplified index management (#2765)

* OAK-12010 Simplified index management

* OAK-12010 Simplified index management

* OAK-12010 Simplified index management - improve flaky tests

* OAK-12130 : remove Guava TreeTraverser usage from TraverserTest (#2786)

* Revise Composite NodeStore documentation

Updated documentation for Composite NodeStore, including changes to section headings and clarifications on seeding and mount behavior.

* Fix headings and enhance clarity in compositens.md

Corrected headings and improved clarity in the text regarding NodeStore initialization and design limitations.

* OAK-12133 With the segment store, binary properties can not be aggregated (#2795)

* OAK-12133 With the segment store, binary properties can not be aggregated

* OAK-12133 With the segment store, binary properties can not be aggregated

* OAK-11129 Improve Lucene documentation (fix link)

* OAK-12138 - add junit-jupiter-bom to managed dependencies (#2798)

* OAK-12136 : add AGENTS.md for oak-store-document module (#2797)

* OAK-12136 : add AGENTS.md for oak-store-document module

* OAK-12136 : exclude oak-store-document/AGENTS.md from RAT license check

* OAK-12136 : use wildcard to exclude all AGENTS.md files from RAT check

* OAK-12136 : exclude all AGENTS.md files from RAT license check

* OAK-11300 : remove unused common.graph export from oak-shaded-guava (#2791)

* OAK-12134 - compaction with concurrent writes can increase segmentstore size (#2799)

* OAK-12137: Create aggregate jacoco report (#2800)

* OAK-11300 : remove unused common.hash export from oak-shaded-guava (#2803)

* OAK-12139 : add Claude Code skill for oak-store-document OSGi config (#2801)

* OAK-12139 : add Claude Code skill for oak-store-document OSGi config

* OAK-12139 : move skill to oak-store-document module level

* OAK-12139 : fix RAT exclusion to cover nested .claude directories

* OAK-12139 : split skill into supporting files for readability

* OAK-12139 : fix RAT for submodule-level .claude skills and AGENTS.md

* OAK-12139 : fix skill frontmatter and gitignore trailing newline

* OAK-12139 : update AGENTS.md skill reference to include direct file path

* OAK-12142: jackrabbit-data: cleanup POMs (#2805)

* Revert "OAK-11300 : remove unused common.hash export from oak-shaded-guava (#2803)"

This reverts commit e94ee9f.

Reverted due to downstream issues, to be investigated,

* OAK-12135 improve logging (#2796)

* OAK-12144: oak-lucene: remove embed of Cache classes (#2809)

* OAK-12134 - compaction with concurrent writes can increase segmentstore size (#2808)

- fix test cleanup; data files should be deleted after FileStore is closed

* OAK-12140: use aggregated coverage report in Sonar checks (#2802)

* OAK-12128: Fail earlier (and add more diags) when detecting late writes (#2792)

* OAK-12147 : introduce Oak cache API interfaces (#2814)

* OAK-12147 : introduce Oak cache API interfaces (OakCache, OakLoadingCache, OakCacheStats etc.)

* OAK-12147 : convert OakCacheStats to a record

* OAK-12147 : add javadocs to OakCacheStatsTest

* Revert "OAK-12144: oak-lucene: remove embed of Cache classes (#2809)"

This reverts commit e5399ca.

* OAK-12145 : add compatibility tests for Caffeine migration (PR 2807) (#2811)

* OAK-12145 : add compatibility tests for Caffeine migration (PR 2807)

Add implementation-independent test coverage for all classes affected
by the Guava-to-Caffeine cache migration in OAK-11946. Tests reference
only Oak-level types (CacheLIRS, CacheStats, DiffCache, etc.) so the
same suite can be cherry-picked to OAK-11946 and run unchanged; any
failure there is a migration compatibility gap.

Modules covered:
- oak-core-spi: AbstractCacheStats, CacheLIRS, EmpiricalWeigher
- oak-store-document: DocumentNodeStoreBuilder, NodeDocumentCache,
  MemoryDiffCache, LocalDiffCache, TieredDiffCache,
  CachingCommitValueResolver, DocumentNodeStore, PersistentCache
- oak-run-commons: DocumentNodeStoreHelper
- oak-search: ExtractedTextCache (stats tracking)
- oak-search-elastic: ElasticIndexStatistics (cache, refresh, failure)
- oak-segment-tar: SegmentCache (loader failure contract)
- oak-blob: BlobIdSet (cache miss / persistence semantics)
- oak-blob-cloud: S3Backend (expiry, cache enable/disable)
- oak-blob-cloud-azure: AzureBlobStoreBackend,
  AzureBlobStoreBackendV8 (expiry, cache enable/disable)

* OAK-12145: Clarify cache compatibility test intent

* OAK-12145: Rename S3 compatibility test

* OAK-12145: Make cache compatibility tests behavior-based

* OAK-12145: Fix SegmentCache compatibility assertion

* OAK-12051: Fix NPE when ordering union query by jcr:score

* OAK-12051: Update naming, to distinguish flag after fix

* OAK-12051: Use sorting by score as new default.

* OAK-12051: Implement change requests

- Type check for double extraction, otherwise default to 0.0
- Log failures at warn level

---------

Co-authored-by: mbaedke <manfred.baedke@gmail.com>
Co-authored-by: Thomas Mueller <thomasm@apache.org>
Co-authored-by: Julian Reschke <reschke@apache.org>
Co-authored-by: Rishabh Kumar <rishabhdaim1991@gmail.com>
Co-authored-by: Miroslav Smiljanic <smmiroslav@gmail.com>
Co-authored-by: smiroslav <miroslav@apache.com>
Co-authored-by: Julian Reschke <julian.reschke@gmx.de>
Co-authored-by: Jörg Hoh <joerghoh@users.noreply.github.com>
Co-authored-by: Anton Hosgood <ahosgood1@icloud.com>
Co-authored-by: Anton Hosgood <ahosgood@adobe.com>
Co-authored-by: Thomas Mueller <mueller@adobe.com>
Co-authored-by: Konrad Windszus <kwin@apache.org>
Co-authored-by: Julian Sedding <jsedding@apache.org>
Co-authored-by: marvinw <marvinw@adobe.com>
thomasmueller added a commit that referenced this pull request Apr 13, 2026
)

* OAK-12051: Fix NPE when ordering union query by jcr:score (#2746)

* OAK-11697: Indexing / query limit / traversal error: improve diagnostics  (#2626)

Extended logging and error message.

---------

Co-authored-by: Thomas Mueller <thomasm@apache.org>

* OAK-12105: run/lucene: update gson dependencies to 2.13.2 (#2758)

* OAK-12103: MongoDocumentStore: improve diagnostics for too large docs in reuest payloads (#2757)

* OAK-12072 : removed Guava's Monitor and Guard (#2721)

* OAK-12072 : removed Guava's Monitor and Guard

* OAK-12072 : added unit cases for ChangeProcessor class

* OAK-11224: remove guava dependencies from POMs (ongoing) - oak-core and oak-jcr (#2760)

* OAK-11267: remove new use of Guava (#2761)

* OAK-12077 : fixed flacky test by increasing sleep time and adding small margin in verification (#2763)

* OAK-12110 Simplify Index Management - take 2 (#2751)

* OAK-12010 Simplified index management (improvements)

* OAK-12010 Simplified index management (improvements)

* OAK-12010 Simplified index management

* OAK-12010 Simplified index management

* OAK-12010 Simplified index management

* OAK-12107: Oak 1.92 Canidate Release Notes

* Issue/oak 12112 unresolved address (#2766)

* OAK-12112 treat DNS issue as transient
---------

Co-authored-by: smiroslav <miroslav@apache.com>

* OAK-12109: MongoDocumentStore: improve diagnostics for too large docs in bulk request payloads (#2764)

* OAK-12107: Oak 1.92 Candidate Release Notes

* OAK-12107: Oak 1.92 Candidate Release Notes

* [maven-release-plugin] prepare release jackrabbit-oak-1.92.0

* [maven-release-plugin] prepare for next development iteration

* OAK-12049 update docs to Oak 1.90.0 (#2677)

* OAK-12121 : add regression tests for offline compaction not persisting gc.log (#2776)

* OAK-12121 : add regression tests for offline compaction not persisting gc.log

* OAK-12121 : ignore tests until fix is applied

* OAK-12115 : add monitor and monitor.guard test coverage for SegmentBu… (#2772)

* OAK-12115 : add monitor and monitor.guard test coverage for SegmentBufferWriterPool

* OAK-12115 : fixed sonar issues

* OAK-12107: Oak 1.92 Doc Update

* OAK-12113: MongoDocumentStore: BsonException should be wrapped as DocumentStoreException (#2771)

* OAK-12119 : offline compaction does not persist compacted head into gc.log (#2779)

* OAK-12119 : offline compaction does not persist compacted head into gc.log

* OAK-12119 : fix cleanup fallback path and rename tests to camelCase

* OAK-12119 : improve test coverage and fix static imports

* OAK-12119 : remove volatile from lastCompactionResult and fix test setup

* OAK-12114: MongoDBExceptionTest add checks for bson compression (#2778)

* OAK-11952: Bump up minimal Java version to 17 (#2697)

* OAK-11952: Bump up minimal Java version to 17 - wip

* OAK-11952: Bump up minimal Java version to 17

* OAK-11952: Bump up minimal Java version to 17 - build.yml

* OAK-12127: Update Derby version to 1.16.x (#2783)

* feat: loadTokenizer uses default tokenizer when none provided (#2767) (#2770)

Co-authored-by: Anton Hosgood <ahosgood1@icloud.com>
Co-authored-by: Anton Hosgood <ahosgood@adobe.com>

* OAK-12122: add fixed seed and improve logging in DataStoreCommandTest (#2781)

* OAK-12122: add fixed seed and improve logging in DataStoreCommandTest

Made-with: Cursor

* Apply suggestion from @rishabhdaim

Co-authored-by: Rishabh Kumar <rishabhdaim1991@gmail.com>

---------

Co-authored-by: Rishabh Kumar <rishabhdaim1991@gmail.com>

* OAK-12108 : remove usage of Guava's Monitor from SegmentBufferWriterPool (#2780)

* OAK-12101 - Skip indexing of very long tags (#2768) (#2769)

* feat: skip long similarity tags

* feat: add tests

* feat: log warning once per minute

* feat: skip long similarity tags for dynamic boosting

* fix: similarity tag constant naming

* feat: add option to disable filtering

* refactor: standardise naming with existing conventions

* feat: silence logs per property

* fix: comment

* feat: add dynamic boost test

* doc: add details to lucene.md

* fix: test name

---------

Co-authored-by: Anton Hosgood <ahosgood1@icloud.com>
Co-authored-by: Anton Hosgood <ahosgood@adobe.com>

* OAK-12129 : improve test coverage for ChangeProcessor stopAndWait behaviour (#2785)

* OAK-12131 : remove Guava SettableFuture usage from FutureUtilsTest (#2787)

* OAK-12132 : remove toCompletableFuture from FutureConverter (#2788)

* OAK-12099 add AGENTS.md (#2745)

* OAK-12099 build dependant moduels

OAK-12099 initial version of AGENTS.md

* OAK-12099 note about AGENTS.md in submodules

* OAK-12099 link AGENTS.md from CLAUDE.md

* Exclude AGENTS.md from the licence header check (same as CONTRIBUTING.md)

* Update pom.xml

* Update AGENTS.md

* OAK-12099: address PR review feedback on AGENTS.md

- Set test coverage requirement to >80%, 100% for security modules
- Add rule: do not weaken existing tests to make builds pass
- Clarify that -DskipTests should only be used for unchanged modules
- Add code review reminder to Git Workflow section

Made-with: Cursor

* OAK-12099: add minimal-code guideline to AGENTS.md (PR review feedback)

Made-with: Cursor

* OAK-12099: add minimal-code guideline to AGENTS.md

---------

Co-authored-by: smiroslav <miroslav@apache.com>
Co-authored-by: Thomas Mueller <mueller@adobe.com>
Co-authored-by: Thomas Mueller <thomasm@apache.org>

* OAK-12010 Simplified index management (#2765)

* OAK-12010 Simplified index management

* OAK-12010 Simplified index management

* OAK-12010 Simplified index management - improve flaky tests

* OAK-12130 : remove Guava TreeTraverser usage from TraverserTest (#2786)

* Revise Composite NodeStore documentation

Updated documentation for Composite NodeStore, including changes to section headings and clarifications on seeding and mount behavior.

* Fix headings and enhance clarity in compositens.md

Corrected headings and improved clarity in the text regarding NodeStore initialization and design limitations.

* OAK-12133 With the segment store, binary properties can not be aggregated (#2795)

* OAK-12133 With the segment store, binary properties can not be aggregated

* OAK-12133 With the segment store, binary properties can not be aggregated

* OAK-11129 Improve Lucene documentation (fix link)

* OAK-12138 - add junit-jupiter-bom to managed dependencies (#2798)

* OAK-12136 : add AGENTS.md for oak-store-document module (#2797)

* OAK-12136 : add AGENTS.md for oak-store-document module

* OAK-12136 : exclude oak-store-document/AGENTS.md from RAT license check

* OAK-12136 : use wildcard to exclude all AGENTS.md files from RAT check

* OAK-12136 : exclude all AGENTS.md files from RAT license check

* OAK-11300 : remove unused common.graph export from oak-shaded-guava (#2791)

* OAK-12134 - compaction with concurrent writes can increase segmentstore size (#2799)

* OAK-12137: Create aggregate jacoco report (#2800)

* OAK-11300 : remove unused common.hash export from oak-shaded-guava (#2803)

* OAK-12139 : add Claude Code skill for oak-store-document OSGi config (#2801)

* OAK-12139 : add Claude Code skill for oak-store-document OSGi config

* OAK-12139 : move skill to oak-store-document module level

* OAK-12139 : fix RAT exclusion to cover nested .claude directories

* OAK-12139 : split skill into supporting files for readability

* OAK-12139 : fix RAT for submodule-level .claude skills and AGENTS.md

* OAK-12139 : fix skill frontmatter and gitignore trailing newline

* OAK-12139 : update AGENTS.md skill reference to include direct file path

* OAK-12142: jackrabbit-data: cleanup POMs (#2805)

* Revert "OAK-11300 : remove unused common.hash export from oak-shaded-guava (#2803)"

This reverts commit e94ee9f.

Reverted due to downstream issues, to be investigated,

* OAK-12135 improve logging (#2796)

* OAK-12144: oak-lucene: remove embed of Cache classes (#2809)

* OAK-12134 - compaction with concurrent writes can increase segmentstore size (#2808)

- fix test cleanup; data files should be deleted after FileStore is closed

* OAK-12140: use aggregated coverage report in Sonar checks (#2802)

* OAK-12128: Fail earlier (and add more diags) when detecting late writes (#2792)

* OAK-12147 : introduce Oak cache API interfaces (#2814)

* OAK-12147 : introduce Oak cache API interfaces (OakCache, OakLoadingCache, OakCacheStats etc.)

* OAK-12147 : convert OakCacheStats to a record

* OAK-12147 : add javadocs to OakCacheStatsTest

* Revert "OAK-12144: oak-lucene: remove embed of Cache classes (#2809)"

This reverts commit e5399ca.

* OAK-12145 : add compatibility tests for Caffeine migration (PR 2807) (#2811)

* OAK-12145 : add compatibility tests for Caffeine migration (PR 2807)

Add implementation-independent test coverage for all classes affected
by the Guava-to-Caffeine cache migration in OAK-11946. Tests reference
only Oak-level types (CacheLIRS, CacheStats, DiffCache, etc.) so the
same suite can be cherry-picked to OAK-11946 and run unchanged; any
failure there is a migration compatibility gap.

Modules covered:
- oak-core-spi: AbstractCacheStats, CacheLIRS, EmpiricalWeigher
- oak-store-document: DocumentNodeStoreBuilder, NodeDocumentCache,
  MemoryDiffCache, LocalDiffCache, TieredDiffCache,
  CachingCommitValueResolver, DocumentNodeStore, PersistentCache
- oak-run-commons: DocumentNodeStoreHelper
- oak-search: ExtractedTextCache (stats tracking)
- oak-search-elastic: ElasticIndexStatistics (cache, refresh, failure)
- oak-segment-tar: SegmentCache (loader failure contract)
- oak-blob: BlobIdSet (cache miss / persistence semantics)
- oak-blob-cloud: S3Backend (expiry, cache enable/disable)
- oak-blob-cloud-azure: AzureBlobStoreBackend,
  AzureBlobStoreBackendV8 (expiry, cache enable/disable)

* OAK-12145: Clarify cache compatibility test intent

* OAK-12145: Rename S3 compatibility test

* OAK-12145: Make cache compatibility tests behavior-based

* OAK-12145: Fix SegmentCache compatibility assertion

* OAK-12051: Fix NPE when ordering union query by jcr:score

* OAK-12051: Update naming, to distinguish flag after fix

* OAK-12051: Use sorting by score as new default.

* OAK-12051: Implement change requests

- Type check for double extraction, otherwise default to 0.0
- Log failures at warn level

---------

Co-authored-by: mbaedke <manfred.baedke@gmail.com>
Co-authored-by: Thomas Mueller <thomasm@apache.org>
Co-authored-by: Julian Reschke <reschke@apache.org>
Co-authored-by: Rishabh Kumar <rishabhdaim1991@gmail.com>
Co-authored-by: Miroslav Smiljanic <smmiroslav@gmail.com>
Co-authored-by: smiroslav <miroslav@apache.com>
Co-authored-by: Julian Reschke <julian.reschke@gmx.de>
Co-authored-by: Jörg Hoh <joerghoh@users.noreply.github.com>
Co-authored-by: Anton Hosgood <ahosgood1@icloud.com>
Co-authored-by: Anton Hosgood <ahosgood@adobe.com>
Co-authored-by: Thomas Mueller <mueller@adobe.com>
Co-authored-by: Konrad Windszus <kwin@apache.org>
Co-authored-by: Julian Sedding <jsedding@apache.org>
Co-authored-by: marvinw <marvinw@adobe.com>

* Merge trunk

---------

Co-authored-by: Marvin <95419378+ChlineSaurus@users.noreply.github.com>
Co-authored-by: mbaedke <manfred.baedke@gmail.com>
Co-authored-by: Julian Reschke <reschke@apache.org>
Co-authored-by: Rishabh Kumar <rishabhdaim1991@gmail.com>
Co-authored-by: Miroslav Smiljanic <smmiroslav@gmail.com>
Co-authored-by: smiroslav <miroslav@apache.com>
Co-authored-by: Julian Reschke <julian.reschke@gmx.de>
Co-authored-by: Jörg Hoh <joerghoh@users.noreply.github.com>
Co-authored-by: Anton Hosgood <ahosgood1@icloud.com>
Co-authored-by: Anton Hosgood <ahosgood@adobe.com>
Co-authored-by: Konrad Windszus <kwin@apache.org>
Co-authored-by: Julian Sedding <jsedding@apache.org>
Co-authored-by: marvinw <marvinw@adobe.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant