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

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

    XMLWordPrintable

Details

    • 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.
    • ---
    • ---

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: