[ https://issues.apache.org/jira/browse/JCR-5142?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17950113#comment-17950113 ]
Tom Duffey commented on JCR-5142: --------------------------------- I'm looking ahead to the other piece of this which is the need to similarly pause/resume the MultiIndex from changing anything on disk. It seems this includes at least the following operations. # Committing the volatile index to the persistent index. Looks like this can be triggered by either an update action or the `flush()` method which is a scheduled task and also the recovery process. In any case seems like a lock would be needed around the `flush()` method and also the `checkVolatileCommit()` method. # The index merging process implemented in `IndexMerger`. This thing seems to already have a lock so perhaps it could be exposed or pause/resume methods added. I hate to touch this code due to the complexities around multi-threading and potential deadlocks. Not to mention this is my first time diving into the depths of Jackrabbit. But it does seem necessary to ensure a consistent index backup, no? > Improve index hot backup > ------------------------ > > Key: JCR-5142 > URL: https://issues.apache.org/jira/browse/JCR-5142 > Project: Jackrabbit Content Repository > Issue Type: Improvement > Components: clustering, indexing > Affects Versions: 2.23.1 > Reporter: Tom Duffey > Priority: Minor > > As a user with high performance and resiliency needs Jackrabbit should > provide a way to do a hot backup of the Lucene index to avoid having to take > a node offline. > As a step in that direction ClusterNode should provide a way to pause and > resume synchronization. This way we can pause updates on a node, backup the > index and then resume. > Note this ticket only proposes handling the JCR cluster sync operation but > the node itself could also be updating its index. Perhaps a second ticket > could be made to also pause merging the volatile indexes back to the > persistent indexes? -- This message was sent by Atlassian Jira (v8.20.10#820010)