1
0
mirror of https://github.com/redis/go-redis.git synced 2025-04-17 20:17:02 +03:00

40 Commits

Author SHA1 Message Date
Nedyalko Dyakov
0af2b32f93
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-20 16:47:52 +02:00
Nedyalko Dyakov
3d041a1dd6
release: 9.7.1 patch (#3278)
* Add guidance on unstable RESP3 support for RediSearch commands to README (#3177)

* Add UnstableResp3 to docs

* Add RawVal and RawResult to wordlist

* Explain more about SetVal

* Add UnstableResp to wordlist

* Eliminate redundant dial mutex causing unbounded connection queue contention (#3088)

* Eliminate redundant dial mutex causing unbounded connection queue contention

* Dialer connection timeouts unit test

---------

Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com>

* SortByWithCount FTSearchOptions fix (#3201)

* SortByWithCount FTSearchOptions fix

* FTSearch test fix

* Another FTSearch test fix

* Another FTSearch test fix

---------

Co-authored-by: Christopher Golling <Chris.Golling@aexp.com>

* Fix race condition in clusterNodes.Addrs() (#3219)

Resolve a race condition in the clusterNodes.Addrs() method.
Previously, the method returned a reference to a string slice, creating
the potential for concurrent reads by the caller while the slice was
being modified by the garbage collection process.

Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>

* chore: fix some comments (#3226)

Signed-off-by: zhuhaicity <zhuhai@52it.net>
Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>

* fix(aggregate, search): ft.aggregate bugfixes (#3263)

* fix: rearange args for ft.aggregate

apply should be before any groupby or sortby

* improve test

* wip: add scorer and addscores

* enable all tests

* fix ftsearch with count test

* make linter happy

* Addscores is available in later redisearch releases.

For safety state it is available in redis ce 8

* load an apply seem to break scorer and addscores

* fix: add unstableresp3 to cluster client (#3266)

* fix: add unstableresp3 to cluster client

* propagate unstableresp3

* proper test that will ignore error, but fail if client panics

* add separate test for clusterclient constructor

* fix: flaky ClientKillByFilter test (#3268)

* Reinstate read-only lock on hooks access in dialHook (#3225)

* use limit when limitoffset is zero (#3275)

* remove redis 8 comments

* update package versions

* use latest golangci-lint

* fix(search&aggregate):fix error overwrite and typo  #3220 (#3224)

* fix (#3220)

* LOAD has NO AS param(https://redis.io/docs/latest/commands/ft.aggregate/)

* fix typo: WITHCOUT -> WITHCOUNT

* fix (#3220):

    * Compatible with known RediSearch issue in test

* fix (#3220)

    * fixed the calculation bug of the count of load params

* test should not include special condition

* return errors when they occur

---------

Co-authored-by: Nedyalko Dyakov <nedyalko.dyakov@gmail.com>
Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com>

* Recognize byte slice for key argument in cluster client hash slot computation (#3049)

Co-authored-by: Vladyslav Vildanov <117659936+vladvildanov@users.noreply.github.com>
Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com>

---------

Signed-off-by: zhuhaicity <zhuhai@52it.net>
Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com>
Co-authored-by: LINKIWI <LINKIWI@users.noreply.github.com>
Co-authored-by: Cgol9 <chris.golling@verizon.net>
Co-authored-by: Christopher Golling <Chris.Golling@aexp.com>
Co-authored-by: Shawn Wang <62313353+shawnwgit@users.noreply.github.com>
Co-authored-by: ZhuHaiCheng <zhuhai@52it.net>
Co-authored-by: herodot <54836727+bitsark@users.noreply.github.com>
Co-authored-by: Vladyslav Vildanov <117659936+vladvildanov@users.noreply.github.com>
2025-02-21 15:40:07 +02:00
ofekshenawa
04005cbdc7
Support Resp 3 Redis Search Unstable Mode (#3098)
* Updated module version that points to retracted package version (#3074)

* Updated module version that points to retracted package version

* Updated testing image to latest

* support raw parsing for problematic Redis Search types

* Add UnstableResp3SearchModule to client options

* Add tests for Resp3 Search unstable mode

* Add tests for Resp3 Search unstable mode

* Add readme note

* Add words to spellcheck

* Add UnstableResp3SearchModule check to assertStableCommand

* Fix assertStableCommand logic

* remove go.mod changes

* Check panic occur on tests

* rename method

* update errors

* Rename flag to UnstableResp3

---------

Co-authored-by: Vladyslav Vildanov <117659936+vladvildanov@users.noreply.github.com>
Co-authored-by: vladvildanov <divinez122@outlook.com>
2024-09-12 11:26:10 +03:00
ofekshenawa
a32be3d93d
Add Suffix support to default client set info (#2852)
* Add Suffix support to defualt client set info

* Change ClientNameSuffix to IdentitySuffix

* add tests
2024-01-04 14:40:14 +02:00
Tiago Peczenyj
a5fe17472a
Option types must propagage missing fields (#2726)
* must propagage missing fields

Signed-off-by: Tiago Peczenyj <tpeczenyj@weborama.com>

* remove credentials provider from ring

---------

Signed-off-by: Tiago Peczenyj <tpeczenyj@weborama.com>
Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com>
2023-10-30 14:36:44 +02:00
chenjie199234
fd13da4fea
fix missing fields in different Options (#2757)
* fix missing fields in different Options

* fix missing fields in different Options

---------

Co-authored-by: chenjie199234 <chenjie199234@gmail.com>
Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com>
2023-10-30 14:35:51 +02:00
ljun20160606
391798880c
feat: add protocol option (#2598) 2023-05-16 22:02:22 +08:00
monkey92t
a872c35b1a feat: add ClientName option
Signed-off-by: monkey92t <golang@88.com>
2022-12-28 22:14:52 +08:00
Vladimir Mihailenco
58f7149e38 feat: add ContextTimeoutEnabled to respect context timeouts and deadlines 2022-10-11 10:22:42 +03:00
jianghang
baa48a4415 feat(pubsub): support sharded pub/sub 2022-08-04 00:05:22 +08:00
Vladimir Mihailenco
f6a8adc50c fix: remove conn reaper from the pool and uptrace option names 2022-07-28 15:17:59 +03:00
Vladimir Mihailenco
4ddd7d1803 chore: remove WithContext 2022-06-05 09:58:05 +03:00
Justin Sievenpiper
ab0ccc4741
feat: add support for acl sentinel auth in universal client 2022-02-28 14:55:37 -08:00
ktaekwon000
ce40cd942a
Allow FIFO pool in redis client (#1820)
* Initial commit for FIFO pool

* Change PoolType string to PoolFIFO bool

* Remove redundant type

* add PoolFIFO option to all clients

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

Co-authored-by: Kim Tae Kwon <taekwon.kim@shopee.com>
Co-authored-by: monkey92t <golang@88.com>
2021-07-16 11:58:01 +08:00
Vladimir Mihailenco
d67e2911b9 Update comments 2021-04-08 10:02:22 +03:00
Prashanth Pai
9603556a4d Add PoolStats() to UniversalClient 2020-09-29 21:38:01 +05:30
Dmitry Shmulevich
574c21139d add Sentinel password to UniversalOptions
Signed-off-by: Dmitry Shmulevich <dmitry.shmulevich@sysdig.com>
2020-08-31 08:57:01 -07:00
Vladimir Mihailenco
14c843ef89 gofumports 2020-07-16 09:52:07 +03:00
Vladimir Mihailenco
ef82e3705c Add OnConnect context 2020-06-10 10:36:22 +03:00
Vladimir Mihailenco
4440575966 Merge branch 'v8' 2020-05-21 10:16:44 +03:00
filipe oliveira
cf6cf7f450 Add AuthACL 2020-05-21 08:59:51 +03:00
Vladimir Mihailenco
f5593121e0 Add ctx as first arg 2020-05-19 08:52:38 +03:00
Furkan Senharputlu
8a0ab1aaa7
Make universal options functions public (#1250)
* Make universal options functions public
2020-01-29 17:36:52 +02:00
Vladimir Mihailenco
53c8a4a6b7 Pass context to Dialer 2019-06-04 14:26:26 +03:00
Vladimir Mihailenco
09eb108738 Allow passing context where possible 2019-06-04 13:30:47 +03:00
Vladimir Mihailenco
3da4357c0c Pass network and addr to dialer 2019-06-04 12:40:36 +03:00
Vladimir Mihailenco
7a91ed0df5 Add AddHook to UniversalClient 2019-05-31 17:40:47 +03:00
Vladimir Mihailenco
8476dfea4a Replace Wrap* with hooks that support context 2019-05-31 16:36:57 +03:00
Andrea Spacca
9d63d8db54 Added WrapProcessPipeline to UniversalClient, wrap c.processTxPipeline in cluster client 2019-04-14 10:56:15 +02:00
Vladimir Mihailenco
0d132966a4 Add missing options to UniversalOptions 2018-08-15 08:44:06 +03:00
Vadim Liman
09b9a99666 Add TLS configuration support for Universal Client 2018-05-11 09:46:09 +03:00
Ilya Sinelnikov
ea254bbfda Add Watch func to UniversalClient interface 2018-05-07 20:28:11 +03:00
Olve S. Hansen
1b1fc80e20 Added OnConnect callback to UniversalOptions (#747)
* Added OnConnect callback to UniversalOptions
2018-04-16 10:15:52 +03:00
Pavel Prokopenko
0082bdcd4b add WrapProcess to UniversalClient interface (#728) 2018-03-06 09:15:14 +02:00
Vladimir Mihailenco
9c885d5ba8 Merge pull request #683 from sudhirj/feature/universal_subscriptions
Added subscription interfaces to universal client
2017-12-15 15:14:14 +02:00
Sudhir Jonathan
08ae2d0555 Added subscription interfaces to universal client 2017-12-14 22:06:57 +05:30
Vladimir Mihailenco
f9307ab2fe Add TxPipeline to Cmdable 2017-09-25 11:48:44 +03:00
wenjun.yan
4e1d2a01db Make readOnly a private field so that only cluster client can use it 2017-07-25 10:35:41 +09:00
Dimitrij Denissenko
f605e59ade Expose Process on UniversalClient 2017-02-21 12:13:25 +00:00
Dimitrij Denissenko
30412d7652 Added support for universal client 2017-02-20 10:46:22 +00:00