You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Timothee Maret (Jira)" <ji...@apache.org> on 2021/01/30 18:35:00 UTC

[jira] [Commented] (SLING-10107) Refactoring of creation of ResourceResolvers

    [ https://issues.apache.org/jira/browse/SLING-10107?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17275685#comment-17275685 ] 

Timothee Maret commented on SLING-10107:
----------------------------------------

bq. ResourceResolvers are opened for obviously tiny operations is quite high.

Is this a problem ? IINM it's a best practice to use short many short lived sessions rather than few long ones. Sharing sessions is not easy and can lead to many issues due to potentially I. getting a session with existing transient data, II. getting a session which is not up to date with the latest repository state, III. end up sharing the same session concurrently from different threads.

Unless we see that the current behaviour is a source of problem, I am strongly against reusing sessions.

We could, however, centralise the creation of new sessions and attach a metric to it to help get stats.

> Refactoring of creation of ResourceResolvers
> --------------------------------------------
>
>                 Key: SLING-10107
>                 URL: https://issues.apache.org/jira/browse/SLING-10107
>             Project: Sling
>          Issue Type: Improvement
>          Components: Content Distribution
>    Affects Versions: Content Distribution Journal Core 0.1.16
>            Reporter: Jörg Hoh
>            Priority: Major
>
> In the 2 classes {{Bookkepper}} and the {{Localstore}} the creation of ResourceResolvers is spread over multiple places, and also the number of methods, where ResourceResolvers are opened for obviously tiny operations is quite high.
> Therefor I refactored the creation of ResourceResolvers for the subservice bookkeeper (which is the majority of cases) and centralized the creation of it into a central supplier within the {{Bookkeeper}}. I also added a new Gauge metric to observe how often a new ResourceResolver is actually created.
> My gut feeling is, that the number of creations is (too) high; but before I start combining operations and reduce the number of ResourceResolver creations, I would like to understand if it's a problem at all.
> See https://github.com/apache/sling-org-apache-sling-distribution-journal/pull/63 for the PR



--
This message was sent by Atlassian Jira
(v8.3.4#803005)