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

Potential concurrency issues with resource provider registration/unregistration

    XMLWordPrintableJSON

Details

    Description

      With SLING-6943 (and follow up issues) we removed larger synchronized blocks in favour if smaller ones to not call to the service registry from within a synchronized blocks.
      However, this split up synchronization might lead to concurrency issues - the code that got split up into smaller sync blocks still expects that no one interferes while all the blocks are executed.
      As that might happen, this results in the code making wrong expectations.

      We probably need to get back to large sync'ed blocks and call the service registry from within.

      Update: the code is actually written with the exceptional case in mind (two providers for the same path) - only for that case the lazy getting of services makes sense. As the normal use case requires the service anyway, we can avoid calling to the service registry from within the sync blocks - punishing the exceptional case with potentially unnecessary fetched providers

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: