-
Type:
Bug
-
Resolution: Handled by Support
-
Priority:
Low
-
None
-
Affects Version/s: 10.2.14
-
Component/s: Search - OpenSearch
-
None
-
1
-
Severity 3 - Minor
Issue Summary
When Confluence is configured to use OpenSearch as search engine instead of using the local Lucene, the reindex can fail at the Delete Phase when hitting 409 Conflict from OpenSearch due to version_conflict_engine_exception
Steps to Reproduce
Environment: this is tested in Confluence 10.2.14
- Configure Confluence to use OpenSearch as search engine
- Go to General Configuration > Content Indexing
- Click the "Rebuild" button next to Site reindex
- Under the "Include" options select CONTENT only
- Click on Rebuild to trigger a Site Index Rebuild
This is because when the Site Index Rebuild is triggered without ALL options selected, the rebuild will happen on the Blue Environment instead. Hence the selected scope (Content in the example above) will first need to be deleted before the new ones are indexed.
Expected Results
Confluence should be sending /confluence-content/_delete_by_query request to OpenSearch with conflicts=proceed parameter since this is a Rebuild, where no old index of the targeted scope needs to remain.
Actual Results
Confluence sends /confluence-content/_delete_by_query without the conflicts parameter, where under certain conditions this query may encounter 409 Conflict from OpenSearch due to version_conflict_engine_exception.
Here's what the logs:
2026-09-09 15:01:26,961 INFO [Caesium-1-2] [internal.index.lucene.LuceneFullReindexManager] fullReindexLock Locking indexes for full reindex
2026-09-09 15:03:16,125 ERROR [lucene-interactive-reindexing-thread] [confluence.internal.index.AbstractReindexer] reIndex Reindex failed
com.atlassian.confluence.search.v2.SearchIndexAccessException: Unexpected Exception while executing a batched index action against index: [confluence-content]
...
confluence.plugins.opensearch.OpenSearchSearchIndexAccessor.execute(OpenSearchSearchIndexAccessor.java:84)
... 73 more
Caused by: org.opensearch.client.transport.httpclient5.ResponseException: method [POST], host [https://<OpenSearch_URL>], URI [/confluence-content/_delete_by_query], status line [HTTP/1.1 409 Conflict]
...
{
"took": 169,
"timed_out": false,
"total": 10000,
"deleted": 0,
"batches": 1,
"version_conflicts": 1000,
"noops": 0,
"retries": {
"bulk": 0,
"search": 0
},
"throttled_millis": 0,
"requests_per_second": -1,
"throttled_until_millis": 0,
"failures": [
{
"index": "confluence-content_1790144757318",
"id": "com.atlassian.confluence.pages.Page-123456",
"cause": {
"type": "version_conflict_engine_exception",
"reason": "[com.atlassian.confluence.pages.Page-123456]: version conflict, required seqNo [56789], primary term [1]. but no document was found",
"index": "confluence-content_1790144757318",
"shard": "0",
"index_uuid": "_abC5D56EFgHIJKLMN4oPQ"
},
"status": 409
},
...
The 409 Conflict resulted in the Index Rebuild to fail rightaway.
Workaround
Trigger Site Index Rebuild with ALL options selected:
- Content
- Attachments
- Users
- mentioned in
-
Page Loading...