[jira] [Commented] (FELIX-5649) Refreshing a fragment causes the framework to be restarted

2017-06-06 Thread Richard S. Hall (JIRA)

[ 
https://issues.apache.org/jira/browse/FELIX-5649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16039481#comment-16039481
 ] 

Richard S. Hall commented on FELIX-5649:


Ok, I see what you are saying. The reasoning behind not letting the ee 
requirement be hosted is not clear to me, although I understand there is no 
need to resolve the ee requirement more than once for hosting, it does no harm 
to do it more than once and doesn't create a special case. But if that is the 
case, then yes it does seem like refreshing should only consider host 
requirements when refreshing fragment dependencies.

> Refreshing a fragment causes the framework to be restarted
> --
>
> Key: FELIX-5649
> URL: https://issues.apache.org/jira/browse/FELIX-5649
> Project: Felix
>  Issue Type: Bug
>Affects Versions: framework-5.6.2
>Reporter: Guillaume Nodet
>
> This is caused because the fragment has 2 wires: one to its host and another 
> one to the system bundle for an osgi.ee requirement.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (FELIX-5649) Refreshing a fragment causes the framework to be restarted

2017-06-06 Thread Guillaume Nodet (JIRA)

[ 
https://issues.apache.org/jira/browse/FELIX-5649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16039362#comment-16039362
 ] 

Guillaume Nodet commented on FELIX-5649:


See the section 7.4:
{code}
A fragment bundle will show all its declared capabilities and requirements on 
its Bundle Revision but during resolving the resolver only considers the 
osgi.wiring.host and osgi.ee requirements and the osgi.identity capability and 
requirements.
The osgi.wiring.host requirement represents the Fragment-Host header. A 
fragment can be attached to different hosts and each attachment creates a wire 
from the fragment's Bundle Wiring to the host's Bundle Wiring. The osgi.ee 
requirement is also never hosted.
{code}

> Refreshing a fragment causes the framework to be restarted
> --
>
> Key: FELIX-5649
> URL: https://issues.apache.org/jira/browse/FELIX-5649
> Project: Felix
>  Issue Type: Bug
>Affects Versions: framework-5.6.2
>Reporter: Guillaume Nodet
>
> This is caused because the fragment has 2 wires: one to its host and another 
> one to the system bundle for an osgi.ee requirement.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (FELIX-5649) Refreshing a fragment causes the framework to be restarted

2017-06-06 Thread Guillaume Nodet (JIRA)

[ 
https://issues.apache.org/jira/browse/FELIX-5649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16039347#comment-16039347
 ] 

Guillaume Nodet commented on FELIX-5649:


In my case, the fragment is not an extension.  But reading the spec and the 
resolver impl lead me to think that osgi.ee requirements are not hosted, i.e. 
they are wired from the fragment itself and not its host.
That has been the case at least from framework 5.0.0 release.
If that's correct, then we simply need to only take into account host wires 
when calculating dependencies as suggested by my patch above.

> Refreshing a fragment causes the framework to be restarted
> --
>
> Key: FELIX-5649
> URL: https://issues.apache.org/jira/browse/FELIX-5649
> Project: Felix
>  Issue Type: Bug
>Affects Versions: framework-5.6.2
>Reporter: Guillaume Nodet
>
> This is caused because the fragment has 2 wires: one to its host and another 
> one to the system bundle for an osgi.ee requirement.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (FELIX-5649) Refreshing a fragment causes the framework to be restarted

2017-06-06 Thread Karl Pauls (JIRA)

[ 
https://issues.apache.org/jira/browse/FELIX-5649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16039064#comment-16039064
 ] 

Karl Pauls commented on FELIX-5649:
---

Yeah, I'm a bit confused as well. As [~gnodet] references 3.15.1 it almost 
sounds like we are talking about an extension bundle - in which case, it would 
be correct that the framework gets refreshed (from the spec 3.15): 

"If a RESOLVED extension bundle is refreshed then the Framework must shutdown; 
the host VM must terminate and framework must be re-launched."

