upgrade OpenTelemetry, use the new metrics API. (#2410) (e29e42c)
v9 2023-01-30
Added
Added support for RESP3 protocol. It was
contributed by @​monkey92t who has done the majority of work in this release.
Added ContextTimeoutEnabled option that controls whether the client respects context timeouts
and deadlines. See
Redis Timeouts for details.
Added ParseClusterURL to parse URLs into ClusterOptions, for example,
redis://user:password@localhost:6789?dial_timeout=3&read_timeout=6s&addr=localhost:6790&addr=localhost:6791.
Added metrics instrumentation using redisotel.IstrumentMetrics. See
documentation
Added redis.HasErrorPrefix to help working with errors.
Changed
Removed asynchronous cancellation based on the context timeout. It was racy in v8 and is
completely gone in v9.
Reworked hook interface and added DialHook.
Replaced redisotel.NewTracingHook with redisotel.InstrumentTracing. See
example and
documentation.
Replaced *redis.Z with redis.Z since it is small enough to be passed as value without making
an allocation.
Renamed the option MaxConnAge to ConnMaxLifetime.
Renamed the option IdleTimeout to ConnMaxIdleTime.
Removed connection reaper in favor of MaxIdleConns.
Removed WithContext since context.Context can be passed directly as an arg.
Removed Pipeline.Close since there is no real need to explicitly manage pipeline resources and
it can be safely reused via sync.Pool etc. Pipeline.Discard is still available if you want to
reset commands for some reason.
Changed Pipelines to not be thread-safe any more.
Fixed
Improved and fixed pipeline retries.
As usually, added support for more commands and fixed some bugs.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps github.com/redis/go-redis/v9 from 9.0.1 to 9.0.2.
Release notes
Sourced from github.com/redis/go-redis/v9's releases.
Changelog
Sourced from github.com/redis/go-redis/v9's changelog.
Commits
a38f75b
chore: release v9.0.2 (release.sh) (#2412)e29e42c
feat: upgrade OpenTelemetry, use the new metrics API. (#2410)154ca02
test: remove deep search (#2411)35c8e06
Adding the release drafter, for release note generation (#2368)50fab03
chore: updateDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)