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

Crowd doesn't cleanup created MultiThreadedHttpConnectionManager instances

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

      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();
      

              Unassigned Unassigned
              amierzwicki Aleksander Mierzwicki ☁
              Affected customers:
              2 This affects my team
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: