Uploaded image for project: 'Sling'
  1. Sling
  2. SLING-4272

Issues in handling of configurations wrt update handling and write back

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    Description

      There are several issues with handling configurations:

      1. If a configuration resource is modified or deleted, a task is created performing the operation. This results in an event from config admin which is then handled by the udpate handler and in turn might create new tasks. There is some logic to detect this situation but this is incomplete; Implementing SLING-4271 revealed such a case.
      The correct behaviour would be to detect this situation within the configuration factory and do not call the update handler when a configuration event occurs.

      2. If a configuration change is triggered through config admin, this results in a configuration event picked up by the configuration factory. The factory calls the update handler which does some magic to update it's state. We have to carefully check that this call is just updating state but not creating new tasks again. The write back functionality is the only function to be called.

      3. The configuration factory is mixing update handling and persistence: right now if a configuration change should not be persisted it's not called the update handler at all. It would be better to call the update handler and let the handler decide whether to persists the resource.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            cziegeler Carsten Ziegeler
            cziegeler Carsten Ziegeler
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Issue deployment