[ 
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)

Reply via email to