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

Mohit Kataria commented on OAK-9721:
------------------------------------

The importindex method consists of following steps:
 # switchLanes : This step changes names of indexing lanes so that current 
indexing  don't alter this index. Assuming current indexing lane is "async ", 
property changes from "async": "async" to "async":"temp-async" and 
"async-previous":"async". 
 # importIndexData: In this step, index data is imported and indexes are marked 
for disabling if index has supersedes property. At this stage we have a new 
index committed with switchedlanes.
 # bringIndexUpToDate: With this step we stop current indexing lane, find diff 
between latest checkpoint and checkpoint we are using to import index.
 # releaseCheckpoint: Release the old checkpoint we are using for importing.

 

As these states are persisted ones, we can't come back to exactly same 
condition of nodestore in case the process halts/exits at any state. To 
mitigate this to some extent, in case of failure, we revert back lane names 
(there will be a window for which data is not indexed). But as we are saving 
import state, we can figure out whether we should run import process again or 
not. 

> Add state information while indeximporting
> ------------------------------------------
>
>                 Key: OAK-9721
>                 URL: https://issues.apache.org/jira/browse/OAK-9721
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: indexing
>            Reporter: Mohit Kataria
>            Assignee: Mohit Kataria
>            Priority: Major
>
> While importing index (IndexImporter), there are majorly 4 steps. In case of 
> failure the whole index becomes unusable. 
> So to handle this, we are introducing a property to manage state of 
> indeximport and add retry logic on each step.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to