[jboss-dev] Further profling: Where should I focus?

Brian Stansberry brian.stansberry at redhat.com
Wed Jan 13 11:05:47 EST 2010


Yes, see 
http://lists.jboss.org/pipermail/jboss-development/2010-January/015404.html

On 01/13/2010 09:59 AM, Alessio Soldano wrote:
> I confirm, 25 secs here, good :-)
> Btw, do you also get warnings with NPE when shutting down?
>
> 16:56:16,582 INFO  [TomcatDeployment] undeploy, ctxPath=/jmx-console
> 16:56:16,623 WARN  [ScopedKernelController] Error uninstalling from
> PreInstall: name=jboss.naming:module=jmx-console aliases=[java:module]
> state=Not Installed: java.lang.NullPointerException
>      at
> org.jboss.kernel.plugins.dependency.ScopedKernelController.getContext(ScopedKernelController.java:143)
>      at
> org.jboss.dependency.plugins.AbstractController.uninstallUnusedOnDemandContexts(AbstractController.java:1503)
>      at
> org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1463)
>      at
> org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1357)
>      at
> org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:704)
>      at
> org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:732)
>      at
> org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:617)
>      at
> org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.undeploy(BeanMetaDataDeployer.java:228)
>      at
> org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer.undeploy(BeanMetaDataDeployer.java:58)
>      at
> org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalUndeploy(AbstractSimpleRealDeployer.java:69)
>      at
> org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.undeploy(AbstractRealDeployer.java:117)
>      at
> org.jboss.deployers.plugins.deployers.DeployerWrapper.undeploy(DeployerWrapper.java:204)
>      at
> org.jboss.deployers.plugins.deployers.DeployersImpl.doUndeploy(DeployersImpl.java:1690)
>      at
> org.jboss.deployers.plugins.deployers.DeployersImpl.doUninstallParentLast(DeployersImpl.java:1597)
>      at
> org.jboss.deployers.plugins.deployers.DeployersImpl.doUninstallParentLast(DeployersImpl.java:1590)
>      at
> org.jboss.deployers.plugins.deployers.DeployersImpl.uninstall(DeployersImpl.java:1552)
>      at
> org.jboss.dependency.plugins.AbstractControllerContext.uninstall(AbstractControllerContext.java:384)
>      at
> org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:1890)
>      at
> org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1456)
>      at
> org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:892)
>      at
> org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:602)
>      at
> org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:811)
>      at
> org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:654)
>      at
> org.jboss.system.server.profileservice.repository.MainDeployerAdapter.process(MainDeployerAdapter.java:117)
>      at
> org.jboss.system.server.profileservice.repository.ProfileDeployAction.uninstall(ProfileDeployAction.java:95)
>      at
> org.jboss.system.server.profileservice.repository.AbstractProfileAction.uninstall(AbstractProfileAction.java:70)
>      at
> org.jboss.system.server.profileservice.repository.AbstractProfileService.uninstall(AbstractProfileService.java:417)
>      at
> org.jboss.dependency.plugins.AbstractControllerContext.uninstall(AbstractControllerContext.java:384)
>      at
> org.jboss.dependency.plugins.AbstractController.uninstall(AbstractController.java:1890)
>      at
> org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1456)
>      at
> org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1357)
>      at
> org.jboss.dependency.plugins.AbstractController.uninstallUnusedOnDemandContexts(AbstractController.java:1540)
>      at
> org.jboss.dependency.plugins.AbstractController.uninstallContext(AbstractController.java:1463)
>      at
> org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:892)
>      at
> org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:602)
>      at
> org.jboss.system.server.profileservice.repository.AbstractProfileService.deactivateProfile(AbstractProfileService.java:448)
>      at
> org.jboss.system.server.profileservice.ProfileServiceBootstrap.shutdown(ProfileServiceBootstrap.java:326)
>      at
> org.jboss.system.server.profileservice.ProfileServiceBootstrap.shutdown(ProfileServiceBootstrap.java:100)
>      at
> org.jboss.bootstrap.impl.base.server.AbstractServer.shutdownBootstraps(AbstractServer.java:892)
>      at
> org.jboss.bootstrap.impl.base.server.AbstractServer.shutdown(AbstractServer.java:309)
>      at org.jboss.Main$ShutdownHook$1.run(Main.java:893)
>
> Jaikiran Pai wrote:
>> With the recent upgrade of MC in AS trunk, the "default" config on my
>> system now boots in around 23 seconds consistently. Before the upgrade
>> it used to take somewhere around 30 to 33 seconds.
>>
>> -Jaikiran
>>
>> Kabir Khan wrote:
>>
>>> I forgot to mention the changes that I did for JBKERNEL-75, i.e. lifecycle: http://community.jboss.org/message/518409#518409
>>>
>>> The gist of it is that<lifecycle-configure/>  &  friends no longer can take an 'expr' attribute (containing a pointcut) and that the 'classes' attribute now must take an annotation.
>>>
>>> On 5 Jan 2010, at 18:08, Kabir Khan wrote:
>>>
>>>
>>>> The work for this has been committed against https://jira.jboss.org/jira/browse/JBKERNEL-75 and https://jira.jboss.org/jira/browse/JBKERNEL-74. I have a few things I need to do before the end of the week, if I have any time I'll try to see what impact this has on AS boot time.
>>>> On 4 Jan 2010, at 17:28, Kabir Khan wrote:
>>>>
>>>>
>>>>> I tried starting AS with the updated jboss-aop-mc-int.jar, but ran into problems with dependencies. I'll work on the @JMX stuff next, and try to see if I can update all the dependencies locally in AS once I'm done with that if I have some time before our release
>>>>>
>>>>> On 4 Jan 2010, at 15:43, Kabir Khan wrote:
>>>>>
>>>>>
>>>>>> I think I've got the bypassing proxy stuff working now both with and without weaving. I'm re-running some tests before committing. A summary of what I have done;
>>>>>>
>>>>>> -AOP proxy creation/checks is disabled by default
>>>>>> - at EnableAopProxy on a bean forces it to go through the proxy checks
>>>>>> - at DisableAOP is deprecated, but will stil be checked if it is present and the new annotations are not present
>>>>>>
>>>>>> A few points:
>>>>>> -if a bean is not woven but has constructor aspects you want invoked, the bean needs the @EnableAopProxy annotation
>>>>>> -If a bean's class is woven it can have aspects, so we will always check the AOP dependencies for that bean. This will only happen if loadtime weaving was turned on (or compile-time weaving was used) AND the bean matches some pointcuts, so it should not be an issue in practice.
>>>>>>
>>>>>> Once I've tidied up I'll commit to MC trunk, and try putting it into AS trunk before moving on to replacing the mechanism for AOP lifecycle.
>>>>>>
>>>>>> On 24 Dec 2009, at 12:29, Kabir Khan wrote:
>>>>>>
>>>>>>
>>>>>>> I've made a start on this, but doubt I'll finish it before I finish for Christmas. I am deprecating the @DisableAOP annotation. By default aop proxies will be disabled, but can be enabled with @EnableAopProxy. Lifecycle callbacks will be enabled by default (and I'll come up with a quicker way of determining if they should apply), but can be disabled using the @DisableAopLifecycle annotation.
>>>>>>>
>>>>>>> One issue that I need to look into is that there are a bunch of tests that run with weaving enabled, so I need to see how they fare with this new setup. Since if they are woven, aspects will apply, and if those aspects have dependencies we need those in AOPDependencyBuilder.
>>>>>>>
>>>>>>>
>>>>>>> On 24 Dec 2009, at 10:47, Ales Justin wrote:
>>>>>>>
>>>>>>>
>>>>>>>>> +1, disable AOP wherever possible.
>>>>>>>>>
>>>>>>>> I guess we can go the other way now, disabled by default + make
>>>>>>>> lifecycle completely OO.
>>>>>>>> We should then definitely see good improvement.
>>>>>>>>
>>>>>>>>
>>>>>>>>> And I'd even dare say if you want @JMX, why not just
>>>>>>>>> implement it the old fashion with MBean interfaces? It's simple and fast :-)
>>>>>>>>>
>>>>>>>> You got that right, it's simple, probably too simple. ;-)
>>>>>>>> I think one would still like to use the real power of POJO and IoC and
>>>>>>>> just register it to MBeanServer for some simple admin/config.
>>>>>>>>
>>>>>>>> I dare to say I think you need to re-read this article :-)
>>>>>>>> * http://java.dzone.com/articles/a-look-inside-jboss-microconta-0
>>>>>>>> _______________________________________________
>>>>>>>> jboss-development mailing list
>>>>>>>> jboss-development at lists.jboss.org
>>>>>>>> https://lists.jboss.org/mailman/listinfo/jboss-development
>>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> jboss-development mailing list
>>>>>>> jboss-development at lists.jboss.org
>>>>>>> https://lists.jboss.org/mailman/listinfo/jboss-development
>>>>>>>
>>>>>> _______________________________________________
>>>>>> jboss-development mailing list
>>>>>> jboss-development at lists.jboss.org
>>>>>> https://lists.jboss.org/mailman/listinfo/jboss-development
>>>>>>
>>>>> _______________________________________________
>>>>> jboss-development mailing list
>>>>> jboss-development at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/jboss-development
>>>>>
>>>> _______________________________________________
>>>> jboss-development mailing list
>>>> jboss-development at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/jboss-development
>>>>
>>> _______________________________________________
>>> jboss-development mailing list
>>> jboss-development at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/jboss-development
>>>
>>
>> _______________________________________________
>> jboss-development mailing list
>> jboss-development at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/jboss-development
>>
>
>


-- 
Brian Stansberry
Lead, AS Clustering
JBoss by Red Hat



More information about the jboss-development mailing list