Skip to content

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

Merged
mbaedke merged 8 commits intotrunkfrom
OAK-11697
Feb 18, 2026
Merged

OAK-11697: Indexing / query limit / traversal error: improve diagnostics #2626
mbaedke merged 8 commits intotrunkfrom
OAK-11697

Conversation

@mbaedke
Copy link
Copy Markdown
Contributor

@mbaedke mbaedke commented Nov 26, 2025

No description provided.

Comment thread oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java Outdated
Copy link
Copy Markdown
Contributor

@reschke reschke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and the extended exception messsage will propagate up? maybe add a simple test case?

@mbaedke mbaedke requested a review from reschke November 27, 2025 16:14
@reschke reschke self-requested a review December 1, 2025 12:48
@mbaedke mbaedke marked this pull request as draft December 1, 2025 13:24
@mbaedke mbaedke marked this pull request as ready for review December 4, 2025 16:34
Copy link
Copy Markdown
Contributor

@reschke reschke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, but it would be nice to hear from @thomasmueller

@@ -1267,6 +1273,26 @@ public void verifyNotPotentiallySlow() {
}
String caller = IndexUtils.getCaller(settings.getIgnoredClassNamesInCallTrace());
String message = "Traversal query (query without index): " + statement + "; called by " + caller + "; consider creating an index";
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would indeed be nice to refactor this slightly

@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented Jan 5, 2026

Comment on lines +1295 to +1299
if (!reindex.isEmpty()) {
String reindexNames = reindex.stream().map(name -> name + ",").collect(Collectors.joining());
message += "\n\nNote that the following indexes were unavailable because of re-indexing:\n"
+ reindexNames.substring(0, reindexNames.length() - 1);
}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Even if the indexes are reindexing currently, I think the old version can still be used for queries (no?)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So I probably would not add this here... instead, I think we should probably add a metric for "indexes that are currently reindexing", which should in theory be zero. And if there are indexes that are indexing, specially if that's for longer than eg. 1 hour, then we should investigate that.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So I probably would not add this here... instead, I think we should probably add a metric for "indexes that are currently reindexing", which should in theory be zero.
Yes, absolutely (separate ticket?)

And if there are indexes that are indexing, specially if that's for longer than eg. 1 hour, then we should investigate that.

But that's "just" an operational issue, right?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just made the message more generic.

Comment on lines +1312 to +1314
if (reindexProp != null && reindexProp.getValue(Type.BOOLEAN)) {
reindex.add(name);
}
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I saw some cases where an index had reindex = true, but type = disabled... So that would need to be ignored.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If that's a weird case, should we add a DEBUG log for this somewhere?

Comment thread oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java Outdated
@thomasmueller
Copy link
Copy Markdown
Member

I think it's a very good improvement, thanks a lot! Just a few minor points / points for discussion.

@reschke
Copy link
Copy Markdown
Contributor

reschke commented Feb 12, 2026

Ok. Can we close the loop on this soon? Would be good to have it in 1.92.0....

Minor refactoring; excluded disabled indexes; improved log message.
Comment thread oak-core/src/main/java/org/apache/jackrabbit/oak/query/QueryImpl.java Outdated
…pl.java


minor refactoring

Co-authored-by: Thomas Mueller <thomasm@apache.org>
@sonarqubecloud
Copy link
Copy Markdown

@mbaedke mbaedke merged commit 0deaad5 into trunk Feb 18, 2026
4 of 5 checks passed
@mbaedke mbaedke deleted the OAK-11697 branch February 18, 2026 16:17
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.

3 participants