jenkinsci / datadog-plugin

A Jenkins plugin used to forward metrics, events, and service checks to an account at Datadog, automatically.
https://plugins.jenkins.io/datadog/
MIT License
30 stars 48 forks source link

Restart HTTP client whenever Jenkins proxy settings change #366

Closed nikita-tkachenko-datadog closed 11 months ago

nikita-tkachenko-datadog commented 11 months ago

Requirements for Contributing to this repository

What does this PR do?

Updates org.datadog.jenkins.plugins.datadog.clients.HttpClient to properly support runtime changes of Jenkins proxy settings.

Previous version of the client updated the list of proxies but did not stop already opened connections that were pooled. As the result, after the settings changed, existing pooled connections continued to work with the old settings.

The new version stops the client completely and starts a new instance with a new connection pool whenever changes in the proxy settings are detected.

There is no need to include this in the changelog, since it fixes code that has not been released yet.

Description of the Change

Alternate Designs

Possible Drawbacks

Verification Process

Issue reproduced and fix verified manually with a dockerized Jenkins instance.

Additional Notes

Release Notes

Review checklist (to be filled by reviewers)