Hi all, I am observing an issue in production which looks to me like a race condition, but I am unable to reproduce it so far.
The exception is: java.lang.IllegalStateException: Existing Configuration with pid factoryPid.a5b6fe71-556c-4ce9-b09c-c19542586fc5 has had its properties set to null and location changed. We expected a delete event first. at org.apache.felix.scr.impl.config.ConfigurationSupport.configurationEvent(ConfigurationSupport.java:351)[34:org.apache.felix.scr:2.0.2] at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.sendEvent(ConfigurationManager.java:2046)[4:org.apache.felix.configadmin:1.8.8] at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.run(ConfigurationManager.java:2014)[4:org.apache.felix.configadmin:1.8.8] at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:143)[4:org.apache.felix.configadmin:1.8.8] at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:110)[4:org.apache.felix.configadmin:1.8.8] at java.lang.Thread.run(Thread.java:745)[:1.8.0_91] What is happening: I am creating configurations in Karaf (4.0.5) using ConfigAdmin: Configuration configuration = configAdmin.createFactoryConfiguration( "factoryPid", null); configuration.update(dictionary); It is possible that due to validation shortly after the same config is deleted: configAdmin.listConfigurations("(service.factoryPid=factoryPid)" )[0].delete() My theory is that the update is still processing while it is already deleted again, and then the scr listener complains. Ideas? Best regards, Fabian -- Fabian Lange | Performance Expert mobil: +49 (0) 160.3673393 codecentric AG | Merscheider Straße 1 | 42699 Solingen | Deutschland Sitz der Gesellschaft: Solingen | HRB 25917| Amtsgericht Wuppertal Vorstand: Michael Hochgürtel . Mirko Novakovic . Rainer Vehns Aufsichtsrat: Patric Fedlmeier (Vorsitzender) . Klaus Jäger . Jürgen Schütz