1
0
mirror of https://github.com/redis/go-redis.git synced 2025-12-02 06:22:31 +03:00
Commit Graph

2767 Commits

Author SHA1 Message Date
Nedyalko Dyakov
3a53e1bdcc fix handoff state when queued for handoff 2025-10-24 17:30:36 +03:00
Nedyalko Dyakov
cfcf37de4e empty endpoint handoff case 2025-10-24 16:54:23 +03:00
Nedyalko Dyakov
94fa9204ce better timeouts 2025-10-24 15:28:28 +03:00
Nedyalko Dyakov
de2f8ba0a1 Update internal/pool/conn.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-24 15:20:25 +03:00
Nedyalko Dyakov
3f29463299 Update internal/pool/conn.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-24 15:20:16 +03:00
Nedyalko Dyakov
21bd243bf5 improve reauth state management. fix tests 2025-10-24 15:06:55 +03:00
Nedyalko Dyakov
92433e6f2a fix linter 2025-10-24 14:55:00 +03:00
Nedyalko Dyakov
7526e67f17 better errors for tests, hook should work now 2025-10-24 14:52:12 +03:00
Nedyalko Dyakov
663a60e47f correct handling OnPut 2025-10-24 14:13:13 +03:00
Nedyalko Dyakov
5721512a79 polish state machine 2025-10-24 13:09:30 +03:00
Nedyalko Dyakov
0a754660ef Merge remote-tracking branch 'origin/master' into ndyakov/state-machine-conn 2025-10-23 18:15:07 +03:00
Nedyalko Dyakov
f1956565ee chore(release): 9.16.0 (#3557)
* notes

* bump version
extra/redisprometheus/v9.16.0 extra/rediscensus/v9.16.0 extra/redisotel/v9.16.0 extra/rediscmd/v9.16.0 v9.16.0
2025-10-23 18:08:39 +03:00
Nedyalko Dyakov
606264ef7f wip, used and unusable states 2025-10-23 17:09:22 +03:00
Nedyalko Dyakov
27591cd045 wip 2025-10-23 14:05:31 +03:00
Udhayarajan
70dfa383fe feat(otel): add trace filter for process pipeline and dial operation (#3550)
* feat(tracing): add process pipeline and dial filtering options for tracing

* refactor(tracing): implement default command filter and process pipeline options

* refactor(tracing): rename defaultCommandFilter to DefaultCommandFilter

* refactor(tracing): add BasicCommandFilter as a deprecated alias for DefaultCommandFilter

---------

Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com>
2025-10-22 12:57:15 +03:00
Nedyalko Dyakov
a15e76394c fix(pool): Pool ReAuth should not interfere with handoff (#3547)
* fix(pool): wip, pool reauth should not interfere with handoff

* fix credListeners map

* fix race in tests

* better conn usable timeout

* add design decision comment

* few small improvements

* update marked as queued

* add Used to clarify the state of the conn

* rename test

* fix(test): fix flaky test

* lock inside the listeners collection

* address pr comments

* Update internal/auth/cred_listeners.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update internal/pool/buffer_size_test.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* wip refactor entraid

* fix maintnotif pool hook

* fix mocks

* fix nil listener

* sync and async reauth based on conn lifecycle

* be able to reject connection OnGet

* pass hooks so the tests can observe reauth

* give some time for the background to execute commands

* fix tests

* only async reauth

* Update internal/pool/pool.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update internal/auth/streaming/pool_hook.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update internal/pool/conn.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* chore(redisotel): use metric.WithAttributeSet to avoid copy (#3552)

In order to improve performance replace `WithAttributes` with `WithAttributeSet`.
This avoids the slice allocation and copy that is done in `WithAttributes`.

For more information see https://github.com/open-telemetry/opentelemetry-go/blob/v1.38.0/metric/instrument.go#L357-L376

* chore(docs): explain why MaxRetries is disabled for ClusterClient (#3551)

Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com>

* exponential backoff

* address pr comments

* address pr comments

* remove rlock

* add some comments

* add comments

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Warnar Boekkooi <wboekkooi@impossiblecloud.com>
Co-authored-by: Justin <justindsouza80@gmail.com>
2025-10-22 12:45:30 +03:00
Justin
14a8814540 chore(docs): explain why MaxRetries is disabled for ClusterClient (#3551)
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com>
2025-10-21 15:03:58 +03:00
Warnar Boekkooi
8ca21d2600 chore(redisotel): use metric.WithAttributeSet to avoid copy (#3552)
In order to improve performance replace `WithAttributes` with `WithAttributeSet`.
This avoids the slice allocation and copy that is done in `WithAttributes`.

For more information see https://github.com/open-telemetry/opentelemetry-go/blob/v1.38.0/metric/instrument.go#L357-L376
2025-10-21 14:56:06 +03:00
Hristo Temelski
7aa4a60667 update gomods to align them with the latest beta (#3539)
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com>
2025-10-21 11:28:04 +03:00
Hristo Temelski
1e6ee06740 test(e2e): testing framework upgrade (#3541)
* update e2e test, change script

* update script and tests

* fixed bdbid parsing

* disabled majority of tests, swapped event order

* change the config tag

* revert test order

* fix typo

* reenable all e2e tests

* change the clonfig flag key for all e2e tests

* improve logging for debug purposes of tests

* longer deadline for FI in CI

* increase waiting for notifications

* extend tests

* dont fail on flaky third client

* fi new params

* fix test build

* more time for migrating

* first wait for FI action, then assert notification

* fix test build

* fix tests

* fix tests

* change output

* global print logs for tests

* better output

* fix error format

* maybe the notification is already received

* second and third client fix

* print output if failed

* better second and third client checks

* output action data if notification is not received

* stop command runner

* database create / delete actions

* database create / delete actions used in tests

* fix import

* remove example

* remove unused var

* use different port than the one in env

* wait for action to get the response

* fix output

* fix create db config

* fix create db config

* use new database for client

* fix create db config

* db per scenario

* less logs, correct check

* Add CTRF to the scenario tests (#3545)

* add some json ctrf improvements

* fix -v

* attempt to separate the output

---------

Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com>

---------

Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
Co-authored-by: kiryazovi-redis <ivaylo.kiryazov@redis.com>
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com>
2025-10-17 17:23:10 +03:00
Jason Parraga
f7eed76fbc Add support for filtering traces for certain commands (#3519)
* Add support for filtering commands when tracing

Signed-off-by: Jason Parraga <sovietaced@gmail.com>

* Filter sensitive data by default

Signed-off-by: Jason Parraga <sovietaced@gmail.com>

* Address comments

Signed-off-by: Jason Parraga <sovietaced@gmail.com>

---------

Signed-off-by: Jason Parraga <sovietaced@gmail.com>
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com>
2025-10-14 18:15:58 +03:00
dependabot[bot]
3d68c7e42f chore(deps): bump github/codeql-action from 3 to 4 (#3544)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3 to 4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-14 16:18:39 +03:00
Feng.YJ
3ad9f9cb23 fix: add missing error variable for non-unix build constraints (#3538)
* fix: add missing error variable for non-unix build constraints

* chore: name "_" for unused parameters

---------

Co-authored-by: Elena Kolevska <elena-kolevska@users.noreply.github.com>
2025-09-29 09:35:04 +03:00
Hristo Temelski
a44df88257 version 9.15.1, used to retract itself and 9.15.0 (#3537)
* version 9.15.1, used to retract itself and 9.15.0

* added retract to the submodules

* revert submodules retracts as they are not needed
extra/redisotel/v9.15.1 extra/rediscensus/v9.15.1 extra/redisprometheus/v9.15.1 v9.15.1 extra/rediscmd/v9.15.1
2025-09-27 23:33:54 +03:00
Hristo Temelski
819f01b489 retract wrongly released version (#3533) extra/redisotel/v9.16.0-beta.1 extra/redisprometheus/v9.16.0-beta.1 extra/rediscensus/v9.16.0-beta.1 v9.16.0-beta.1 extra/rediscmd/v9.16.0-beta.1 2025-09-27 15:38:46 +01:00
Hristo Temelski
7405cff430 depreciate 9.15.0 (#3532) extra/rediscensus/v9.15.0-beta.3 extra/rediscmd/v9.15.0-beta.3 extra/redisotel/v9.15.0-beta.3 extra/redisprometheus/v9.15.0-beta.3 v9.15.0-beta.3 2025-09-27 02:17:21 +03:00
Hristo Temelski
8b38e27f97 release: 9.15.0-beta.2 (#3531) extra/redisprometheus/v9.15.0-beta.2 extra/redisotel/v9.15.0-beta.2 v9.15.0-beta.2 extra/rediscmd/v9.15.0-beta.2 extra/rediscensus/v9.15.0-beta.2 2025-09-26 19:40:07 +03:00
Nedyalko Dyakov
75ddeb3d5a feat(e2e-testing): maintnotifications e2e and refactor (#3526)
* e2e wip

* cleanup

* remove unused fault injector mock

* errChan in test

* remove log messages tests

* cleanup log messages

* s/hitless/maintnotifications/

* fix moving when none

* better logs

* test with second client after action has started

* Fixes

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* Test fix

Signed-off-by: Elena Kolevska <elena@kolevska.com>

* feat(e2e-test): Extended e2e tests

* imroved e2e test resiliency

---------

Signed-off-by: Elena Kolevska <elena@kolevska.com>
Co-authored-by: Elena Kolevska <elena@kolevska.com>
Co-authored-by: Elena Kolevska <elena-kolevska@users.noreply.github.com>
Co-authored-by: Hristo Temelski <hristo.temelski@redis.com>
2025-09-26 19:17:09 +03:00
Hristo Temelski
e6e52bc735 feat(tag.sh): Improved resiliency of the release process (#3530) 2025-09-26 18:35:29 +03:00
cxljs
113a18ae75 fix: pipeline repeatedly sets the error (#3525)
* fix: pipeline repeatedly sets the error

Signed-off-by: Xiaolong Chen <fukua95@gmail.com>

* add test

Signed-off-by: Xiaolong Chen <fukua95@gmail.com>

* CI

Signed-off-by: Xiaolong Chen <fukua95@gmail.com>

---------

Signed-off-by: Xiaolong Chen <fukua95@gmail.com>
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com>
2025-09-17 17:32:24 +03:00
Omid Hosseini
286735bef1 chore(docs): Update hash_commands.go (#3523)
add ctx for clarification when reading docs in comments
2025-09-17 12:18:24 +03:00
dependabot[bot]
363fa8eeb4 chore(deps): bump rojopolis/spellcheck-github-actions (#3520)
Bumps [rojopolis/spellcheck-github-actions](https://github.com/rojopolis/spellcheck-github-actions) from 0.51.0 to 0.52.0.
- [Release notes](https://github.com/rojopolis/spellcheck-github-actions/releases)
- [Changelog](https://github.com/rojopolis/spellcheck-github-actions/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rojopolis/spellcheck-github-actions/compare/0.51.0...0.52.0)

---
updated-dependencies:
- dependency-name: rojopolis/spellcheck-github-actions
  dependency-version: 0.52.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-16 00:51:18 +03:00
Nedyalko Dyakov
0dcfeefea7 chore(release): 9.15.0-beta.1 (#3514) v9.15.0-beta.1 extra/redisprometheus/v9.15.0-beta.1 extra/redisotel/v9.15.0-beta.1 extra/rediscensus/v9.15.0-beta.1 extra/rediscmd/v9.15.0-beta.1 2025-09-10 23:02:16 +03:00
Nedyalko Dyakov
0ef6d0727d feat: RESP3 notifications support & Hitless notifications handling [CAE-1088] & [CAE-1072] (#3418)
- Adds support for handling push notifications with RESP3. 
- Using this support adds handlers for hitless upgrades.

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Hristo Temelski <hristo.temelski@redis.com>
2025-09-10 22:18:01 +03:00
Hristo Temelski
2da6ca07c0 chore(release): Update the rest of the versions (#3513)
* chore(release): Update the rest of the versions

* improved tag script
extra/rediscensus/v9.14.0 extra/redisotel/v9.14.0 extra/rediscmd/v9.14.0 v9.14.0 extra/redisprometheus/v9.14.0
2025-09-10 15:01:18 +03:00
Hristo Temelski
c11a704481 chore(release): v9.14.0 (#3512) 2025-09-10 14:33:08 +03:00
Elena Kolevska
8f5469abd0 chore(ci): Update release drafter config to exclude dependabot (#3511)
Exclude 'dependabot' from contributors in release drafter config.
2025-09-10 12:55:22 +03:00
Nedyalko Dyakov
a264ffb8a4 fix: SetErr on Cmd if the command cannot be queued correctly in multi/exec (#3509)
* set error if queued fails

* try fix for cluster

* add errors to cmds in pipeline if about to be returned
2025-09-09 18:45:37 +03:00
Hristo Temelski
e0853aba63 Added batch process method to the pipeline (#3510)
* Added batch process method to the pipeline

* Added Process and BatchProcess tests

* Fix test matching
2025-09-09 18:10:17 +03:00
dependabot[bot]
65e1c22065 chore(deps): bump actions/setup-go from 5 to 6 (#3504)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5 to 6.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-09 11:34:38 +03:00
Nedyalko Dyakov
52bda7a35a chore(release): 9.13.0 (#3500) extra/rediscmd/v9.13.0 v9.13.0 extra/redisprometheus/v9.13.0 extra/redisotel/v9.13.0 extra/rediscensus/v9.13.0 2025-09-03 14:52:32 +03:00
Matthew Hooker
19fdc488a7 chore(otel): register wait metrics (#3499) 2025-09-03 13:12:41 +03:00
LINKIWI
10121e9e1c feat(osscluster): Support subscriptions against cluster slave nodes (#3480) 2025-09-02 16:03:00 +03:00
Jonathan Suever
6f41b600c5 fix(client): Do not assume that all non-IP hosts are loopbacks (#3085)
* Do not assume that all non-IP hosts are loopbacks

* handle localhost and Docker internal hostnames

---------

Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com>
Co-authored-by: ofekshenawa <ofek.shenawa@redis.com>
Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com>
2025-09-02 15:58:50 +03:00
Matthew Hooker
f0058063a9 feat(otel): Add wait metrics to otel (#3493)
* Add wait metrics to otel

* add unit
2025-09-02 15:48:18 +03:00
cxljs
fafec3f3ce Pipeliner expose queued commands (#3496)
* Pipeliner expose queued commands

Signed-off-by: Xiaolong Chen <fukua95@gmail.com>

* add tests and update some comments

Signed-off-by: Xiaolong Chen <fukua95@gmail.com>

---------

Signed-off-by: Xiaolong Chen <fukua95@gmail.com>
2025-09-01 17:44:26 +03:00
cxljs
6b9cbe8c54 fix(test): fix a timing issue in pubsub test (#3498)
Signed-off-by: Xiaolong Chen <fukua95@gmail.com>
2025-09-01 17:15:50 +03:00
Nedyalko Dyakov
e91f6ced09 fix(make test): Add default env in makefile (#3491)
* fix(make test): add default env in makefile

* Apply suggestion from @ndyakov

* update hardcoded version
2025-09-01 16:17:28 +03:00
cxljs
6bc7238340 Fix the ReplicaOnly option does not take effect when using NewFailoverClusterClient (#3482)
Signed-off-by: Xiaolong Chen <fukua95@gmail.com>
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com>
2025-09-01 10:09:32 +03:00
cxljs
bb94ac7898 chore(readme): Update the introduction to running tests in README.md (#3495)
* update README.md

Signed-off-by: Xiaolong Chen <fukua95@gmail.com>

* update README.md

Signed-off-by: Xiaolong Chen <fukua95@gmail.com>

---------

Signed-off-by: Xiaolong Chen <fukua95@gmail.com>
2025-09-01 10:08:14 +03:00