bhabegger opened a new pull request, #2955:
URL: https://github.com/apache/jackrabbit-oak/pull/2955

   ## Summary
   
   - Defers `provisionIndex()` from the `ElasticIndexWriter` constructor to the 
first `updateDocument()` or `deleteDocuments()` call when both `FT_OAK-12249` 
and `FT_OAK-12248` are enabled
   - A reindex that produces zero documents never creates an Elasticsearch 
index or alias, eliminating the empty-index problem described in OAK-12249
   - `ensureProvisioned()` handles the incremental-write-after-empty-reindex 
case: if an alias does not exist when the first document arrives, it creates a 
new backing index with a fresh seed and points the alias at it
   
   ## Dependency on OAK-12248
   
   **This PR must be merged after #2950 (OAK-12248: graceful 404 handling).**
   
   This branch is currently based on `OAK-12248-graceful-404` so the diff 
includes both changes. Once OAK-12248 merges to trunk this branch will be 
rebased and the diff will show only the OAK-12249 commit.
   
   Deployment order is enforced at runtime: `isLazyProvisioningActive()` 
returns `true` only when **both** `FT_OAK-12249` and `FT_OAK-12248` are 
enabled. Enabling `FT_OAK-12249` alone falls back to eager provisioning and 
logs a `WARN`.
   
   ## Tests
   
   Three new unit tests in `ElasticIndexWriterTest`:
   
   - `lazyProvisioning_requiresGraceful404Toggle` — asserts lazy provisioning 
is inactive when OAK-12248 toggle is off
   - `emptyReindex_doesNotCreateEsIndex` — verifies no ES index is created 
during construction when no documents are written
   - `nonEmptyReindex_provisionsOnFirstDocument` — verifies `provisionIndex()` 
is called on the first `updateDocument()` and not before
   
   All 11 tests in `ElasticIndexWriterTest` pass.
   
   ## Jira
   
   https://issues.apache.org/jira/browse/OAK-12249


-- 
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]

Reply via email to