fix(config): server_url should return a valid URI for IPv6 hosts #194
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Datadog's ddtrace-rb relies on the
RedisClient::Config#server_url
to return a validredis://
address as part of initializing its tracing middleware.https://github.com/DataDog/dd-trace-rb/blob/master/lib/datadog/tracing/contrib/redis/trace_middleware.rb#L79
With an IPv6 redis instance, sidekiq 7.2 would not start up due to
bad URI(is not URI?): "redis://fd1b:ac4a:ab80::fcf:6379/12"
which URI fails to parse properly.This PR makes it so we try to detect an IPv6 address in the
host
and return a validredis://
address in that particular case.