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

Reply via email to