3 Replies Latest reply on Aug 18, 2015 12:18 PM by jaikiran

    Wildfly 9 - processing exploded deployment takes a long time

    marek.zupnik

      I have migrated my application from Wildfly 8.2.0.Final to Wildfly 9.0.1.Final. Everything works fine excluding one thing. Deploying my application as exploded war takes a very long time (2-3 minutes). It hangs on javassist task.

      A chunk of deploying logs:

      16:42:54,133 INFO  [org.hibernate.Version] (ServerService Thread Pool -- 57) HHH000412: Hibernate Core {4.3.10.Final}
      16:42:54,136 INFO  [org.hibernate.cfg.Environment] (ServerService Thread Pool -- 57) HHH000206: hibernate.properties not found
      16:42:54,138 INFO  [org.hibernate.cfg.Environment] (ServerService Thread Pool -- 57) HHH000021: Bytecode provider name : javassist
      16:45:19,333 INFO  [org.jboss.weld.deployer] (MSC service thread 1-7) WFLYWELD0003: Processing weld deployment app.war
      16:45:19,428 INFO  [org.hibernate.validator.internal.util.Version] (MSC service thread 1-7) HV000001: Hibernate Validator 5.1.3.Final
      


      In contrast, when I'm deploying a normal war file, processing of the same deployment is much faster:

      16:53:47,635 INFO  [org.hibernate.Version] (ServerService Thread Pool -- 57) HHH000412: Hibernate Core {4.3.10.Final}
      16:53:47,638 INFO  [org.hibernate.cfg.Environment] (ServerService Thread Pool -- 57) HHH000206: hibernate.properties not found
      16:53:47,640 INFO  [org.hibernate.cfg.Environment] (ServerService Thread Pool -- 57) HHH000021: Bytecode provider name : javassist
      16:53:49,557 INFO  [org.jboss.weld.deployer] (MSC service thread 1-7) WFLYWELD0003: Processing weld deployment app.war
      16:53:49,648 INFO  [org.hibernate.validator.internal.util.Version] (MSC service thread 1-7) HV000001: Hibernate Validator 5.1.3.Final
      

       

      On the previous version of Wildfly (8.2) there was no significant difference between deploying exploded or packed application.

      Do you have any suggestions what should I check? I will appreciate any help.

        • 1. Re: Wildfly 9 - processing exploded deployment takes a long time
          jaikiran

          Marek Zupnik wrote:

           

          I have migrated my application from Wildfly 8.2.0.Final to Wildfly 9.0.1.Final. Everything works fine excluding one thing. Deploying my application as exploded war takes a very long time (2-3 minutes). It hangs on javassist task.

          Although the "last" log message before the delay is about javassist, it doesn't mean it's stuck doing something related to javassist. If the issue is consistent, can you get 2-3 thread dumps with an interval of around 5 seconds each when this issue shows up? Attach those thread dumps to this thread (you can use the "Use advanced editor" link on the top right corner of the message editor window to find the attach option).

          • 2. Re: Wildfly 9 - processing exploded deployment takes a long time
            marek.zupnik

            I have attached thread dumps to this post. I'm quite confused with this, because I cannot find anything helpful in this dumps.

            • 3. Re: Wildfly 9 - processing exploded deployment takes a long time
              jaikiran

              So this is what looks like is causing the delay:

               

              "ServerService Thread Pool -- 57" #144 prio=5 os_prio=0 tid=0x4dbd7800 nid=0x1ecc runnable [0x4f57e000]

                 java.lang.Thread.State: RUNNABLE

                  at java.io.FileInputStream.read0(Native Method)

                  at java.io.FileInputStream.read(FileInputStream.java:207)

                  at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:337)

                  at javassist.bytecode.ClassFile.read(ClassFile.java:776)

                  at javassist.bytecode.ClassFile.<init>(ClassFile.java:118)

                  at org.hibernate.jpa.boot.scan.spi.ClassFileArchiveEntryHandler.toClassFile(ClassFileArchiveEntryHandler.java:85)

                  at org.hibernate.jpa.boot.scan.spi.ClassFileArchiveEntryHandler.handleEntry(ClassFileArchiveEntryHandler.java:65)

                  at org.jboss.as.jpa.hibernate4.VirtualFileSystemArchiveDescriptor.processVirtualFile(VirtualFileSystemArchiveDescriptor.java:94)

                  at org.jboss.as.jpa.hibernate4.VirtualFileSystemArchiveDescriptor.processVirtualFile(VirtualFileSystemArchiveDescriptor.java:69)

                  at org.jboss.as.jpa.hibernate4.VirtualFileSystemArchiveDescriptor.processVirtualFile(VirtualFileSystemArchiveDescriptor.java:69)

                  at org.jboss.as.jpa.hibernate4.VirtualFileSystemArchiveDescriptor.processVirtualFile(VirtualFileSystemArchiveDescriptor.java:69)

                  at org.jboss.as.jpa.hibernate4.VirtualFileSystemArchiveDescriptor.processVirtualFile(VirtualFileSystemArchiveDescriptor.java:69)

                  at org.jboss.as.jpa.hibernate4.VirtualFileSystemArchiveDescriptor.processVirtualFile(VirtualFileSystemArchiveDescriptor.java:69)

                  at org.jboss.as.jpa.hibernate4.VirtualFileSystemArchiveDescriptor.processVirtualFile(VirtualFileSystemArchiveDescriptor.java:69)

                  at org.jboss.as.jpa.hibernate4.VirtualFileSystemArchiveDescriptor.visitArchive(VirtualFileSystemArchiveDescriptor.java:49)

                  at org.hibernate.jpa.boot.scan.spi.AbstractScannerImpl.scan(AbstractScannerImpl.java:72)

                  at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.scan(EntityManagerFactoryBuilderImpl.java:725)

                  at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:221)

                  at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:188)

                  at org.hibernate.jpa.boot.spi.Bootstrap.getEntityManagerFactoryBuilder(Bootstrap.java:45)

                  at org.hibernate.jpa.boot.spi.Bootstrap.getEntityManagerFactoryBuilder(Bootstrap.java:57)

                  at org.jboss.as.jpa.hibernate4.TwoPhaseBootstrapImpl.<init>(TwoPhaseBootstrapImpl.java:38)

                  at org.jboss.as.jpa.hibernate4.HibernatePersistenceProviderAdaptor.getBootstrap(HibernatePersistenceProviderAdaptor.java:173)

                  at org.jboss.as.jpa.service.PhaseOnePersistenceUnitServiceImpl.createContainerEntityManagerFactoryBuilder(PhaseOnePersistenceUnitServiceImpl.java:243)

                  at org.jboss.as.jpa.service.PhaseOnePersistenceUnitServiceImpl.access$800(PhaseOnePersistenceUnitServiceImpl.java:60)

                  at org.jboss.as.jpa.service.PhaseOnePersistenceUnitServiceImpl$1$1.run(PhaseOnePersistenceUnitServiceImpl.java:118)

                  at org.jboss.as.jpa.service.PhaseOnePersistenceUnitServiceImpl$1$1.run(PhaseOnePersistenceUnitServiceImpl.java:103)

                  at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:665)

                  at org.jboss.as.jpa.service.PhaseOnePersistenceUnitServiceImpl$1.run(PhaseOnePersistenceUnitServiceImpl.java:130)

                  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)

                  at org.jboss.threads.JBossThread.run(JBossThread.java:320)

               

               

              I don't yet have a reason why it would take more time when the deployment is exploded as compared to when it is archived.