1
0
mirror of https://github.com/redis/go-redis.git synced 2025-07-20 22:42:59 +03:00
Commit Graph

2693 Commits

Author SHA1 Message Date
4ab4980247 fix race in tests 2025-04-22 15:47:15 +03:00
44628c5dbd add tests 2025-04-22 15:41:35 +03:00
e0c224ddb4 Merge branch 'master' into ndyakov/token-based-auth 2025-04-22 12:05:06 +03:00
a7b4ce5e50 docs: fix documentation comments (#3351) 2025-04-22 08:11:00 +03:00
e191cf9dbe fix: better error handling when fetching the master node from the sentinels (#3349)
* Better error handling when fetching the master node from the sentinels

* fix error message generation

* close the errCh to not block

* use len over errCh
2025-04-17 16:31:07 +03:00
a4aea258fc Ensure context isn't exhausted via concurrent query as opposed to sentinel query (#3334) 2025-04-16 22:32:40 +03:00
e2149b06f7 Use correct slot for COUNTKEYSINSLOT command (#3327) 2025-04-16 18:32:57 +03:00
7b9bd6c36e Add integration tests for Redis 8 behavior changes in Redis Search (#3337)
* Add  integration tests for Redis 8 behavior changes in Redis Search

* Undo changes in ft.search limit

* Fix BM25 as the default scorer test

* Add more tests and comments on deprecated params

* Update search_commands.go

* Remove deprication comment for nostopwords

---------

Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com>
2025-04-16 15:59:20 +03:00
d0a8c76d84 Change function type name
Change CancelProviderFunc to UnsubscribeFunc
2025-04-16 12:12:53 +03:00
b26758a906 DOC-5102 added CountOnly search example for docs (#3345) 2025-04-15 18:55:44 +03:00
eedb171825 Use DB option in NewFailoverClusterClient (#3342) 2025-04-15 16:57:50 +03:00
93bc3e6140 fix add missing command in interface (#3344) 2025-04-15 16:19:53 +03:00
6e07177495 Fix FT.Search Limit argument and add CountOnly argument for limit 0 0 (#3338)
* Fix Limit argument and add CountOnly argument

* Add test and Documentation

* Update search_commands.go

---------

Co-authored-by: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com>
2025-04-15 14:39:59 +03:00
40a89c56cc Initial re authentication implementation
Introduces the StreamingCredentialsProvider as the CredentialsProvider
with the highest priority.

TODO: needs to be tested
2025-04-15 13:32:33 +03:00
46484324a5 chore(deps): bump rojopolis/spellcheck-github-actions (#3336)
Bumps [rojopolis/spellcheck-github-actions](https://github.com/rojopolis/spellcheck-github-actions) from 0.47.0 to 0.48.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.47.0...0.48.0)

---
updated-dependencies:
- dependency-name: rojopolis/spellcheck-github-actions
  dependency-version: 0.48.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-04-07 13:21:55 +03:00
8e020c1d8f drop ft.profile that was never enabled (#3323) 2025-04-03 17:01:34 +03:00
847f1f9daa Merge branch 'master' into ndyakov/token-based-auth 2025-04-03 16:12:38 +03:00
0df0f3c887 use 8.0-RC1 (#3330) 2025-04-03 16:10:51 +03:00
0cfcd1a61d update pubsub.go (#3329) 2025-04-03 16:10:31 +03:00
c248425ade Merge branch 'master' into ndyakov/token-based-auth 2025-04-01 00:27:37 +03:00
53daf77e1a DOC-4464 examples for llen, lpop, lpush, lrange, rpop, and rpush (#3234)
* DOC-4464 examples for llen, lpop, lpush, lrange, rpop, and rpush

* DOC-4464 improved variable names

---------

Co-authored-by: Vladyslav Vildanov <117659936+vladvildanov@users.noreply.github.com>
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-03-28 23:05:36 +02:00
cb3aa19618 Sync master with v9.8.0-beta.1 (#3322) 2025-03-25 12:25:35 +02:00
482a20d9c9 Feature more prominently how to enable OpenTelemetry instrumentation (#3316) 2025-03-25 09:28:25 +02:00
132818033b added Do method for raw query by single conn from pool.Conn() (#3182)
* added `Do` method for raw query by single conn from `pool.Conn()`

* added test to cmdble Do method

* fixed test

* moved Do cmd to commands.go

---------

Co-authored-by: Oleg Laktyushkin <oglaktyushkin@avito.ru>
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-03-24 18:36:21 +02:00
fa59ccef4f add package level comment 2025-03-24 18:13:58 +02:00
7f5d87b038 fix: put back option in pool creation 2025-03-24 18:11:02 +02:00
d3a25f9626 Merge branch 'master' into ndyakov/token-based-auth 2025-03-24 17:30:42 +02:00
97f7530415 Drop RedisGears (aka. Triggers and Functions) (#3321) 2025-03-24 17:30:29 +02:00
140a278bb8 add streamingcredentialsprovider in options 2025-03-24 16:39:40 +02:00
df9bfce954 update documentation 2025-03-24 16:29:15 +02:00
9ef438bd15 Merge remote-tracking branch 'origin/master' into ndyakov/token-based-auth 2025-03-24 16:11:53 +02:00
9762559c75 Bound connection pool background dials to configured dial timeout (#3089) 2025-03-24 15:45:43 +02:00
694a7101d4 Make MASTERDOWN a retriable error in RedisCluster client (#3164)
When clusters are running with `replica-server-stale-data no`, replicas
will return a MASTERDOWN error under two conditions:
  1. The primary has failed and we are not serving requests.
  2. A replica has just started and has not yet synced from the primary.

The former, primary has failed and we are not serving requests, is
similar to a CLUSTERDOWN error and should be similarly retriable.

When a replica has just started and has not yet synced from the primary
the request should be retried on other available nodes in the shard.
Otherwise a percentage of the read requests to the shard will fail.

Examples when `replica-server-stale-data no` is enabled:
  1. In a cluster using `ReadOnly` with a single read replica, every
     read request will return errors to the client because MASTERDOWN is
     not a retriable error.
  2. In a cluster using `RouteRandomly` a percentage of the requests
     will return errors to the client based on if this server was
     selected.

Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-03-24 15:28:20 +02:00
30c128a67a chore: disable verifying golangci configuration (#3319) 2025-03-24 15:19:26 +02:00
d86395694d Add FailoverClusterClient support for Universal client (#2794)
* Add FailoverClusterClient support + fix example/hset-struct go.sum

* Improve NewUniversalClient comment

---------

Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-03-24 14:21:08 +02:00
15059395a1 Support new hash commands: HGETDEL, HGETEX, HSETEX (#3305) 2025-03-24 14:03:26 +02:00
d29aace826 chore(deps): bump golangci/golangci-lint-action from 6.5.1 to 6.5.2 (#3317)
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 6.5.1 to 6.5.2.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v6.5.1...v6.5.2)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-24 13:47:29 +02:00
34222bffeb release 9.7.3, retract 9.7.2 (#3314) (#3315) 2025-03-21 13:13:14 +02:00
11efd6a01e chore(deps): bump golang.org/x/net in /example/otel (#3308)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.33.0 to 0.36.0.
- [Commits](https://github.com/golang/net/compare/v0.33.0...v0.36.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-19 21:11:14 +02:00
d236865b0c fix: handle network error on SETINFO (#3295) (CVE-2025-29923)
* fix: handle network error on SETINFO

This fix addresses potential out of order responses as described in `CVE-2025-29923`

* fix: deprecate DisableIndentity and introduce DisableIdentity

Both options will work before V10. In v10 DisableIndentity will be dropped. The preferred flag to use is `DisableIdentity`.
2025-03-19 19:02:36 +02:00
74d4f08476 DOC-4494 SADD and SMEMBERS command examples (#3242)
* DOC-4494 added sadd example

* DOC-4494 sadd and smembers examples

* DOC-4494 better naming convention for result variables

---------

Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-03-19 17:36:58 +02:00
a402c55344 Add vector types INT8 and UINT8 test (#3299) 2025-03-18 18:05:45 +02:00
8269e6a22a fix(tracing): show the whole command rather than truncated version of it (#3290)
Truncate version of a long key might not be useful when debugging

Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-03-18 14:50:29 +02:00
9494d8498a chore: use redis 8 ce m05 (#3304)
* use m05

* add platform, since client-libs has image for amd64

* verbose testing

* Update .github/workflows/build.yml
2025-03-18 14:20:18 +02:00
5410adb9dc wip 2025-03-18 11:07:14 +02:00
b3709c6506 chore(deps): bump golangci/golangci-lint-action from 6.5.0 to 6.5.1 (#3302)
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 6.5.0 to 6.5.1.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v6.5.0...v6.5.1)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-17 16:27:26 +02:00
4f09082f6b fix: connection pool timeout, increase retries (#3298)
* fix: connection pool timeout, increase retries

Signed-off-by: monkey <golang@88.com>

* fix: add shouldRetry test

Signed-off-by: monkey <golang@88.com>

---------

Signed-off-by: monkey <golang@88.com>
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
2025-03-14 10:05:22 +02:00
1c9309fdc2 Set client name in HELLO RESP handshake (#3294) 2025-03-13 14:55:28 +02:00
555a41ecc7 Enable dialect 2 on default (#3213)
* Enable dialect 2 on deafult

* add vector test for default dialect

* Add dialect 1 test

* Add dialect 1 test & fix ft.search

* Add default dialect to Readme
2025-03-13 14:54:25 +02:00
310ce55c59 Update README.md
Minor update on the README by highlighting that go-redis is the official Redis library. The note about Uptrace was moved to the 'contributors' section of the README.
2025-03-12 14:57:19 +01:00