[
https://issues.apache.org/jira/browse/OAK-1368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14068278#comment-14068278
]
Michael Dürig commented on OAK-1368:
------------------------------------
We could even see this as a first step towards a more flexible solution where
the number of event generators could be freely configured and event listeners
could be assigned to generators as required. This would help to better trade
off CPU usage, memory consumption and processing time.
> Only one Observer per session
> -----------------------------
>
> Key: OAK-1368
> URL: https://issues.apache.org/jira/browse/OAK-1368
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: jcr
> Reporter: Jukka Zitting
> Assignee: Michael Dürig
> Priority: Critical
> Labels: observation
> Fix For: 1.1, 1.0.3
>
>
> As mentioned in OAK-1332, a case where a single session registers multiple
> observation listeners can be troublesome if events are delivered concurrently
> to all of those listeners, since in such a case the {{NamePathMapper}} and
> other session internals will likely suffer from lock contention.
> A good way to avoid this would be to have all the listeners registered within
> a single session be tied to a single {{Observer}} and thus processed
> sequentially.
> Doing so would also improve performance as the listeners could leverage the
> same content diff. As the listeners come from a single session and thus
> presumably from a single client, there's no need to worry about one client
> blocking the work of another.
--
This message was sent by Atlassian JIRA
(v6.2#6252)