Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use httpclient 5.3.1, not httpclient 5.4 #62

Merged
merged 3 commits into from
Oct 23, 2024

Conversation

MarkEWaite
Copy link
Contributor

@MarkEWaite MarkEWaite commented Oct 23, 2024

Use httpclient 5.3.1, not httpclient 5.4

Reverts 1991154 from

The failure that Docker plugin users encounter with httpclient 5.4 when connecting to the Docker daemon over a Unix domain socket is described in:

The test automation failure that happens with httpclient 5.4 is described in:

Two other issues note that there are problems in httpclient 5.4:

Intentionally sets the plugin version to 5.4 so that a release based on this change will supersede the previous 5.4 based release that users may have installed.

Intentionally disables renovate updates to 5.4 or newer. Once the issue is resolved in upstream, that block can be removed.

Testing done

Automated tests pass for this plugin.

Automated tests pass for the docker plugin with the incremental from this pull request. Automated tests fail in the docker plugin with the httpclient 5.4 version.

Incremental build tested in my development environment with a Docker daemon accessible over a TCP socket. Confirmed that the switch back to httpclient 5.3.1 did not regress existing functionality over a TCP socket.

Incremental build tested in a separate environment and confirmed that I can duplicate the problem using the httpclient 5.4 release and the httpclient incremental build from this pull request fixes the issue. The git repository that I used to record the passing and failing configuration is included as httpclient-59.tar.gz. The username in that installation is "mwaite" and the password is "mwaite". Run the environment with the command bash ./README on a Linux computer with a local Docker daemon. Be sure that you are running from a user account that has access to Docker.

Dependent plugins include:

Confirmed that the most recent release of the SAML plugin has a dependency on release
5.4-120.v6b_5b_322da_5c4
. That release requires Jenkins 2.479 or newer. I did not find any changes in that release that depend on httpclient 5.4 features. The downgrade from httpclient 5.4 to httpclient 5.3.1 seems safe for that plugin

The previous release (4.487.v9f1c3328f1c0) of the SAML plugin depends on 5.3.1-110.v77252fb_d4da_5 so has no issue with this proposed change.

Submitter checklist

  • Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
  • Ensure that the pull request title represents the desired changelog entry
  • Please describe what you did
  • Link to relevant issues in GitHub or Jira
  • Link to relevant pull requests, esp. upstream and downstream changes
  • Ensure you have provided tests - that demonstrates feature works or fixes the issue

Reverts 1991154 from
jenkinsci#57

jenkinsci/docker-plugin#1032 describes the
failure that end users encounter with httpclient 5.4 when connecting to
the Docker daemon over a Unix domain socket.

jenkinsci/docker-plugin#1103 describes the
test automation failure that happens with httpclient 5.4.

jenkinsci#29
notes that there may have been a breaking change in httpclient 5.4.

jenkinsci#59
also notes that there is an issue in httpclient 5.4.
@MarkEWaite MarkEWaite requested a review from a team as a code owner October 23, 2024 02:20
If the default revision value is used, then users that installed the
earlier 5.4 releases will not see the new release because Jenkins will
consider it to be an older version.
MarkEWaite added a commit to MarkEWaite/docker-plugin that referenced this pull request Oct 23, 2024
MarkEWaite added a commit to MarkEWaite/docker-lfs that referenced this pull request Oct 23, 2024
jenkinsci/apache-httpcomponents-client-5-api-plugin#62
reverts the httpclient library inside the Apache httpcomponents client
5 api plugin to 5.3.1 because the 5.4 version breaks users of the
docker plugin when connecting to Docker over a Unix domain socket.
The httpclient 5.4 library also breaks tests in the docker plugin when
run on Linux computers that do not have a Docker daemon listening on
port 2375.
@MarkEWaite
Copy link
Contributor Author

@basil this is the pull request that proposes to revert httpclient 5.4 from the apache-httpcomponents-client-5-api-plugin

@strangelookingnerd strangelookingnerd added bug Something isn't working dependencies Pull requests that update a dependency file labels Oct 23, 2024
@strangelookingnerd strangelookingnerd merged commit 31e2987 into jenkinsci:main Oct 23, 2024
17 checks passed
@MarkEWaite MarkEWaite deleted the revert-to-httpcore-5.3 branch October 23, 2024 10:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants