-
1. Re: Another startup time regression
dimitris Feb 7, 2008 6:15 AM (in response to starksm64)I took a few threadumps and it looks to be processing annotations.
at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at org.jboss.aop.Advisor.loadAnnotationClass(Advisor.java:671) at org.jboss.aop.Advisor.hasAnnotation(Advisor.java:511)
Kabir will you take a look? -
2. Re: Another startup time regression
kabirkhan Feb 7, 2008 8:59 AM (in response to starksm64)The regression is due to a bug fix in the annotation processing. It was not always checking the Advisor.metadata when checking annotations for methods, this has now been added, but slows it down.
The main underlying problem is that the pointcut matchers work on strings, but to check for the annotations in the metadata repository (org.jboss.metadata.spi.MetaData.isAnnotationPresent()) we need to convert the String into a Class, by attempting to load the class. All in all, that means a lot of attempts to load classes.
I don't see an easy fix for this -
3. Re: Another startup time regression
dimitris Feb 7, 2008 10:46 AM (in response to starksm64)So should we extend the Metadata spi with a:
/** * Is the annotation present? * * @param annotationType the stringfied annotation type * @return true when present */ boolean isAnnotationPresent(String annotationType);
-
4. Re: Another startup time regression
kabirkhan Feb 7, 2008 10:51 AM (in response to starksm64)I am getting some performance improvements by caching annotation names that could not be found per classloader. If a classloader wants to load up an annotation that it could not find previously, I now avoid attempting doing the load. I am testing, and if all goes well I will release later this evening.
http://jira.jboss.com/jira/browse/JBAOP-524 -
5. Re: Another startup time regression
dimitris Feb 7, 2008 4:17 PM (in response to starksm64)The latest 2.0.0.CR7 doesn't seem to offer significat improvement:
23:14:21,000 INFO [TransactionManagerService] Recovery manager started 23:14:21,000 INFO [TransactionManagerService] Binding TransactionManager JNDI Reference 23:14:36,687 INFO [AspectDeployer] Deploying xml into org.jboss.aop.AspectManager
-
6. Re: Another startup time regression
kabirkhan Feb 8, 2008 5:02 AM (in response to starksm64)In that case, I can't see any other way than to have a
boolean isAnnotationPresent(String annotationType);
as you mentioned -
7. Re: Another startup time regression
dimitris Feb 8, 2008 5:26 AM (in response to starksm64)That requires further discussion and a new MC release, so let's do that for CR1. Thanks Kabir.
-
9. Re: Another startup time regression
starksm64 Feb 9, 2008 3:45 PM (in response to starksm64)I just updated the aop version to 2.0.0.CR7 and definitely see an improvement:
12:41:51,320 INFO [ServerImpl] JBoss (Microcontainer) [5.0.0.CR1 (build: SVNTag=JBoss_5_0_0_CR1 date=200802090612)] Started in 24s:810ms
still want it lower, at least under 10 secs on this box. -
10. Re: Another startup time regression
brian.stansberry Feb 9, 2008 6:28 PM (in response to starksm64)Are you testing 'all' or 'default'?
-
11. Re: Another startup time regression
starksm64 Feb 9, 2008 9:22 PM (in response to starksm64)Default. All takes much longer with 4-5 jgroups channels starting up:
18:21:37,773 INFO [ServerImpl] JBoss (Microcontainer) [5.0.0.CR1 (build: SVNTag=JBoss_5_0_0_CR1 date=200802090612)] Started in 44s:280ms
-
12. Re: Another startup time regression
brian.stansberry Feb 9, 2008 11:17 PM (in response to starksm64)OK, that's what I wanted to check.
There's 3 actual JChannel starts, where they need to pause 2 secs each to wait for answers t o their discovery packets. The rest of the channel starts (should be 7 total) are sharing those underlying JChannel's, so they should start quickly. -
13. Re: Another startup time regression
kabirkhan Feb 14, 2008 3:35 PM (in response to starksm64)I have created an aop snapshot with this fix
http://jira.jboss.com/jira/browse/JBAOP-526
Can you please try that? My computer is old and creaking and not really suitable for performance tests (default takes about a minute to boot up) -
14. Re: Another startup time regression
starksm64 Feb 18, 2008 2:16 PM (in response to starksm64)What repo is the snapshot in?