[jira] [Commented] (OAK-1456) Non-blocking reindexing

2014-04-01 Thread Alex Parvulescu (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-1456?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=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)


[jira] [Commented] (OAK-1456) Non-blocking reindexing

2014-03-31 Thread Alex Parvulescu (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-1456?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13955146#comment-13955146
 ] 

Alex Parvulescu commented on OAK-1456:
--

The changes are in with rev 1583316. The only thing I've left out for now is 
the code that enables the background task.

http://svn.apache.org/r1583316

 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)


[jira] [Commented] (OAK-1456) Non-blocking reindexing

2014-03-31 Thread Alex Parvulescu (JIRA)

[ 
https://issues.apache.org/jira/browse/OAK-1456?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13955198#comment-13955198
 ] 

Alex Parvulescu commented on OAK-1456:
--

Just to sum up, the remaining question is mostly about whether this background 
thread should be enabled by default in oak or not, and if so how frequently 
should it run.

 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)