There's a race condition in DS between registering a new component holder for existing configuration and processing configuration events. Before FELIX-3912 it was possible to completely miss a configuration for a new component holder if the configuration arrived between the query for existing configurations and the registration of the holder for configuration updates. I switched the order, and now there's a chance a configuration update will be applied twice. (even after my second commit on this)
Is this a problem? I think a solution would be to register a ManagedService or ManagedServiceFactory for each component holder, since then the initial configuration and all updates would occur on the same thread. This seems like a lot of services…. I haven't thought much but I think to distinguish between MS and MSF we need to query the initial set and look for events to determine whether there's a factoryPID or just PID and use that to decide. Thoughts? Any other ideas? many thanks david jencks
