Hi, On 25.04.2010 22:57, Pierre De Rop wrote: > Then I have a junit test which reproduces the problem. > Would you like me to attach it to the FELIX-1545 issue ?
This is very helpful. Thanks. I suspect the following is going on: The configuration is repeatedly updated and since delivery lags behind update, only the latest update state at the time of delivery is actually delivered. Consider for example 5 updates in succession. The first might be delivered, which delays the delivery thread. When the delivery thread takes the next update task from the queue, the most recent update (the fifth) is delivered. Updates 2-4 are not delivered. In the end it (theoretically) makes no difference. But I agree, that this is definitely not what is expected. So, I will have to refactor configuration delivery such that the actual update of each configuration is effectively delivered. Regards Felix > > Regards; > /pierre > > > On Sun, Apr 25, 2010 at 11:54 PM, Felix Meschberger <[email protected]>wrote: > >> Hi Pierre, >> >> Yes, I am afraid that you run into the FELIX-1545 issue ... >> >> Regards >> Felix >> >> On 24.04.2010 11:49, Pierre De Rop wrote: >>> Hello everyone, and Felix; >>> >>> I am using ConfigAdmin 1.2.4, and I have written a test case which is >> using >>> a ManagedServiceFactory, and consists in updating a Factory Configuration >>> object. >>> Something like: >>> >>> Configuration cf = configAdmin.createFactoryConfiguration(m_factoryPid, >>> null); >>> cf.update(new Properties() {{ put("foo", "bar"); }}); >>> >>> And then, a little bit later, I update again the cf object, like this: >>> >>> cf.update(new Properties() {{ put("foo", "bar2"); }}); >>> >>> So, most of the time, this test works fine. However, some times, the last >>> update seems to be missed, and I see the following CM logs: >>> >>> [LogService/4] Scheduling task Update: >>> pid=MyFactoryPid.c57f6e36-6e1a-4904-912f-26b021913087 >>> [LogService/4] Running task Update: >>> pid=MyFactoryPid.c57f6e36-6e1a-4904-912f-26b021913087 >>> [LogService/4] Configuration >>> MyFactoryPid.c57f6e36-6e1a-4904-912f-26b021913087 has already been >> updated, >>> nothing to be done anymore. >>> [LogService/4] Scheduling task Fire ConfigurationEvent: >>> pid=MyFactoryPid.c57f6e36-6e1a-4904-912f-26b021913087 >>> [LogService/4] Running task Fire ConfigurationEvent: >>> pid=MyFactoryPid.c57f6e36-6e1a-4904-912f-26b021913087 >>> >>> So, I have checked if some pending issues were addressing this eventual >>> problem, and I came across the issue FELIX-1545. >>> So, my question is the following: >>> >>> is my problem related to the FELIX-1545 issue ? if not, then should I >> open a >>> Jira issue ? >>> >>> thanks; >>> /pierre >>> >> >
