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
cybersmeashish
ff4d63e06b
chore(test): Add comprehensive edge case tests for IncrByFloat command ( #3477 )
...
This commit adds extensive test coverage for the IncrByFloat Redis command,
covering various edge cases and scenarios that were not previously tested.
Test cases added:
- Negative increment values
- Zero increment (should return current value)
- High precision floating point operations
- Non-existent key behavior (should start from 0)
- Integer values stored as strings
- Scientific notation (both positive and negative)
- Error handling for non-numeric values
- Very large numbers (near float64 limits)
- Very small numbers (near zero precision)
These tests ensure robust behavior of the IncrByFloat command across
different numeric formats and edge conditions, improving the overall
reliability and test coverage of the go-redis library.
The tests use Gomega's BeNumerically matcher for floating point
comparisons to handle precision issues appropriately.
2025-08-18 20:05:47 +03:00
cxljs
e07f55bed1
chore(buffers): Set the default read/write buffer size of Redis connection to 32KiB ( #3483 )
...
* update README.md
Signed-off-by: Xiaolong Chen <fukua95@gmail.com >
* typo: 0.5MiB -> 256KiB
Signed-off-by: Xiaolong Chen <fukua95@gmail.com >
* Set the default read/write buffer size of Redis connection to 32KiB
Signed-off-by: Xiaolong Chen <fukua95@gmail.com >
---------
Signed-off-by: Xiaolong Chen <fukua95@gmail.com >
2025-08-18 20:04:55 +03:00
Elena Kolevska
b8682d037b
chore(ci): Bumps test image to 8.2.1-pre ( #3478 )
...
* Bumps test image to 8.2.1-pre
Signed-off-by: Elena Kolevska <elena@kolevska.com >
* Missed the “benchmark” job
Signed-off-by: Elena Kolevska <elena@kolevska.com >
---------
Signed-off-by: Elena Kolevska <elena@kolevska.com >
2025-08-18 16:51:38 +03:00
cxljs
8336c44404
chore(client): fix UniversalOptions miss ReadBufferSize and WriteBufferSize options ( #3485 )
...
Signed-off-by: Xiaolong Chen <fukua95@gmail.com >
2025-08-18 15:46:31 +03:00
dependabot[bot]
d2ad801ba2
chore(deps): bump actions/checkout from 4 to 5 ( #3484 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '5'
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-08-18 11:33:44 +03:00
cxljs
97817108dd
Set the read/write buffer size of the sentinel client to 4KiB ( #3476 )
...
Signed-off-by: Xiaolong Chen <fukua95@gmail.com >
2025-08-14 15:48:45 +03:00
ofekshenawa
0b1e9f77ef
fix(json): Ensure that JSON.GET returns Nil response ( #3470 )
...
* fix conflicts
* Fix JSON nil response handling
Ensure that JSON.GET returns redis.Nil for missing keys/paths,
making it consistent with other Redis commands.
- Restore proper nil detection logic in JSONCmd.readReply
- Add comprehensive test coverage for JSON nil scenarios
- Handle both non-existent keys and non-existent paths consistently
- Distinguish between empty arrays and nil responses
- Add documentation for Val() and Expanded() methods
Original work and problem identification by Nic Gibson.
Enhanced implementation with comprehensive testing and fixes
for the broken nil detection logic.
Fixes #2987
* Fix JSON nil response handling - align with Redis behavior
- Non-existent keys return redis.Nil (consistent with other Redis commands)
- Non-existent paths in existing keys return empty array '[]'
- Fix broken test that was using wrong doc1 reference
- Add comprehensive test coverage for JSON nil scenarios
This aligns with official Redis JSON.GET behavior:
- Missing keys should return nil error like other Redis commands
- Missing paths should return empty JSON array, not error
* Fix JSONDel tests
---------
Co-authored-by: Nic Gibson <nic.gibson@redis.com >
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com >
2025-08-12 14:28:07 +03:00
Elena Kolevska
b566dcacd6
chore(github): Removes dry run for stale issues policy ( #3471 )
2025-08-12 14:08:51 +03:00
ofekshenawa
436979f5c7
feat(options): Clean failing timeout implementation ( #3472 )
...
* Fix hard code of failing timeout
1. if not set failing time limit, default is 15 seconds.
* feat: Complete configurable FailingTimeoutSeconds implementation
---------
Co-authored-by: Shino Wu <shino_wu@trendmicro.com >
2025-08-12 14:08:28 +03:00
Hristo Temelski
6220024a38
chore(otel): Update otel metrics URL ( #3474 )
2025-08-12 14:07:17 +03:00
Nedyalko Dyakov
7b4a537aef
chore(release): 9.12.1, failover client buffer size fixes ( #3469 )
extra/rediscmd/v9.12.1
extra/rediscensus/v9.12.1
v9.12.1
extra/redisotel/v9.12.1
extra/redisprometheus/v9.12.1
2025-08-11 18:58:21 +03:00
Nedyalko Dyakov
94cfffa417
fix(options): Add buffer sizes to failover. Update README ( #3468 )
...
* fix(options): Add buffer sizes to failover. Update README
* fix(spellcheck): add KiB in wordlist
* fix(comment): fix defaul value in comment
* fixes #3465
2025-08-11 16:01:24 +03:00
Vladimir Mihailenco
2c29dedc2d
chore(otel): upgrade otel example to Uptrace v2 ( #3466 )
...
Uptrace v2 comes with a new config file and new defaults.
Also updated dependencies to the latest versions.
2025-08-11 12:33:09 +03:00
Nedyalko Dyakov
b7838dc4e7
chore(release): 9.12.0 / redis 8.2 ( #3464 )
extra/redisotel/v9.12.0
extra/rediscmd/v9.12.0
v9.12.0
extra/rediscensus/v9.12.0
extra/redisprometheus/v9.12.0
2025-08-05 16:50:25 +03:00
Monkey
6a48d3fec1
feat: recover addIdleConn may occur panic ( #2445 )
...
* feat: recover addIdleConn may occur panic
Signed-off-by: monkey92t <golang@88.com >
* fix test race
Signed-off-by: monkey92t <golang@88.com >
---------
Signed-off-by: monkey92t <golang@88.com >
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com >
2025-08-05 15:31:58 +03:00
Cattī Crūdēlēs
4767d9dfaf
fix(redisotel): fix buggy append in reportPoolStats ( #3122 )
...
The current append twice to `conf.attrs` approach in `reportPoolStats` may result in unexpected idleAttrs,
due to `append` [can mutate](https://github.com/golang/go/issues/29115#issuecomment-444669036 ) the underlying array of the original slice,
as demonstrated at <https://go.dev/play/p/jwRMofH91eQ?v=goprev >.
Also, I replaced `metric.WithAttributes` in `reportPoolStats` with `metric.WithAttributeSet`,
since `WithAttributes` is just `WithAttributeSet` with some extra works that are not needed here,
see <https://pkg.go.dev/go.opentelemetry.io/otel/metric@v1.22.0#WithAttributes >.
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com >
2025-08-05 15:15:34 +03:00
Mykhailo Alipa
7158a8dad4
feat(ring): specify custom health check func via HeartbeatFn option ( #2940 )
...
* specify custom health check func via ShardHealthCheckFn option
* ShardHealthCheckFn renamed to HeartbeatFn
---------
Co-authored-by: Mykhailo Alipa <strobil@Mykhailos-MacBook-Air.local >
Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com >
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com >
Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com >
2025-08-05 15:00:33 +03:00
Elena Kolevska
8d15d03d4e
chore(github): merges into one job with two steps ( #3463 )
...
Signed-off-by: Elena Kolevska <elena@kolevska.com >
2025-08-05 14:49:28 +03:00
cxljs
375fa5d083
chore(doc): improve code readability ( #3446 )
...
- replace two similar functions `appendUniqueNode` and `appendIfNotExists` with a generic function.
- simplify the implementation of the `get` method in `clusterNodes`
- keep the member name `_generation` of `clusterNodes` consistent with other types.
- rename a data member `_masterAddr` to `masterAddr`.
Signed-off-by: Xiaolong Chen <fukua95@gmail.com >
2025-08-04 17:22:16 +03:00