Hi David, some info is in the trace: org.apache.felix.configadmin:1.8.8 org.apache.felix.scr:2.0.2
Unfortunately I cannot get the trunk version into production. but I can try the debug log anyway. But first I need to figure out where I can set this Fabian On Tue, May 31, 2016 at 10:04 PM, David Jencks < [email protected]> wrote: > You might know what’s in Karaf, but I don’t. What are the versions of > config admin and DS that you are using? > > Since you say this is occurring in production it might not be possible, > but if you can get a log with debug trace on (setting ds.loglevel=debug) > with the trunk version of DS that would be extremely helpful figuring out > what is going on…. I added some logging of the config change count since > the last release. > > thanks > david jencks > > > On May 31, 2016, at 12:53 PM, Fabian Lange <[email protected]> > wrote: > > > > 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 > >
