Skip to content

OAK-12089: add multi-target routing and per-target catch-up lifecycle - #2818

Draft
bhabegger wants to merge 2 commits into
apache:OAK-12089from
bhabegger:oak-12089-multitarget
Draft

OAK-12089: add multi-target routing and per-target catch-up lifecycle#2818
bhabegger wants to merge 2 commits into
apache:OAK-12089from
bhabegger:oak-12089-multitarget

Conversation

@bhabegger

Copy link
Copy Markdown
Contributor

Summary

  • add multi-target routing helpers (storeTargets/activeTarget) and integrate write/query target selection
  • add per-target catch-up lifecycle (detection, runner, graduation) for safe target backfill before activation
  • refine catch-up with lane-scoped graduation and marker-based provider participation contract

Test plan

  • mvn -pl oak-core -Dtest=\"IndexDefinitionHelperTest,AsyncIndexUpdateCatchUpTest,CatchUpRunnerTest\" test
  • additional integration and full reactor verification in CI

Notes

This branch is functionally split from lucene9 core work, but because GitHub cross-repo PRs require a base branch present in the target repository, this PR currently targets OAK-12089 directly.
Depends on #2817 and should be reviewed/merged after it.

Made with Cursor

@bhabegger

Copy link
Copy Markdown
Contributor Author

This PR depends on #2817 and should be reviewed/merged only after #2817 is merged.

@bhabegger
bhabegger force-pushed the oak-12089-multitarget branch 3 times, most recently from d9c9208 to 6eaf573 Compare March 31, 2026 07:30
@bhabegger bhabegger changed the title feat: add multi-target routing and per-target catch-up lifecycle OAK-12089: add multi-target routing and per-target catch-up lifecycle Apr 10, 2026
@bhabegger
bhabegger force-pushed the oak-12089-multitarget branch from 6eaf573 to 32a2018 Compare June 5, 2026 07:59
Introduces oak-search-luceneNg, a new Oak module providing a Lucene 9
based index engine under type=lucene9, with full parity to the legacy
lucene implementation for property queries, fulltext, sorting, excerpts,
and facets (insecure, statistical, and secure ACL modes).

Key changes:
- New oak-search-luceneNg module: index editor, query index, tracker,
  index node, storage, and OSGi wiring
- Facet parity: LuceneNgSecure/StatisticalSortedSetDocValuesFacetCounts
  ported to Lucene 9 APIs with null-safe MatchingDocs.bits handling
- LuceneNgFacetCommonTest extends FacetCommonTest for JCR-level coverage
- AbstractIndexComparisonTest inlined into oak-search test-jar;
  oak-search-test module removed
- getRootBuilder removed from ContextAwareCallback and IndexUpdate
- leaf OSGi property removed from LuceneIndexProviderService
- README documents feature parity vs legacy Lucene and Elastic

Made-with: Cursor
- Add multi-target routing helpers and active-target resolution
- Add per-target catch-up indexing lifecycle
- Simplify catch-up execution and scope graduation to owning lane
- Align with marker-based catch-up provider contract

Made-with: Cursor
@bhabegger
bhabegger force-pushed the oak-12089-multitarget branch from 32a2018 to 8a10224 Compare August 10, 2026 09:30
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