[
https://issues.apache.org/jira/browse/SLING-2523?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13455710#comment-13455710
]
Bertrand Delacretaz commented on SLING-2523:
--------------------------------------------
Dunno how far you're going with the queue idea (haven't looked at your patch so
far) but it might be interesting to use a (priority?) queue for *all* installer
operations.
Problems that we've seen in complex upgrade scenarios (replace 150 bundles with
160 new ones at startup) include the installer getting confused as its core
bundle was restarted, the installer/listener combo getting confused with the
run levels control due to similar things happening.
Using a persistent queue with simple testable logic to aggregate and prioritize
operations might help.
> Improve the JCR Installer
> -------------------------
>
> Key: SLING-2523
> URL: https://issues.apache.org/jira/browse/SLING-2523
> Project: Sling
> Issue Type: Improvement
> Components: Installer
> Affects Versions: JCR Installer 3.1.4
> Reporter: Carsten Ziegeler
> Attachments: SLING-2523_1.patch
>
>
> The current implementation has some drawbacks:
> - it registers several observation listeners
> - to handle deletes it has to register even more listeners
> - observation events are just used as markers and there is a polling thread
> running continously to check for changed markers and then rescan a sub tree
> in the repository
> - changes are not reported to the OSGi installer in one method call
> I think we can simplify and improve the implementation by
> - just registering a single observation listener for root and then do simple
> path matching operations
> - use the observation events to detect what has changed
> - report the changes in a single method call
> In addition it would be nice if the jcr installer waits befire reporting
> changes from an observation event and looks if there is not another
> observation event coming in "right after". This could improve situations
> where changes are not done by a single save but by a serious of saves
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira