https://issues.apache.org/bugzilla/show_bug.cgi?id=57251
Bug ID: 57251 Summary: WAR deployment unbelievably slow when unpackWARs=false Product: Tomcat 8 Version: 8.0.15 Hardware: PC Status: NEW Severity: normal Priority: P2 Component: Catalina Assignee: dev@tomcat.apache.org Reporter: a...@boxfuse.com I have a small webapp I deploy to test Flyway (flyway-sample-webapp) Tomcat 8.0.15, extracted from zip, unmodified on Java 1.8.0_20-b26 x64. If server.xml contains unpackWARs="true" all is well and it deploys instantly. If I set the value to false, it takes several minutes and this is the output I get: 24-Nov-2014 13:35:02.200 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"] 24-Nov-2014 13:35:02.238 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read 24-Nov-2014 13:35:02.240 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"] 24-Nov-2014 13:35:02.242 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read 24-Nov-2014 13:35:02.242 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 391 ms 24-Nov-2014 13:35:02.258 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina 24-Nov-2014 13:35:02.259 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.0.15 24-Nov-2014 13:35:02.274 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive C:\Programs\apache-tomcat-8.0.15\webapps\ROOT.war 24-Nov-2014 13:37:44.119 SEVERE [localhost-startStop-1] org.apache.catalina.startup.ContextConfig.processAnnotationsJar Unable to process Jar entry [com/google/cloud/sql/jdbc/internal/ConnectionProperty.class] from Jar [jar:file:/C:/Programs/apache-tomcat-8.0.15/webapps/ROOT.war!/WEB-INF/lib/appengine-api-1.0-sdk-1.9.10.jar] for annotations java.io.EOFException at org.apache.tomcat.util.bcel.classfile.FastDataInputStream.readUnsignedShort(FastDataInputStream.java:120) at org.apache.tomcat.util.bcel.classfile.ClassParser.readAttributes(ClassParser.java:110) at org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:94) at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:1994) at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1944) at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1919) at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1880) at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1149) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:771) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:305) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5095) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:714) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:917) at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1701) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) 24-Nov-2014 13:37:58.057 INFO [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. 24-Nov-2014 13:37:58.220 INFO [localhost-startStop-1] org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [144] milliseconds. 24-Nov-2014 13:37:58.232 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive C:\Programs\apache-tomcat-8.0.15\webapps\ROOT.war has finished in 175,958 ms 24-Nov-2014 13:37:58.235 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"] 24-Nov-2014 13:37:58.240 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"] 24-Nov-2014 13:37:58.241 INFO [main] org.apache.catalina.startup.Catalina.startServer startup in 175998 ms 24-Nov-2014 13:38:08.236 WARNING [ContainerBackgroundProcessor[StandardEngine[Catalina]]] org.apache.catalina.startup.HostConfig.deployWARs The directory [C:\Programs\apache-tomcat-8.0.15\webapps\ROOT] will be ignored because the WAR [C:\Programs\apache-tomcat-8.0.15\webapps\ROOT.war] takes priority and unpackWARs is false Switching unpackWARs to true, makes the deployment instant and error-free again. Cheers Axel -- You are receiving this mail because: You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org