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 "Thomas Mueller (Jira)" <ji...@apache.org> on 2025/08/25 09:03:00 UTC
[jira] [Resolved] (OAK-11878) ClusterNodeStoreLock LOCK_TIMEOUT is too large
[ https://issues.apache.org/jira/browse/OAK-11878?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thomas Mueller resolved OAK-11878.
----------------------------------
Fix Version/s: 1.86.0
Resolution: Fixed
> ClusterNodeStoreLock LOCK_TIMEOUT is too large
> ----------------------------------------------
>
> Key: OAK-11878
> URL: https://issues.apache.org/jira/browse/OAK-11878
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: indexing
> Reporter: Thomas Mueller
> Priority: Major
> Fix For: 1.86.0
>
>
> If index-import fails (eg. the process is killed) then async indexing is blocked for 100 days, unless someone breaks the lock manually.
> I think 6 hours is better because:
> * Usually a "diff" of 6 hours works fine, but beyond that it gets harder and harder for the document store.
> * The longest index import phase I have seen is 2.5 hours, for a ~2 billion nodes repository, indexing many indexes in one go.
> oak-core
> package org.apache.jackrabbit.oak.plugins.index.importer
> {noformat}
> /**
> * Lock implementation for clustered scenario. The locking is done
> * by setting the lease time for the lane to distant future which
> * prevent AsyncIndexUpdate from running.
> */
> public class ClusterNodeStoreLock implements AsyncIndexerLock<ClusteredLockToken>
> /**
> * Use a looong lease time to ensure that async indexer does not start
> * in between the import process which can take some time
> */
> private static final long LOCK_TIMEOUT = TimeUnit.DAYS.toMillis(100);
> {noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)