Benoit Tellier created JAMES-3959:
-------------------------------------

             Summary: 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


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