Uploaded image for project: 'JBoss Enterprise Application Platform 4 and 5'
  1. JBoss Enterprise Application Platform 4 and 5
  2. JBPAPP-10641

Filter.destroy() exceptions break application undeployment

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: EAP_EWP 5.2.0
    • Fix Version/s: EAP_EWP 5.3.0.ER1
    • Component/s: Web
    • Labels:
      None
    • Environment:

      -JBoss Enterprise Application Platform (EAP) 5.1.2 and earlier

    • Steps to Reproduce:
      Hide

      -Deploy the attached destroy-linkage-error.war
      -Undeploy this application, noting the exception from Filter.destroy()
      -Try to redeploy the application, noting it fails

      Show
      -Deploy the attached destroy-linkage-error.war -Undeploy this application, noting the exception from Filter.destroy() -Try to redeploy the application, noting it fails
    • Workaround:
      Workaround Exists
    • Workaround Description:
      Hide

      -Resolve exceptions thrown by Filter.destroy() or handle the exception within Filter.destroy()
      -Don't hot deploy the app to begin with

      Show
      -Resolve exceptions thrown by Filter.destroy() or handle the exception within Filter.destroy() -Don't hot deploy the app to begin with
    • Release Notes Text:
      Hide
      JBossWeb did not cleanly handle any exceptions thrown by the destroy method of custom servlet filters. If Filter.destroy() threw an exception during and application's undeployment, then the undeploy would fail to complete. The application would not be usable in this state, nor could it be redeployed successfully. Exceptions from Filter.destroy() are now caught and do not prevent undeployment from completing successfully.
      Show
      JBossWeb did not cleanly handle any exceptions thrown by the destroy method of custom servlet filters. If Filter.destroy() threw an exception during and application's undeployment, then the undeploy would fail to complete. The application would not be usable in this state, nor could it be redeployed successfully. Exceptions from Filter.destroy() are now caught and do not prevent undeployment from completing successfully.
    • Release Notes Docs Status:
      Documented as Resolved Issue
    • Docs QE Status:
      NEW

      Description

      JBoss does not handle any exceptions from custom Filter.destroy() implementations. This is passed on to the JBoss container and disrupts the
      undeployment so the app is not successfully undeployed.

      That causes a potentially critical issue as the application is no longer deployed at that point, but it can't be redeployed due to conflicts with the prior incomplete undeployment. The server has to be restarted to be able to deploy the application again.

      The broken undeployment could be fixed at the container level if org.apache.catalina.core.ApplicationFilterConfig.release() caught exceptions thrown by Filter.destroy()

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  aogburn Aaron Ogburn
                  Reporter:
                  bmaxwell Brad Maxwell
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: