[ 
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: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to