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)