Obviously, if we are talking about a "normal" fragment, it shouldn't.

> Refreshing a fragment causes the framework to be restarted
> --
>
> Key: FELIX-5649
> URL: https://issues.apache.org/jira/browse/FELIX-5649
> Project: Felix
>  Issue Type: Bug
>Affects Versions: framework-5.6.2
>Reporter: Guillaume Nodet
>
> This is caused because the fragment has 2 wires: one to its host and another 
> one to the system bundle for an osgi.ee requirement.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (FELIX-5649) Refreshing a fragment causes the framework to be restarted

2017-06-06 Thread Richard S. Hall (JIRA)

[ 
https://issues.apache.org/jira/browse/FELIX-5649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16039031#comment-16039031
 ] 

Richard S. Hall commented on FELIX-5649:


Fragments can have multiple wires, but they should only be wires to hosts, they 
shouldn't have any other type of wire, IIRC.

I could be wrong, but I thought a fragment attached to the system bundle does 
cause a framework refresh, though.

> Refreshing a fragment causes the framework to be restarted
> --
>
> Key: FELIX-5649
> URL: https://issues.apache.org/jira/browse/FELIX-5649
> Project: Felix
>  Issue Type: Bug
>Affects Versions: framework-5.6.2
>Reporter: Guillaume Nodet
>
> This is caused because the fragment has 2 wires: one to its host and another 
> one to the system bundle for an osgi.ee requirement.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


Re: Resolver problem causing a fragment to have a wire to the framework ?

2017-06-06 Thread Guillaume Nodet
>From the specs (section 3.15.1,
https://github.com/apache/felix/blob/trunk/resolver/src/main/java/org/apache/felix/resolver/ResolverImpl.java#L2027-L2028),
it seems that the fact that there are 2 wires on the fragment is expected.
However, such a wire should definitely not cause a refresh of the framework
if a fragment is refreshed.
So I'm planning to add an additional test around the following line:
https://github.com/apache/felix/blob/trunk/framework/src/main/java/org/apache/felix/framework/BundleRevisionDependencies.java#L173

if
(HostNamespace.HOST_NAMESPACE.equals(bw.getCapability().getNamespace()))
{
result.add(bw.getProvider().getBundle());
}


2017-06-06 16:12 GMT+02:00 Guillaume Nodet :

> Actually, the bug (if it's a bug) is much older, as I can observe the same
> behavior with framework 5.0.0.
> I can't easily try with 4.x lines though...
>
> 2017-06-06 15:47 GMT+02:00 Guillaume Nodet :
>
>> I just hit a problem where refreshing a fragment cause the framework to
>> be wrongly refreshed.
>> This is caused by the fragment's wiring having 2 wires: one to its host,
>> and another one for an osgi.ee requirement.
>> My understanding is that fragments should only be wired to their hosts.
>> This is a regression between 5.6.1 and 5.6.2, which may have been cause
>> by the upgrade to resolver 1.12.0.
>>
>> At first glance, it could be related to the following commit:
>>   https://github.com/apache/felix/commit/b844e1ebd9445d1
>> 8c8a3d37f38f5e43e1a13
>>
>> Any hint appreciated...
>> Btw, i've raised FELIX-5649
>>  for that.
>>
>> --
>> 
>> Guillaume Nodet
>>
>>
>
>
> --
> 
> Guillaume Nodet
>
>


-- 

Guillaume Nodet


[jira] [Commented] (FELIX-5649) Refreshing a fragment causes the framework to be restarted

2017-06-06 Thread Guillaume Nodet (JIRA)

[ 
https://issues.apache.org/jira/browse/FELIX-5649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16039010#comment-16039010
 ] 

Guillaume Nodet commented on FELIX-5649:


>From the specs (section 3.15.1, 
>https://github.com/apache/felix/blob/trunk/resolver/src/main/java/org/apache/felix/resolver/ResolverImpl.java#L2027-L2028),
> it seems that the fact that there are 2 wires on the fragment is expected.
However, such a wire should definitely not cause a refresh of the framework if 
a fragment is refreshed.
So I'm planning to add an additional test around the following line:
https://github.com/apache/felix/blob/trunk/framework/src/main/java/org/apache/felix/framework/BundleRevisionDependencies.java#L173

{code}
if 
(HostNamespace.HOST_NAMESPACE.equals(bw.getCapability().getNamespace()))
{
result.add(bw.getProvider().getBundle());
}
{code}

> Refreshing a fragment causes the framework to be restarted
> --
>
> Key: FELIX-5649
> URL: https://issues.apache.org/jira/browse/FELIX-5649
> Project: Felix
>  Issue Type: Bug
>Affects Versions: framework-5.6.2
>Reporter: Guillaume Nodet
>
> This is caused because the fragment has 2 wires: one to its host and another 
> one to the system bundle for an osgi.ee requirement.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


Re: Resolver problem causing a fragment to have a wire to the framework ?

2017-06-06 Thread Guillaume Nodet
Actually, the bug (if it's a bug) is much older, as I can observe the same
behavior with framework 5.0.0.
I can't easily try with 4.x lines though...

2017-06-06 15:47 GMT+02:00 Guillaume Nodet :

> I just hit a problem where refreshing a fragment cause the framework to
> be wrongly refreshed.
> This is caused by the fragment's wiring having 2 wires: one to its host,
> and another one for an osgi.ee requirement.
> My understanding is that fragments should only be wired to their hosts.
> This is a regression between 5.6.1 and 5.6.2, which may have been cause by
> the upgrade to resolver 1.12.0.
>
> At first glance, it could be related to the following commit:
>   https://github.com/apache/felix/commit/b844e1ebd9445d1
> 8c8a3d37f38f5e43e1a13
>
> Any hint appreciated...
> Btw, i've raised FELIX-5649
>  for that.
>
> --
> 
> Guillaume Nodet
>
>


-- 

Guillaume Nodet


Resolver problem...

2017-06-06 Thread Guillaume Nodet
I just hit a problem where refreshing a fragment cause the framework to
be wrongly refreshed.
This is caused by the fragment's wiring having 2 wires: one to its host,
and another one for an osgi.ee requirement.
My understanding is that fragments should only be wired to their hosts.
This is a regression between 5.6.1 and 5.6.2, which may have been cause by
the upgrade to resolver 1.12.0.

At first glance, it could be related to the following commit:

https://github.com/apache/felix/commit/b844e1ebd9445d18c8a3d37f38f5e43e1a13

Any hint appreciated...
Btw, i've raised FELIX-5649
 for that.

Guillaume


Resolver problem causing a fragment to have a wire to the framework ?

2017-06-06 Thread Guillaume Nodet
I just hit a problem where refreshing a fragment cause the framework to
be wrongly refreshed.
This is caused by the fragment's wiring having 2 wires: one to its host,
and another one for an osgi.ee requirement.
My understanding is that fragments should only be wired to their hosts.
This is a regression between 5.6.1 and 5.6.2, which may have been cause by
the upgrade to resolver 1.12.0.

At first glance, it could be related to the following commit:
  https://github.com/apache/felix/commit/b844e1ebd9445d18c8a3d37f38
f5e43e1a13

Any hint appreciated...
Btw, i've raised FELIX-5649
 for that.

-- 

Guillaume Nodet


[jira] [Created] (FELIX-5649) Refreshing a fragment causes the framework to be restarted

2017-06-06 Thread Guillaume Nodet (JIRA)
Guillaume Nodet created FELIX-5649:
--

 Summary: Refreshing a fragment causes the framework to be restarted
 Key: FELIX-5649
 URL: https://issues.apache.org/jira/browse/FELIX-5649
 Project: Felix
  Issue Type: Bug
Affects Versions: framework-5.6.2
Reporter: Guillaume Nodet


This is caused because the fragment has 2 wires: one to its host and another 
one to the system bundle for an osgi.ee requirement.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)