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