Commit Graph

226 Commits

Author SHA1 Message Date
Vladimir Mihailenco d66af70ae8 Rename clusterAddrs to activeAddrs 2020-07-09 11:35:19 +03:00
Vladimir Mihailenco f108b8bce3
Merge pull request from davidfu13/master
Make cluster client get updated nodes' addrs
2020-07-09 11:27:43 +03:00
Vladimir Mihailenco 1831363467 Add RecordError 2020-07-09 10:39:46 +03:00
Vladimir Mihailenco dc52593c8c Reload state on read only error 2020-06-30 11:13:15 +03:00
Vladimir Mihailenco 64995f9a51 Tweak auto-reloads 2020-06-29 17:51:47 +03:00
Vladimir Mihailenco 0ffefcde98 Use random node to load cluster slots 2020-06-29 17:26:11 +03:00
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 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 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 2019-02-27 12:53:44 +02:00