David Fu
bb6761fe83
Make cluster client get updated nodes' addrs
...
During loading state, if all the nodes can't be connected, it's
possible that all the nodes' IP addresses have changed at the same
time. Clear the clusterAddrs so that the cluster client has chance
to get updated nodes' IP addresses by using the initial setting of
cluster addresses.
2020-06-15 15:24:18 +08:00
Vladimir Mihailenco
736fa28659
Cleanup
2020-06-10 15:04:12 +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
f8e2e89878
Add ClusterOptions.NewClient hook
...
Replaces https://github.com/go-redis/redis/pull/1316
2020-05-21 09:34:55 +03:00
Vladimir Mihailenco
2960952204
Merge pull request #1316 from YiweiZhuang/yzhuang/add_limiter_in_cluster_client
...
allow cluster client to use limiter
2020-05-21 09:12:59 +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
Yiwei Zhuang
5cd9e7f2f8
allow cluster client use limiter
2020-04-30 18:35:46 -07:00
Vladimir Mihailenco
218b17f0fc
Include multi & exec in pipeline hook
2020-02-14 15:55:16 +02:00
Vladimir Mihailenco
49a0c8c319
Add test for ring and cluster hooks
2020-02-14 14:30:40 +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
45de1c42ae
Set error on the commands in case there are no more attempts left
2020-02-02 14:17:14 +02:00
Vladimir Mihailenco
152e52f203
Fix WithContext race
2019-08-24 12:40:23 +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
4e9cea8876
Add proper SingleConnPool implementation
2019-08-03 17:31:28 +03:00
Vladimir Mihailenco
c837612911
Cancel sleep when context is cancelled
2019-07-30 12:13:00 +03:00
Vladimir Mihailenco
f3ce3362a0
Add golangci-lint
2019-07-25 14:36:50 +03:00
Vladimir Mihailenco
52ec525849
Propagate context in Pipeline
2019-07-25 13:28:15 +03:00
Vladimir Mihailenco
9d9e126af0
Implement TxPipeline for Ring
2019-07-19 12:00:11 +03:00
Vladimir Mihailenco
2cbb5194fb
Fix WithContext and add tests
2019-07-04 11:57:54 +03:00
Vladimir Mihailenco
fa479814de
Fix cmdsInfo to create node
2019-06-29 10:28:33 +03:00
Vladimir Mihailenco
fa2f6ee00b
Merge pull request #1056 from go-redis/fix/do-not-use-random-node
...
Use master / another slave node when current node is failing
2019-06-19 11:02:25 +03:00
Vladimir Mihailenco
3bdf64784a
Cleanup
2019-06-17 12:32:40 +03:00
Vladimir Mihailenco
1cc1ba9990
Use master / another slave node when current node is failing
2019-06-16 14:10:09 +03:00
Vladimir Mihailenco
880e05d975
Cleanup
2019-06-14 16:00:03 +03:00
Vladimir Mihailenco
5460bc10f2
Use Context.Deadline to set net.Conn deadline
2019-06-08 15:02:51 +03: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
84422d7ae7
Speedup WithContext
2019-05-31 17:31:54 +03:00
Vladimir Mihailenco
8476dfea4a
Replace Wrap* with hooks that support context
2019-05-31 16:36:57 +03:00
Vladimir Mihailenco
6238b8d4b7
Mark node as loading in Cluster pipeline read
2019-05-30 17:17:27 +03:00
Нимо
0f8e53e874
fix pubsub panic on redis reload
2019-04-18 19:06:16 +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
5c012a3872
Use random node when there are no channels
2019-03-07 12:24:43 +02:00
Vladimir Mihailenco
b665d8fcf2
Rename copy to clone
2019-03-05 16:10:34 +02:00
Vladimir Mihailenco
ac9e1abf54
Retry master node on readonly errors. Fixes #977
2019-02-27 12:53:44 +02:00
Vladimir Mihailenco
473d039f0b
Merge pull request #955 from go-redis/fix/dont-remember-node
...
Don't remember cluster node for the PubSub
2019-02-08 15:37:55 +02:00
Vladimir Mihailenco
981cf0f5bb
Don't remember cluster node for the PubSub
2019-02-08 13:46:27 +02:00
Jake Gregg
67dcdea95a
⏪ Reverting changes to command.go, refactoring cluster client's calls to cmdSlot
2019-02-01 09:12:20 -08:00
Jake Gregg
f3804cd0b7
👌 Adding additional logic to handle this case
2019-02-01 08:23:41 -08:00
Jake Gregg
dba9cb31f5
♻️ Commands that specify keyslots should not try to hash for keyslot location
2019-01-31 15:47:13 -08:00
Vladimir Mihailenco
2e5bd7a411
Reload cluster state almost on any error
2019-01-08 16:37:22 +02:00