-
30. Re: JBAS-6104; slow Seam deployments
alesj Oct 30, 2008 11:38 AM (in response to alesj)"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
ssilvert Oct 30, 2008 2:45 PM (in response to alesj)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
alesj Oct 30, 2008 4:01 PM (in response to alesj)"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
ssilvert Nov 3, 2008 9:51 AM (in response to alesj)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
alesj Nov 3, 2008 9:53 AM (in response to alesj)"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
jbalunas Nov 5, 2008 9:50 AM (in response to alesj)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
ssilvert Nov 5, 2008 11:48 AM (in response to alesj)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 Nov 5, 2008 12:21 PM (in response to alesj)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
jbalunas Nov 5, 2008 1:18 PM (in response to alesj)"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
ssilvert Nov 5, 2008 3:01 PM (in response to alesj)You need to set -Djboss.vfs.cache=org.jboss.virtual.plugins.cache.TimedVFSCache
-
40. Re: JBAS-6104; slow Seam deployments
jbalunas Nov 5, 2008 3:06 PM (in response to alesj)"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
ssilvert Nov 5, 2008 3:42 PM (in response to alesj)There's a discussion about it now on the dev list.
-
42. Re: JBAS-6104; slow Seam deployments
starksm64 Nov 5, 2008 6:52 PM (in response to alesj)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
starksm64 Nov 6, 2008 5:59 PM (in response to alesj)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.