Commit Graph

101 Commits

Author SHA1 Message Date
Ben Keith 74fdad907c ClusterSlots Config and ReadOnly
You have to set the ReadOnly flag on the ClusterOptions to make it fall back to
non-master nodes on reads. For non-clustered situations where you have multiple
nodes in a single ClusterSlot, it made the non-master node useless because it would
never route requests to it and if you set ReadOnly=true it would issue a READONLY
command to it, which would fail.

See comment in code for more details.
2021-01-06 12:14:04 -05:00
Vladimir Mihailenco 143859e345 Rename 2020-12-16 17:45:06 +02:00
Prathik Rajendran M fd6643daa1 Add support to get cluster replica node for a given key 2020-12-16 16:55:40 +05:30
Vladimir Mihailenco 46e04ce67e Fix build 2020-09-11 14:17:23 +03:00
Vladimir Mihailenco 457cdea58f Fix build 2020-09-09 17:40:37 +03:00
Ehsan Afzali 6c85ee767a Add NewFailoverClusterClient 2020-09-09 15:37:52 +03:00
Vladimir Mihailenco a722cde148 Remove ClusterClient failover tests 2020-09-05 12:16:08 +03:00
Vladimir Mihailenco 14c843ef89 gofumports 2020-07-16 09:52:07 +03:00
Vladimir Mihailenco 736fa28659 Cleanup 2020-06-10 15:04:12 +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
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 dd4ef4e9cb Change Tx.Pipeline and Tx.TxPipeline meaning 2020-01-12 14:19:21 +02:00
Vladimir Mihailenco 7779accbea Use semantic import versioning 2019-08-08 14:29:44 +03:00
Vladimir Mihailenco f3ce3362a0 Add golangci-lint 2019-07-25 14:36:50 +03:00
Vladimir Mihailenco 2cbb5194fb Fix WithContext and add tests 2019-07-04 11:57:54 +03:00
Vladimir Mihailenco 6c72dc807e internal/pool: replace atomic.Value with int64 2019-06-01 11:32:05 +03:00
Vladimir Mihailenco 84422d7ae7 Speedup WithContext 2019-05-31 17:31:54 +03:00
Vladimir Mihailenco 5c012a3872 Use random node when there are no channels 2019-03-07 12:24:43 +02:00
Jake Gregg 65932a4b9b Add GETKEYSINSLOT api call for clustered redis 2019-01-29 10:39:58 -08:00
Vladimir Mihailenco 382feca784 clusterStateHolder.Get should load a state when there is none 2018-12-13 12:41:58 +02:00
Vladimir Mihailenco 17e8439f2f Remove Redis Cluster state check 2018-11-24 13:16:21 +02:00
Andrii Kushch 2d74cf3b10 remove snake case use 2018-10-11 12:58:31 +02:00
Vladimir Mihailenco 69445c6e87 Don't enable ReadOnly in custom cluster mode 2018-09-20 13:35:51 +03:00
Vladimir Mihailenco 0197108027 Use bufio.Writer 2018-08-17 14:14:02 +03:00
Vladimir Mihailenco 651e9fef1d Add MaxConnAge 2018-08-12 10:25:16 +03:00
Vladimir Mihailenco 96d1b85009 Cleanups 2018-08-06 13:59:15 +03:00
Vladimir Mihailenco ea9da7c2e8 Rework ReceiveMessage 2018-07-23 17:10:58 +03:00
Vladimir Mihailenco 4ae24be287 Check cluster state before running the tests 2018-07-23 15:22:22 +03:00
Vladimir Mihailenco 2559f32464 cluster: optimize newClusterState 2018-07-22 14:17:42 +03:00
Vladimir Mihailenco 1f59be5cc0 cluster: add manual setup 2018-06-29 10:46:12 +03:00
Vladimir Mihailenco bdf8f06904 cluster: preload commands info 2018-06-18 12:55:26 +03:00
Vladimir Mihailenco 5c742fff78 cluster: cleanup tests 2018-05-21 16:17:57 +03:00
Vladimir Mihailenco 34facee367 Add more race tests 2018-05-17 14:55:00 +03:00
Vladimir Mihailenco 11ca0e65c6 Add race test for BLPop 2018-03-08 10:16:53 +02:00
Vladimir Mihailenco 852a60d520 Fix go vet 2018-03-07 12:09:45 +02:00
Vladimir Mihailenco 56dea1f39a Fix proto.RedisError in slices 2018-02-22 14:24:27 +02:00
Vladimir Mihailenco 71ed499c46 Decrease accurracy 2018-02-20 11:00:19 +02:00
Vladimir Mihailenco 4e89aeeae4 Increase timeout 2018-02-20 10:28:34 +02:00
Vladimir Mihailenco 036680734d Increase backoff in failover tests 2018-02-20 10:14:24 +02:00
Vladimir Mihailenco fa7f64f7f2 Rework retrying 2018-02-16 13:40:23 +02:00
Vladimir Mihailenco 6b10d46cfb Fix tests 2018-02-13 16:23:49 +02:00
Vladimir Mihailenco 1a4d34448d Update cluster node latency asynchronously 2018-02-13 11:42:06 +02:00
Vladimir Mihailenco 3de5605ab2 Pick random node when command does not have keys 2017-12-28 16:47:08 +02:00
Vladimir Mihailenco 0a7606651d Add Cluster.DBSize 2017-09-11 09:19:30 +03:00
Vladimir Mihailenco dbd2c99ba9 Rework pipeline retrying 2017-09-01 14:56:00 +03:00
Vladimir Mihailenco 8ff417ca18 Fix flaky tests 2017-08-15 10:49:45 +03:00
Vladimir Mihailenco 63e3bc58c7 Retry cluster down errors 2017-08-15 10:12:43 +03:00
Vladimir Mihailenco 3ddda73a05 Close connections to unused nodes 2017-07-11 11:19:40 +03:00