[
https://issues.apache.org/jira/browse/JAMES-3959?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Benoit Tellier closed JAMES-3959.
---------------------------------
Resolution: Fixed
> Starting distributed James without OpenSearch
> ---------------------------------------------
>
> Key: JAMES-3959
> URL: https://issues.apache.org/jira/browse/JAMES-3959
> Project: James Server
> Issue Type: Improvement
> Components: elasticsearch
> Affects Versions: 3.9.0
> Reporter: Benoit Tellier
> Priority: Major
> Time Spent: 50m
> Remaining Estimate: 0h
>
> h3. Why?
> While doing some resiliency tests (PRA: Activity Recovery Plan) we noticed
> that it is compulsory to have the OpenSearch cluster online in order to start
> James.
> However, in case of disaster, I should be able to start James without having
> an OpenSearch cluster online. Indeed, search is a (very) nice to have feature
> but not an absolute necessity for sending / receiving mails. And restauring
> an OpenSearch service could take significant time. Being able to start
> without the OpenSearch cluster would thus allow to significantly accelerate
> the recovery plan.
> Today one could start even the distributed server in scanning mode, so
> without OpenSearch but this is not a good idea for two reasons:
> - The search would thus be implemented by scanning entire mailbox thus a few
> user doing search could have significant impacts thus worsening the incident.
> - The documents to index would be lost and some sorts of full reindexing
> would also be needed when coming back online.
> h3. Expectations
> I expect the following:
> - being able to start without OpenSearch
> - Search operations hitting the search index fails. But SearchOverrides
> would succeed, offering a minimal search service for non search operations eg
> imap resynchronisation...
> - No index attempt is performed but events would be stored in the right
> place in event dead letter to eventually get replayed...
> h3. How?
> Provide a `opensearch_disabled` search index implementation:
> - reject search not satisfied by search overrides
> - save events into event dead letter for later processing
> h3. Definition of done
> Integration tests matching the expectations.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]