1 2 3 Previous Next 43 Replies Latest reply: Nov 6, 2008 5:59 PM by Scott Stark Go to original post RSS
  • 30. Re: JBAS-6104; slow Seam deployments
    Ales Justin Master

     

    "stan.silvert@jboss.com" wrote:
    I'm not seeing any difference. Same exact behavior.

    Can you try this:
    - http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4185767#4185767
    ;-)

    I've deployed VFS 2.2.0-SNAPSHOT into repo,
    so simple change to jbossas main pom should pick it up.

    To use vfs cache you need to put system property:
    -Djboss.vfs.cache=org.jboss.virtual.plugins.cache.TimedVFSCache

    There are other impls there as well:
    - LRU (needs a bit more config)
    - SoftRef
    - WeakRef

    You should see INFO about cache usage if done right. ;-)

  • 31. Re: JBAS-6104; slow Seam deployments
    Stan Silvert Master

    I'm not seeing any difference.

    Can you be more specific about the messages I should see? There are lots of different messages about caches that come from different places. Which ones are yours?

    Stan

  • 32. Re: JBAS-6104; slow Seam deployments
    Ales Justin Master

     

    "stan.silvert@jboss.com" wrote:

    Can you be more specific about the messages I should see?

    In boot log:
    16:00:56,625 INFO [VFSCacheFactory] Initializing VFSCache [org.jboss.virtual.plugins.cache.TimedVFSCache] ...
    16:00:56,625 DEBUG [TimedVFSCache] Creating timed cache policy, lifetime: null, threadSafe: true, resolution: null
    


  • 33. Re: JBAS-6104; slow Seam deployments
    Stan Silvert Master

    Great news. I updated AS5, jboss-deployers, jboss-vfs, and Seam to the latest from their respective trunks. Using the TimedVFSCache, it looks like the pauses are gone.

    Stan

  • 34. Re: JBAS-6104; slow Seam deployments
    Ales Justin Master

     

    "stan.silvert@jboss.com" wrote:
    Great news. I updated AS5, jboss-deployers, jboss-vfs, and Seam to the latest from their respective trunks. Using the TimedVFSCache, it looks like the pauses are gone.

    And I've got even a few more improvements. ;-)

  • 35. Re: JBAS-6104; slow Seam deployments
    Jay Balunas Master

    Here is what I'm seeing related to this while attempting to test AS 5 + new JSF + seam. This is with the latest code as of about an hour ago.

    When I deploy the seam app the console only shows "Welcome to Seam 2.1.1-SNAPSHOT", and the debug log shows what is below.

    2008-11-05 09:40:14,212 DEBUG [org.ajax4jsf.resource.InternetResourceBuilder] (HDScanner) Return instance of internet resource builder org.ajax4jsf.resource.ResourceBuilderImpl@164cb82
    2008-11-05 09:40:14,212 DEBUG [org.ajax4jsf.resource.InternetResourceBuilder] (HDScanner) Return instance of internet resource builder org.ajax4jsf.resource.ResourceBuilderImpl@164cb82
    2008-11-05 09:40:14,270 INFO [javax.servlet.ServletContextListener] (HDScanner) Welcome to Seam 2.1.1-SNAPSHOT
    2008-11-05 09:40:14,427 DEBUG [org.jboss.seam.deployment.DeploymentStrategy] (HDScanner) Adding org.jboss.seam.bpm.PageflowDeploymentHandler as a deployment handler
    2008-11-05 09:40:14,576 DEBUG [org.jboss.seam.deployment.DeploymentStrategy] (HDScanner) Using org.jboss.seam.integration.jbossas.vfs.VFSScanner@1d81f33
    


    At this point the application deploy hangs, and my system memory starts to rise. Something is hung up pretty good because the only way to stop the server is to kill the process.

    -Jay

  • 36. Re: JBAS-6104; slow Seam deployments
    Stan Silvert Master

    I just tried it. The booking app does eventually deploy, but there is a four minute pause here:

    11:35:15,329 INFO [ServletContextListener] Welcome to Seam 2.1.1-SNAPSHOT
    11:39:30,115 INFO [Initialization] Namespace: http://jboss.com/products/seam/in
    ternational, package: org.jboss.seam.international, prefix: org.jboss.seam.inter
    national


    But if you set the TimedVFSCache then the problem goes away:
    JAVA_OPTS: -Dprogram.name=run.bat -server -Xms128m -Xmx512m -XX:MaxPermSize=25
    6m -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Ds
    un.rmi.dgc.server.gcInterval=3600000 -Djboss.vfs.cache=org.jboss.virtual.plugins
    .cache.TimedVFSCache

    11:45:35,228 INFO [ServletContextListener] Welcome to Seam 2.1.1-SNAPSHOT
    11:45:37,576 INFO [Initialization] Namespace: http://jboss.com/products/seam/in
    ternational, package: org.jboss.seam.international, prefix: org.jboss.seam.inter
    national


    Stan

  • 37. Re: JBAS-6104; slow Seam deployments
    Shelly McGowan Apprentice

    Jay and I were discussing this and I'm seeing a similar hang when deploying the admin-console.war with the profile service FWIW jbossas/trunk Revision 80553

    output in server.log when hang occurs:

    2008-11-05 11:34:49,519 DEBUG [org.jboss.web.tomcat.service.deployers.TomcatDeployment] (main) injectionContainer enabled and processing beginning
    2008-11-05 11:34:51,656 DEBUG [org.ajax4jsf.renderkit.ChameleonRenderKitFactory] (main) ChameleonRenderKitFactory(RenderKitFactory) - Chameleon RenderKit factory instantiated
    2008-11-05 11:34:52,036 DEBUG [org.ajax4jsf.resource.InternetResourceBuilder] (main) Create instance of InternetBuilder from class org.ajax4jsf.resource.ResourceBuilderImpl
    2008-11-05 11:34:52,036 DEBUG [org.ajax4jsf.resource.InternetResourceBuilder] (main) Return instance of internet resource builder org.ajax4jsf.resource.ResourceBuilderImpl@1d9a965
    2008-11-05 11:34:52,043 DEBUG [org.ajax4jsf.resource.ResourceBuilderImpl] (main) Process resources configuration file vfszip:/NotBackedUp/smcgowan/TRUNK/trunk/build/output/jboss-5.0.0.GA/server/default/deploy/admin-console.war/WEB-INF/lib/richfaces-impl-3.2.2.GA.jar/META-INF/resources-config.xml
    
    


    And thread dump:
    "main" prio=1 tid=0x0873d540 nid=0x1983 runnable [0x8069b000..0x8069df30]^M
     at org.jboss.classloader.spi.base.ClassLoaderManager.nextTask(ClassLoaderManager.java:232)^M
     at org.jboss.classloader.spi.base.ClassLoaderManager.process(ClassLoaderManager.java:148)^M
     at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:256)^M
     at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:1099)^M
     at org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:735)^M
     at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:378)^M
     - locked <0x95bbe1e0> (a org.jboss.classloader.spi.base.BaseClassLoader)^M
     at java.lang.ClassLoader.loadClass(ClassLoader.java:251)^M
     at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)^M
     - locked <0x95bbe1e0> (a org.jboss.classloader.spi.base.BaseClassLoader)^M
     at org.apache.commons.digester.Digester.getXMLReader(Digester.java:947)^M
     at org.apache.commons.digester.Digester.parse(Digester.java:1765)^M
     at org.ajax4jsf.resource.ResourceBuilderImpl.registerConfig(ResourceBuilderImpl.java:200)^M
     at org.ajax4jsf.resource.ResourceBuilderImpl.registerResources(ResourceBuilderImpl.java:144)^M
     at org.ajax4jsf.resource.ResourceBuilderImpl.init(ResourceBuilderImpl.java:215)^M
     at org.ajax4jsf.renderkit.ChameleonRenderKitFactory.<init>(ChameleonRenderKitFactory.java:62)^M
     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)^M
     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)^M
     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)^M
     at java.lang.reflect.Constructor.newInstance(Constructor.java:494)^M
     at javax.faces.FactoryFinder.getImplGivenPreviousImpl(FactoryFinder.java:519)^M
     at javax.faces.FactoryFinder.getImplementationInstance(FactoryFinder.java:405)^M
     at javax.faces.FactoryFinder.access$400(FactoryFinder.java:135)^M
     at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:717)^M
     at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:239)^M
     at com.sun.faces.config.processor.FactoryConfigProcessor.verifyFactoriesExist(FactoryConfigProcessor.java:186)^M
     at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:131)^M
     at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:203)^M
     at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:196)^M
     at org.jboss.web.jsf.integration.config.JBossJSFConfigureListener.contextInitialized(JBossJSFConfigureListener.java:73)^M
     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3910)^M
     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4393)^M
     - locked <0x9af6ce90> (a org.apache.catalina.core.StandardContext)^M
     at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:367)^M
     at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:146)^M
     at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:460)^M
     - locked <0x9af77e40> (a org.jboss.web.tomcat.service.deployers.TomcatDeployment)^M
     at org.jboss.web.deployers.WebModule.startModule(WebModule.java:118)^M
     - locked <0x9b028070> (a org.jboss.web.deployers.WebModule)^M
     at org.jboss.web.deployers.WebModule.start(WebModule.java:96)^M
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)^M
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)^M
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)^M
     at java.lang.reflect.Method.invoke(Method.java:585)^M
     at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)^M
     at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)^M
     at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)^M
     at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)^M
     at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)^M
     at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:206)^M
     at $Proxy35.start(Unknown Source)^M
     at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)^M
     at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37)^M
     at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)^M
     at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)^M
     at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)^M
     at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)^M
     at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:286)^M
     at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)^M
     at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)^M
     at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)^M
     at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)^M
     at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)^M
     at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)^M
     at org.jboss.system.ServiceController.doChange(ServiceController.java:672)^M
     at org.jboss.system.ServiceController.start(ServiceController.java:444)^M
     at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:146)^M
     at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:104)^M
     at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:45)^M
     at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:62)^M
     at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)^M
     at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:171)^M
     at org.jboss.deployers.plugins.deployers.DeployersImpl.doDeploy(DeployersImpl.java:1410)^M
     at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1128)^M
     at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:1149)^M
     at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:1069)^M
     at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:348)^M
     at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1598)^M
     at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:934)^M
     at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:1062)^M
     at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:984)^M
     at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:822)^M
     at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:553)^M
     at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:752)^M
     at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:541)^M
     at org.jboss.system.server.profileservice.ProfileServiceBootstrap.loadProfile(ProfileServiceBootstrap.java:265)^M
     at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:143)^M
     at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:410)^M
     at org.jboss.Main.boot(Main.java:209)^M
     at org.jboss.Main$1.run(Main.java:544)^M
     at java.lang.Thread.run(Thread.java:595)^M
    


  • 38. Re: JBAS-6104; slow Seam deployments
    Jay Balunas Master

     

    "stan.silvert@jboss.com" wrote:

    But if you set the TimedVFSCache then the problem goes away:
    JAVA_OPTS: -Dprogram.name=run.bat -server -Xms128m -Xmx512m -XX:MaxPermSize=25
    6m -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Ds
    un.rmi.dgc.server.gcInterval=3600000 -Djboss.vfs.cache=org.jboss.virtual.plugins
    .cache.TimedVFSCache

    11:45:35,228 INFO [ServletContextListener] Welcome to Seam 2.1.1-SNAPSHOT
    11:45:37,576 INFO [Initialization] Namespace: http://jboss.com/products/seam/in
    ternational, package: org.jboss.seam.international, prefix: org.jboss.seam.inter
    national



    Will this is changed in trunk? I can just rebuild from it if it is?

  • 39. Re: JBAS-6104; slow Seam deployments
    Stan Silvert Master

    You need to set -Djboss.vfs.cache=org.jboss.virtual.plugins.cache.TimedVFSCache

  • 40. Re: JBAS-6104; slow Seam deployments
    Jay Balunas Master

     

    "stan.silvert@jboss.com" wrote:
    You need to set -Djboss.vfs.cache=org.jboss.virtual.plugins.cache.TimedVFSCache


    Are we going to ship like this? As it stands wouldn't every seam application would take 4+ minutes to deploy.

    not good!!!

  • 41. Re: JBAS-6104; slow Seam deployments
    Stan Silvert Master

    There's a discussion about it now on the dev list.

  • 42. Re: JBAS-6104; slow Seam deployments
    Scott Stark Master

    We have to ship with something better than this as the default. Its just a question of what. Ales posted:

    "alesj" wrote:

    This is something we need to discuss, as in which impl to use:
    
    (1) Weak ref
    (2) Soft ref
    (3) LRU
    (4) Timed
    
    I would either go with
     - (1) + proper strong ref on this: http://www.jboss.com/index.html?module=bb&op=viewtopic&t=145039
    We keep the most used one's via strong ref on VFSInitializer,
    but let other temps be GCed asap.
    
     - (4) with limit long enough to do common apps deployment triggered upon this cache
    We make the timed limit long enough that most of apps make advantage of this vfs cache,
    once initialization period is over, flush it all.
    




  • 43. Re: JBAS-6104; slow Seam deployments
    Scott Stark Master

    jbossas trunk r80622 has been updated to use jboss-vfs 2.0.0.CR4 with the default vfs cache impl to org.jboss.virtual.plugins.cache.TimedVFSCache in conf/initialize.xml. The 5 seam tests in the profileservice unit tests are deploying 6-10 times faster.

1 2 3 Previous Next