David Jencks created FELIX-5270:
-----------------------------------

             Summary: [DS] Config race between update and delete
                 Key: FELIX-5270
                 URL: https://issues.apache.org/jira/browse/FELIX-5270
             Project: Felix
          Issue Type: Bug
          Components: Declarative Services (SCR)
    Affects Versions: scr-2.0.2
            Reporter: David Jencks
            Assignee: David Jencks
             Fix For: scr-2.0.4


Thanks to Fabian Lange for reporting this problem and providing logging that 
shows what is going on.

The first getConfiguration when the location is not set generates a 
LocationChanged event.  When we get such an event, we get the configuration to 
see what happened.

DS: (either from query or initial CM_UPDATED event) calls getConfiguration, 
setting the bundle location and generating a CM_LOCATION_CHANGED event.
User: delete configuration, setting the properties to null
DS: receive CM_LOCATION_CHANGED, call getConfiguration (incidentally recreating 
the configuration) and get configuration with null properties and a location.  
We then throw:

                            if (configInfo.getProps() == null)
                            {
                                throw new IllegalStateException("Existing 
Configuration with pid " + pid +
                                        " has had its properties set to null 
and location changed.  We expected a delete event first.");
                            }





--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to