Commit Graph

219 Commits

Author SHA1 Message Date
janbar 56a3dbc7b6
feat: provide a username and password callback method, so that the plaintext username and password will not be stored in the memory, and the username and password will only be generated once when the CredentialsProvider is called. After the method is executed, the username and password strings on the stack will be released. (#2097)
Co-authored-by: janbar <janbar@163.com>
2022-06-04 10:26:04 +03:00
Vladimir Mihailenco 86258a11a9 chore: lazy reload when moved or ask 2021-10-04 13:16:33 +03:00
Pau Freixes 98bb99ddc2
Fix Redis Cluster issue during roll outs of new nodes with same addr (#1914)
* fix: recycle connections in some Redis Cluster scenarios

This issue was surfaced in a Cloud Provider solution that used for
rolling out new nodes using the same address (hostname) of the nodes
that will be replaced in a Redis Cluster, while the former ones once
depromoted as Slaves would continue in service during some mintues
for redirecting traffic.

The solution basically identifies when the connection could be stale
since a MOVED response will be returned using the same address (hostname)
that is being used by the connection. At that moment we consider the
connection as no longer usable forcing to recycle the connection.
2021-10-04 13:10:42 +03:00
Vladimir Mihailenco 7c92957d71 chore: gofmt 2021-09-17 14:22:23 +03:00
Gökhan Özeloğlu 028aeaad73 empty hooks.withContext removed 2021-09-16 09:07:49 +03:00
Vladimir Mihailenco 6e4eb2e3ac
Remove OpenTelemetry from the code (but leave redisotel as is) (#1782) 2021-06-03 19:01:51 +08:00
Vladimir Mihailenco 02a9c81ef1 Fix golangci-lint check 2021-03-23 11:02:29 +02:00
Vladimir Mihailenco 1b77706c0c Optimize Otel instrumentation 2021-03-20 10:01:48 +02:00
lawmatsuyama dd7fefe738 change otel/label for otel/attribute 2021-03-03 22:43:10 -03:00
Vladimir Mihailenco 2c9c526023 Wait for the goroutine to finish 2020-12-06 17:09:22 +02:00
Vladimir Mihailenco 02ccf05ed0 Close the conn on context timeout 2020-12-06 11:14:07 +02:00
Vladimir Mihailenco 55a8f1a601
Merge pull request #1567 from go-redis/feature/otel-0.14
Update to otel v0.14
2020-11-21 10:12:54 +02:00
Vladimir Mihailenco 3921cd497c Update to otel v0.14 2020-11-21 09:56:52 +02:00
Mitsuo Heijo f5a1707d3c Update golangci-lint to v1.32 2020-11-17 23:08:15 +09:00
Vladimir Mihailenco 13782c03d0 Tweak otel span and attr names 2020-11-15 14:30:27 +02:00
Vladimir Mihailenco e99a39201b Add hooks to Conn. Fixes #1539 2020-10-17 15:21:09 +03:00
Vladimir Mihailenco 566840fe27 otel: add RemoteAddr 2020-09-28 17:35:49 +03:00
Scott Parkerson 26a6d4714c Fixes #1386; pipeline.Exec() sometimes returns spurious `StatusCmd`
This is caused by function `wrapMultiExec` sometimes clobbering the caller's
cmd slice, corrupting future requests.
2020-09-17 10:53:55 -04:00
Vladimir Mihailenco c5d4b71f66 Fix race 2020-09-17 12:36:10 +03:00
Vladimir Mihailenco 297e671f5e Properly propagate context error 2020-09-17 11:23:34 +03:00
Pavlov Aleksey eda1f9c6ad add context cancelation support for blocking operations 2020-09-17 11:23:12 +03:00
Vladimir Mihailenco 69287d7ea9 Make sure to call after hook on error 2020-09-10 17:36:36 +03:00
Vladimir Mihailenco 5aaa6c6207 Change hooks to be LIFO 2020-09-10 09:22:51 +03:00
Vladimir Mihailenco 6db422f051 Port pool fixes 2020-08-15 15:45:15 +03:00
Vladimir Mihailenco 21a1f58caf Retry timeout and retryable error 2020-07-24 15:52:15 +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
Vladimir Mihailenco a7c11d9699
Merge pull request #1285 from kudrykv/issue-1279
Use an interface for logging
2020-05-21 10:08:11 +03:00
filipe oliveira cf6cf7f450 Add AuthACL 2020-05-21 08:59:51 +03:00
Vladimir Mihailenco 3dcb844106 Bump major version 2020-05-19 08:52:38 +03:00
Vladimir Mihailenco f5593121e0 Add ctx as first arg 2020-05-19 08:52:38 +03:00
Vitaliy Kudryk 39272697aa
issue-1279 update logging 2020-03-30 17:02:17 +03:00
Vladimir Mihailenco 218b17f0fc Include multi & exec in pipeline hook 2020-02-14 15:55:16 +02:00
Vladimir Mihailenco 2e3402d33d Don't allocate tmp slice in txPipelineWriteMulti 2020-02-14 12:55:59 +02:00
Vladimir Mihailenco 512e6c7a40 Unexport Clone and Lock from embedded hooks 2020-02-12 13:02:09 +02:00
git-hulk d52b11cb42 Exported the setErr function as public 2020-02-03 17:53:47 +08:00
Vladimir Mihailenco d2e52839ee Add WithTimeout 2020-02-02 14:59:27 +02:00
Vladimir Mihailenco bdcf7a49a2 Set an error returned from the hook on the Cmd 2020-02-02 11:55:35 +02:00
Vladimir Mihailenco db45a825cc Remove SetLimiter 2020-02-02 11:09:27 +02:00
Vladimir Mihailenco c0fcf85f12 Add missing Tx instrumentation 2019-12-29 12:14:02 +02:00
Vladimir Mihailenco 152e52f203 Fix WithContext race 2019-08-24 12:40:23 +03:00
Vladimir Mihailenco 5776216677 Cleanup 2019-08-24 11:55:13 +03:00
Vladimir Mihailenco 39b67358d7 Retry timeout by default 2019-08-12 15:20:27 +03:00
Vladimir Mihailenco f6fc23d2fa Move key to ZStore 2019-08-09 16:23:56 +03:00
Vladimir Mihailenco 2a46cb006d Add withConn and set cmd errors more consistently 2019-08-09 13:53:05 +03:00
Vladimir Mihailenco 7779accbea Use semantic import versioning 2019-08-08 14:29:44 +03:00
Vladimir Mihailenco 48224a399f Remove releaseConnStrict 2019-08-08 11:44:55 +03:00
Vladimir Mihailenco 2927e15b6b Retry BadConnError 2019-08-08 11:44:55 +03:00
Vladimir Mihailenco 056ad27792 Cleanup 2019-08-07 16:57:48 +03:00
Vladimir Mihailenco 4e9cea8876 Add proper SingleConnPool implementation 2019-08-03 17:31:28 +03:00