Uploaded image for project: 'Crowd Data Center'
  1. Crowd Data Center
  2. CWD-3977

Crowd doesn't cleanup created MultiThreadedHttpConnectionManager instances

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • Medium
    • 2.9.1
    • None
    • None
    • None

    Description

      In JIRA we've noticed that crowd component that we use doesn't shutdown MultiThreadedHttpConnectionManager. This causes threads to hang after those components were disposed. In fact, crowd even introduce ShutdownIgnoringMultiThreadedHttpConnectionManager .

      All instances of MultiThreadedHttpConnectionManager should be properly cleaned up and all ShutdownIgnoringMultiThreadedHttpConnectionManager usages should be replaced with MultiThreadedHttpConnectionManager (with proper cleanup).

      Relying on MultiThreadedHttpConnectionManager#shutdownAll is really bad idea (and this method should not be used ever, as this causes deadlocks).

      Problematic instances found by thread analysis in JIRA:

      In the com.atlassian.crowd.manager.webhook.WebhookPinger.WebhookPinger()

      public WebhookPinger()
      {
          this(new HttpClient(new MultiThreadedHttpConnectionManager()));
      }
      

      In the com.atlassian.crowd.integration.rest.service.RestExecutor:

      private final ShutdownIgnoringMultiThreadedHttpConnectionManager connectionManager = new ShutdownIgnoringMultiThreadedHttpConnectionManager();
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              amierzwicki Aleksander Mierzwicki ☁
              Votes:
              2 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: