You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by Thomas Watson <tj...@us.ibm.com> on 2015/08/31 15:18:54 UTC

Recent performance improvements in equinox regions (used by aries subsystems)

I discovered a rather significant performance issue in Equinox regions that can severely impact the performance of service and bundle event firing when there are many listeners registered with the framework.
 
https://bugs.eclipse.org/bugs/show_bug.cgi?id=476074
https://bugs.eclipse.org/bugs/show_bug.cgi?id=476145
 
I mention this here because I noticed a few jiras being worked that relate to subsystems performance.  If folks are using aries subsystems and have a system that contains lots of blueprint or DS components then you have a system with a lot of service listeners. You may want to pick up the latest equinox regions once the fixes are available to have better performance.

Tom


Re: Recent performance improvements in equinox regions (used by aries subsystems)

Posted by Thomas Watson <tj...@us.ibm.com>.
I have no idea what the issue is when running on Felix, but they appear to 
be a bugs in the framework itself.  I remember Equinox used to have a 
problem with updating a host bundle to a fragment and vise-versa.  But 
that was fixed in Luna.

Did you try the same thing on Equinox?

When I proposed and designed extension activators for OSGi core R6 the 
main motivation was the region usecase.  Before there were serious timing 
issues because 'normal' bundles could get resolved and active in the 
service layer before the region digraph had a chance to establish its 
hooks to enforce the region connections.  Now that it is a system bundle 
fragment it can ensure the hooks are available before any normal bundles 
are resolved and it can ensure it is enforcing the region connections all 
the way until the framework is shutdown.

Tom





From:   David Bosschaert <da...@gmail.com>
To:     "dev@aries.apache.org" <de...@aries.apache.org>
Date:   10/09/2015 09:10 AM
Subject:        Re: Recent performance improvements in equinox regions 
(used by aries subsystems)



Looking closer at the latest region digraph bundle I see that it has
been converted to a system bundle fragment. Previously it was just an
ordinary bundle.

It seems to cause issues when updating this bundle to the new version
of the bundle in a running framework, although I haven't been able to
figure out yet why. I am seeing that the RegionDigraph service does
not get registered in such a scenario, even after refreshing the
framework.

Additionally, stopping the framework (Felix 5.2.0) I get an exception 
[1]...
I have also seen the exception [2] appear when then new fragment
bundle is installed.

Why was is necessary to convert it to a system bundle fragment? Any
ideas on why these problems in the extension activator occur?

Thanks,

David

[1] WARNING: Bundle org.eclipse.equinox.region [21] Unable to stop
Extension Activator (java.lang.NoClassDefFoundError:
org/eclipse/equinox/internal/region/StandardRegionDigraphPersistence)

[2] WARNING: Bundle org.eclipse.equinox.region [25] Unable to start
Extension Activator (java.lang.ClassCastException:
org.eclipse.equinox.internal.region.management.StandardManageableRegionDigraph$1
cannot be cast to
org.eclipse.equinox.internal.region.RegionLifecycleListener)

On 2 October 2015 at 17:13, Thomas Watson <tj...@us.ibm.com> wrote:
> Yes the following performance bugs have been fixed in Mars.1
>
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=476074
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=476136
>
> There is an additional performance fix only in master for Neon
>
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=476640
>
> I'm unsure about publishing of the artifacts to maven central.  There is
> ongoing requests for Eclipse to get their act together and publish all
> their jars to maven central, but the solution to that is ongoing.  I 
think
> the one you see in maven central was put there by John Ross.
>
> Tom
>
>
>
>
>
> From:   David Bosschaert <da...@gmail.com>
> To:     "dev@aries.apache.org" <de...@aries.apache.org>
> Date:   10/02/2015 10:06 AM
> Subject:        Re: Recent performance improvements in equinox regions
> (used by aries subsystems)
>
>
>
> Hi Tom,
>
> I see that Mars SR1 has been released and that the Equinox Regions
> bundle org.eclipse.equinox.region_1.2.101.v20150831-1342.jar is part
> of this release, so I assume that's the version that contains these
> fixes...
>
> I was wondering, is there a Maven repository somewhere where this
> artifact will be published? The one in Maven Central is from a couple
> of years ago.
>
> Cheers,
>
> David
>
> On 31 August 2015 at 19:37, Thomas Watson <tj...@us.ibm.com> wrote:
>>>Thanks for the note, Tom!
>>>
>>>Would it be possible to send a note again when the updated Equinox
>>>Regions bundle is available?
>>>
>>>Cheers,
>>>
>>>David
>>>
>>
>> Sure, and if I forget, there will be milestone build for Mars.1
> available on the Equinox download page on Wednesday, Sept 2.
>>
>> Tom
>>
>
>
>
>





Re: Recent performance improvements in equinox regions (used by aries subsystems)

Posted by David Bosschaert <da...@gmail.com>.
Looking closer at the latest region digraph bundle I see that it has
been converted to a system bundle fragment. Previously it was just an
ordinary bundle.

It seems to cause issues when updating this bundle to the new version
of the bundle in a running framework, although I haven't been able to
figure out yet why. I am seeing that the RegionDigraph service does
not get registered in such a scenario, even after refreshing the
framework.

Additionally, stopping the framework (Felix 5.2.0) I get an exception [1]...
I have also seen the exception [2] appear when then new fragment
bundle is installed.

Why was is necessary to convert it to a system bundle fragment? Any
ideas on why these problems in the extension activator occur?

Thanks,

David

[1] WARNING: Bundle org.eclipse.equinox.region [21] Unable to stop
Extension Activator (java.lang.NoClassDefFoundError:
org/eclipse/equinox/internal/region/StandardRegionDigraphPersistence)

[2] WARNING: Bundle org.eclipse.equinox.region [25] Unable to start
Extension Activator (java.lang.ClassCastException:
org.eclipse.equinox.internal.region.management.StandardManageableRegionDigraph$1
cannot be cast to
org.eclipse.equinox.internal.region.RegionLifecycleListener)

On 2 October 2015 at 17:13, Thomas Watson <tj...@us.ibm.com> wrote:
> Yes the following performance bugs have been fixed in Mars.1
>
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=476074
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=476136
>
> There is an additional performance fix only in master for Neon
>
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=476640
>
> I'm unsure about publishing of the artifacts to maven central.  There is
> ongoing requests for Eclipse to get their act together and publish all
> their jars to maven central, but the solution to that is ongoing.  I think
> the one you see in maven central was put there by John Ross.
>
> Tom
>
>
>
>
>
> From:   David Bosschaert <da...@gmail.com>
> To:     "dev@aries.apache.org" <de...@aries.apache.org>
> Date:   10/02/2015 10:06 AM
> Subject:        Re: Recent performance improvements in equinox regions
> (used by aries subsystems)
>
>
>
> Hi Tom,
>
> I see that Mars SR1 has been released and that the Equinox Regions
> bundle org.eclipse.equinox.region_1.2.101.v20150831-1342.jar is part
> of this release, so I assume that's the version that contains these
> fixes...
>
> I was wondering, is there a Maven repository somewhere where this
> artifact will be published? The one in Maven Central is from a couple
> of years ago.
>
> Cheers,
>
> David
>
> On 31 August 2015 at 19:37, Thomas Watson <tj...@us.ibm.com> wrote:
>>>Thanks for the note, Tom!
>>>
>>>Would it be possible to send a note again when the updated Equinox
>>>Regions bundle is available?
>>>
>>>Cheers,
>>>
>>>David
>>>
>>
>> Sure, and if I forget, there will be milestone build for Mars.1
> available on the Equinox download page on Wednesday, Sept 2.
>>
>> Tom
>>
>
>
>
>

Re: Recent performance improvements in equinox regions (used by aries subsystems)

Posted by Thomas Watson <tj...@us.ibm.com>.
Yes the following performance bugs have been fixed in Mars.1

https://bugs.eclipse.org/bugs/show_bug.cgi?id=476074
https://bugs.eclipse.org/bugs/show_bug.cgi?id=476136

There is an additional performance fix only in master for Neon

https://bugs.eclipse.org/bugs/show_bug.cgi?id=476640

I'm unsure about publishing of the artifacts to maven central.  There is 
ongoing requests for Eclipse to get their act together and publish all 
their jars to maven central, but the solution to that is ongoing.  I think 
the one you see in maven central was put there by John Ross.

Tom





From:   David Bosschaert <da...@gmail.com>
To:     "dev@aries.apache.org" <de...@aries.apache.org>
Date:   10/02/2015 10:06 AM
Subject:        Re: Recent performance improvements in equinox regions 
(used by aries subsystems)



Hi Tom,

I see that Mars SR1 has been released and that the Equinox Regions
bundle org.eclipse.equinox.region_1.2.101.v20150831-1342.jar is part
of this release, so I assume that's the version that contains these
fixes...

I was wondering, is there a Maven repository somewhere where this
artifact will be published? The one in Maven Central is from a couple
of years ago.

Cheers,

David

On 31 August 2015 at 19:37, Thomas Watson <tj...@us.ibm.com> wrote:
>>Thanks for the note, Tom!
>>
>>Would it be possible to send a note again when the updated Equinox
>>Regions bundle is available?
>>
>>Cheers,
>>
>>David
>>
>
> Sure, and if I forget, there will be milestone build for Mars.1 
available on the Equinox download page on Wednesday, Sept 2.
>
> Tom
>





Re: Recent performance improvements in equinox regions (used by aries subsystems)

Posted by David Bosschaert <da...@gmail.com>.
Hi Tom,

I see that Mars SR1 has been released and that the Equinox Regions
bundle org.eclipse.equinox.region_1.2.101.v20150831-1342.jar is part
of this release, so I assume that's the version that contains these
fixes...

I was wondering, is there a Maven repository somewhere where this
artifact will be published? The one in Maven Central is from a couple
of years ago.

Cheers,

David

On 31 August 2015 at 19:37, Thomas Watson <tj...@us.ibm.com> wrote:
>>Thanks for the note, Tom!
>>
>>Would it be possible to send a note again when the updated Equinox
>>Regions bundle is available?
>>
>>Cheers,
>>
>>David
>>
>
> Sure, and if I forget, there will be milestone build for Mars.1 available on the Equinox download page on Wednesday, Sept 2.
>
> Tom
>

Re: Recent performance improvements in equinox regions (used by aries subsystems)

Posted by Thomas Watson <tj...@us.ibm.com>.
>Thanks for the note, Tom!
>
>Would it be possible to send a note again when the updated Equinox
>Regions bundle is available?
>
>Cheers,
>
>David
>

Sure, and if I forget, there will be milestone build for Mars.1 available on the Equinox download page on Wednesday, Sept 2.

Tom


Re: Recent performance improvements in equinox regions (used by aries subsystems)

Posted by David Bosschaert <da...@gmail.com>.
Thanks for the note, Tom!

Would it be possible to send a note again when the updated Equinox
Regions bundle is available?

Cheers,

David

On 31 August 2015 at 14:18, Thomas Watson <tj...@us.ibm.com> wrote:
>
> I discovered a rather significant performance issue in Equinox regions that can severely impact the performance of service and bundle event firing when there are many listeners registered with the framework.
>
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=476074
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=476145
>
> I mention this here because I noticed a few jiras being worked that relate to subsystems performance.  If folks are using aries subsystems and have a system that contains lots of blueprint or DS components then you have a system with a lot of service listeners. You may want to pick up the latest equinox regions once the fixes are available to have better performance.
>
> Tom
>