Uploaded image for project: 'Felix'
  1. Felix
  2. FELIX-6633

Dynamic references may miss events while causing deactivation

    XMLWordPrintableJSON

Details

    Description

      This issue sounds similar to issue FELIX-6616 but the cause is much different. It still involves multiple threads that are registering/unregistering services that are referenced by a dynamic reference using 1..1 or m..n where m is >0 (set through configuration admin).

      The scenario involves one thread unregistering a service that causes deactivation while at the same time another thread is registering a service that would again satisfy the cardinality of the reference. When this happens the tracker can get into a state where it misses the registration event while deactivating.

      There are probably several ways to fix this, but the most simple seems to be to add a call to recheck the dependency manager after deactivation. This is similar to the other reference types that are not dynamic.

      Attachments

        Issue Links

          Activity

            People

              tjwatson Tom Watson
              tjwatson Tom Watson
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: