Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-17365

Failed deployment is not removed from Undertow ServletContainer's deployments map

XMLWordPrintable

    • Hide

      1. Deploy failedappleak.war
      2. Capture a heap dump
      3. Check the deployments map with an OQL like below (it should return a size of 0):

      SELECT deployments.m.size FROM io.undertow.servlet.core.ServletContainerImpl 
      

      Or the attached WFLY-17365.btm adds extra tracing making it easy to see if the remove happened or not.

      Show
      1. Deploy failedappleak.war 2. Capture a heap dump 3. Check the deployments map with an OQL like below (it should return a size of 0): SELECT deployments.m.size FROM io.undertow.servlet.core.ServletContainerImpl Or the attached WFLY-17365 .btm adds extra tracing making it easy to see if the remove happened or not.
    • ---
    • ---

      If a deployment fails, it has an entry that is not removed from the undertow ServletContainer deployments map. That could be an unwanted classloader leak or cause unwanted behavior like undertow's ServletContextImpl.getSession always iterating over this failed app's session manager to check for sessions.

        1. failedappleak.war
          2 kB
          Aaron Ogburn
        2. WFLY-17365.btm
          0.8 kB
          Aaron Ogburn

              rhn-support-aogburn Aaron Ogburn
              rhn-support-aogburn Aaron Ogburn
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: