Update webrick to 1.8.1
What does this MR do and why?
This fixes a library-internal call into the deprecated Socket.gethostbyname
stdlib method. It should fix deprecation warnings logged like this one: https://log.gprd.gitlab.net/app/discover#/doc/AWNABDRwNDuQHTm2tH6l/pubsub-sidekiq-inf-gprd-003283?id=pkXEIYcBneguPzSVfruE
The method call was removed in this commit: https://github.com/ruby/webrick/commit/eb92c74b0a340907a73fe3d39e40071e829beb33
Changelog:
1.8.1:
Body should be non-frozen by default. by @ioquatix in #103
Join test thread. by @ioquatix in #104
Fix several regexp warnings. by @ioquatix in #105
1.8.0:
Use frozen strings by @kirs in #65
Use test-unit by @hsbt in #66
More rubies on CI, deprecating ruby 2.3 due to test failure by @mathieujobin in #68
Adds common mime types by @gotoken in #75
add mime type for .webmanifest extension by @olleolleolle in #76
CI: use bundler-cache: true by @olleolleolle in #79
Typo by @printfinn in #78
s/RubyVM::JIT/RubyVM::MJIT/g by @k0kubun in #82
Fix invalid use of IP addresses in SNI by @jeremyevans in #83
Bump actions/checkout from 2 to 3 by @dependabot in #91
remove unneeded bin/console and bin/setup files from gemspec by @Benjamin-L in #94
Accept put requests by @bharjr01 in #70
Move the host request parsing to a separate method. by @wishdev in #85
Only output prime information to $stderr if $VERBOSE by @jeremyevans in #88
Better support for connection upgrade and bi-directional streaming. by @ioquatix in #101
1.7.0:
Extract creation of Net::HTTP in httpproxy by @wishdev in #41
Fix httpd error in CJK directory by @jeremyevans in #42
Use GitHub Actions instead of Travis CI (retry) by @deivid-rodriguez in #40
Skip env-locale-sensitive CGI test on the "java" platform by @headius in #46
Make readpartial limit chunk to appropriate size by @wishdev in #45
Do not use ensure in a block without begin by @jeremyevans in #49
Allow empty POST and PUT requests without content length by @jeremyevans in #50
Only run test_big_bodies test on Ruby 2.5+ by @jeremyevans in #51
Fix test when run with US-ASCII encoding by @jeremyevans in #52
Allow shutdown_pipe to be passed in via @config by @wishdev in #44
Ensure server port numbers are numeric and ensure they are stored as … by @wishdev in #55
Fix shutdown_pipe test issue by @wishdev in #54
Allow EPROTOTYPE error when writing junk to a socket by @jeremyevans in #56
Use ruby/setup-ruby instead of actions/setup-ruby by @hsbt in #58
Refix test_shutdown_pipe by @wishdev in #59
add mime type of extention mjs by @paulownia in #60
Make it more strict to interpret some headers by @mame in #61
https://my.diffend.io/gems/webrick/1.6.1/1.8.1
Screenshots or screen recordings
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
How to set up and validate locally
The only thing I'm aware of that we use WEBrick for are:
- the embedded
HealthChecks::Server
for Sidekiq, which services thereadiness
andliveness
endpoints for kubernetes - the
metrics_server
process that servicesweb
andsidekiq
metrics into Prometheus
Tested health-check server and metrics exporter for Sidekiq:
Logs:
sidekiq_1 | [2023-03-27 06:45:19] INFO WEBrick 1.8.1
sidekiq_1 | [2023-03-27 06:45:19] INFO ruby 3.0.5 (2022-11-24) [x86_64-linux]
sidekiq_1 | [2023-03-27 06:45:19] INFO WEBrick::HTTPServer#start: pid=179 port=3907
This is the health-check server. Curling it:
$ docker exec -it gl-gck_sidekiq_1 bash
git@4796007fb8fe:~/gitlab$ curl localhost:3907/readiness
{"status":"ok"}
Metrics server uses the same setup and works too
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.