jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Angela Schreiber (Jira)" <j...@apache.org>
Subject [jira] [Commented] (OAK-9187) LockOperation always calls SessionDelegate.refresh before executing operations
Date Fri, 08 Jan 2021 13:24:00 GMT

    [ https://issues.apache.org/jira/browse/OAK-9187?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17261299#comment-17261299

Angela Schreiber commented on OAK-9187:

[~mreutegg], do you know who is maintaining the JCR locking implementation in Oak? if nobody
is, could you step in an review/commit the proposed change to {{LockOperation}}? [~asanso]
spotted this bug while investigating a performance issue reported with Adobe AEM. 

As stated in the description read-only operations in Oak don't usually cause an automatic
refresh of the Jcr Session and I think  {{Node.isLocked}} should follow that pattern as well.
I don't know the why this different is the case here.... but given the fact that the implementation
of JCR locking is anyway broken, I see even less reason for the forced refresh upon every
call to {{Node.isLocked}} or {{LockManager.isLocked}}.

having said that: I would very much appreciate if this issue would be addressed to improve
the negative impact on performance associated with it.

> LockOperation always calls SessionDelegate.refresh before executing operations
> ------------------------------------------------------------------------------
>                 Key: OAK-9187
>                 URL: https://issues.apache.org/jira/browse/OAK-9187
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: jcr
>            Reporter: Angela Schreiber
>            Priority: Major
>         Attachments: OAK-9187.patch
> [~asanso] reported that calls to {{LockManager.isLocked}} (or {{Node.isLocked}}) always
results in the session being forcefully refreshed. This is inconsistent with other JCR level
read operations which either don't refresh at all or only refresh in the {{SessionDelegate#prePerform}}
if the {{RefreshStrategy}} in place mandates it.
> The same seems to apply for those lock-related methods that include write: The session
is always refreshed upon entering the methods, while other write operations either delegate
refresh to the {{RefreshStrategy}} or only refresh once changes have been committed to the
underlying {{Root}}.

This message was sent by Atlassian Jira

View raw message