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 "Anton (Jira)" <ji...@apache.org> on 2026/03/19 15:30:00 UTC
[jira] [Updated] (OAK-12143) AsyncLaneSwitcher.switchLane() falsely treats user-provided async-previous as already-switched, silently skipping out-of-band reindexing
[ https://issues.apache.org/jira/browse/OAK-12143?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Anton updated OAK-12143:
------------------------
Description:
When an index definition provided for out-of-band reindexing contains an
async-previous property (e.g. copied from a running repository), AsyncLaneSwitcher.switchLane() incorrectly treats the index as already switched and returns without assigning it to the target lane. The index is then silently skipped by IndexUpdate during reindexing.
The idempotency guard in switchLane() checks only for the presence of an async-previous property. async-previous is a runtime-only property set by switchLane itself, but it can legitimately appear in user-provided definitions if the definition was copied from a system where reindexing had previously run. The guard cannot distinguish between "already switched" and "stale user-provided value".
was:
When an index definition provided for out-of-band reindexing contains an
async-previous property (e.g. copied from a running repository), AsyncLaneSwitcher.switchLane() incorrectly treats the index as already switched and returns without assigning it to the target lane. The index is then silently skipped by IndexUpdate during reindexing.
> AsyncLaneSwitcher.switchLane() falsely treats user-provided async-previous as already-switched, silently skipping out-of-band reindexing
> ----------------------------------------------------------------------------------------------------------------------------------------
>
> Key: OAK-12143
> URL: https://issues.apache.org/jira/browse/OAK-12143
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Reporter: Anton
> Priority: Major
>
> When an index definition provided for out-of-band reindexing contains an
> async-previous property (e.g. copied from a running repository), AsyncLaneSwitcher.switchLane() incorrectly treats the index as already switched and returns without assigning it to the target lane. The index is then silently skipped by IndexUpdate during reindexing.
> The idempotency guard in switchLane() checks only for the presence of an async-previous property. async-previous is a runtime-only property set by switchLane itself, but it can legitimately appear in user-provided definitions if the definition was copied from a system where reindexing had previously run. The guard cannot distinguish between "already switched" and "stale user-provided value".
--
This message was sent by Atlassian Jira
(v8.20.10#820010)