[ 
https://issues.apache.org/jira/browse/OAK-3505?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14954955#comment-14954955
 ] 

Alex Parvulescu commented on OAK-3505:
--------------------------------------

attached v2 of the patch:
* one part is the missing index provider strategy: added a flag that will make 
the commits fail, it can be set via the 
_IndexUpdate.failOnMissingIndexProvider_ system property.
* second part is a potential recovery once the reindex flags have been set to 
true: added a flag that will ignore all _reindex_ flags 
(_IndexUpdate.ignoreReindexFlags_ system property).
Rationale for this second flag is really providing a way of getting back 
control of a system stuck in reindexing. The way synchronous indexes work now 
is once a reindex flag is set, the thread doing the commit will start 
reindexing so it's basically blocked until reindexing is done, which can be a 
really long time depending on the size of the repository. This can be made 
exponentially worse by the _MissingIndexProviderStrategy_ which will set the 
_reindex_ flag silently, leaving the reindexing work for a future thread, which 
depending on the concurrency can actually mean more threads can start 
reindexing at the same time in the near future. So having all threads 
busy/stuck in reindexing means there's no access to the repository, but with 
the help of this flag, one can have a running repo where by manual intervention 
all _reindex_ flags can be set to false allowing the system to come online.
[~chetanm], [~ianeboston] feedback appreciated.

> Provide an optionally stricter policy for missing synchronous index editor 
> providers
> ------------------------------------------------------------------------------------
>
>                 Key: OAK-3505
>                 URL: https://issues.apache.org/jira/browse/OAK-3505
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core
>            Reporter: Alex Parvulescu
>            Assignee: Alex Parvulescu
>         Attachments: OAK-3505-v2.patch, OAK-3505.patch
>
>
> Currently a missing synchronous index editor provider will mark the specific 
> index type with a reindex flag (OAK-3366). I'd like to provide the option to 
> setup a strategy to fail the commit until a specific impl comes online.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to