You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Alex Parvulescu (JIRA)" <ji...@apache.org> on 2014/04/01 11:44:17 UTC
[jira] [Commented] (OAK-1456) Non-blocking reindexing
[ https://issues.apache.org/jira/browse/OAK-1456?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13956310#comment-13956310 ]
Alex Parvulescu commented on OAK-1456:
--------------------------------------
This is how it should be enabled if needed (the oak-core version):
{code}
name = "async-reindex";
task = new AsyncIndexUpdate(name, store, indexEditors, true);
scheduleWithFixedDelay(whiteboard, task, 5, true);
{code}
> Non-blocking reindexing
> -----------------------
>
> Key: OAK-1456
> URL: https://issues.apache.org/jira/browse/OAK-1456
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: query
> Reporter: Michael Marth
> Assignee: Alex Parvulescu
> Priority: Blocker
> Labels: production, resilience
> Fix For: 0.20
>
> Attachments: OAK-1456.patch
>
>
> For huge Oak repos it will be essential to re-index some or all indexes in case they go out of sync in a non-blocking way (i.e. the repo is still operation while the re-indexing takes place).
> For an asynchronous index this should not be much of a problem. One could drop it and recreate (as an added benefit it might be nice if the user could simply add a property "reindex" to the index definition node to trigger this).
> For synchronous indexes, I suggest the mechanism creates an asynchronous index behind the scenes first and once it has caught up
> * blocks writes (?)
> * removes the existing synchronous index
> * moves asynchronous index in its place and makes it synchronous
--
This message was sent by Atlassian JIRA
(v6.2#6252)