karaf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Carman <ja...@carmanconsulting.com>
Subject Re: [DISCUSSS] Duplicate persistent-id usage can cause bundle restart loop...
Date Wed, 03 Aug 2016 11:39:32 GMT
This appears to just be a Blueprint thing.  I tried replicating the looping
issue with simple ManagedServices and that worked just fine.  I got an
ERROR log:

07:19:21,467 | ERROR | CM Configuration Updater (Update:
pid=com.carmanconsulting.karaf.whiteboard) | ?
      ? | 6 - org.apache.felix.configadmin - 1.8.4 |  | Cannot use
configuration com.carmanconsulting.karaf.whiteboard for
[org.osgi.service.cm.ManagedService, id=1013,
bundle=289/mvn:com.carmanconsulting.karaf/karaf-whiteboard-bundle2/1.0.0-SNAPSHOT]:
No visibility to configuration bound to
mvn:com.carmanconsulting.karaf/karaf-whiteboard-bundle1/1.0.0-SNAPSHOT

However, when you use blueprint and the "property-placeholder" (with
update-strategy="reload"), it's a whole different story.  I have checked in
a small project (with a couple other modules in it) that exhibits the issue:

https://github.com/jwcarman/karaf-whiteboard

The README shows how to install it.  Now, keep in mind that this behavior
isn't consistent.  But, try it a few times and you will see the looping it
does in the logs.

On Wed, Aug 3, 2016 at 6:48 AM James Carman <james@carmanconsulting.com>
wrote:

> Right, what I'm saying is that Karaf doesn't behave very nicely when two
> ManagedService's try to use the same service.pid. I want it to barf on the
> second one and not go into its crazy loop that it does.
>
> On Wed, Aug 3, 2016 at 12:53 AM Jean-Baptiste Onofré <jb@nanthrax.net>
> wrote:
>
>> Hi James,
>>
>> you are right only for the ManagedService. If several bundles directly
>> read the configuration with ConfigAdmin (using directly the service),
>> than there is no problem.
>>
>> The problem occurs only when you have several ManagedService on the same
>> config (called when the configuration change especially).
>>
>> Regards
>> JB
>>
>> On 08/02/2016 09:53 PM, James Carman wrote:
>> > When two different bundles use the same configuration pid, you can get
>> into
>> > a very weird restart loop (at least with blueprint).  It violates the
>> > specification for two bundles to try to use the same configuration.
>> > Shouldn't we just fail to start the second bundle if the pid is already
>> > "claimed"?
>> >
>> > James
>> >
>>
>> --
>> Jean-Baptiste Onofré
>> jbonofre@apache.org
>> http://blog.nanthrax.net
>> Talend - http://www.talend.com
>>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message