Commit Graph

136 Commits

Author SHA1 Message Date
Vladimir Mihailenco 092971361b cluster: retry same node on retryable error 2018-05-17 15:02:35 +03:00
Vladimir Mihailenco 34facee367 Add more race tests 2018-05-17 14:55:00 +03:00
Vadim Liman 09b9a99666 Add TLS configuration support for Universal Client 2018-05-11 09:46:09 +03:00
superkinglabs 877867d284 Remove costly 'appendIfNotExists' and 'remove' call from PubSub (#743)
* remove costly 'appendIfNotExists' and 'remove' call from pubsub
2018-03-14 12:42:51 +02:00
Gabriel Aszalos 731dd72b84
{cluster,ring}: add support for context to ClusterClient and Ring 2018-03-07 14:41:18 +01:00
Vladimir Mihailenco 4fe9f93940 Re-order atomic field to please race detector 2018-03-07 14:38:18 +02:00
Vladimir Mihailenco d6cb688ea7 Cleanup context implementation 2018-03-07 13:50:14 +02:00
Vladimir Mihailenco a64d3e1ef1 Fix build on 32bit arch 2018-03-07 12:41:11 +02:00
T. Thyer 063393987a Add option to balance load between master node and replica nodes (#729)
* Add option to balance load between master node and replica nodes
2018-03-07 12:23:38 +02:00
Vladimir Mihailenco 5e72be1cbf Extract clusterStateHolder 2018-03-07 12:09:45 +02:00
Vladimir Mihailenco f13fc5381c Extract commands info cache 2018-03-07 12:09:45 +02:00
Vladimir Mihailenco 68362cfda1 Fix doc 2018-02-27 16:11:25 +02:00
Vladimir Mihailenco cac7aa8c36 Reduce ClusterOptions.MaxRedirects from 16 to 8 2018-02-27 16:10:17 +02:00
Vladimir Mihailenco cc47cf2439 Use fresh cluster state after sleeping 2018-02-27 16:10:17 +02:00
Vladimir Mihailenco 9df09066e2 Store all created cluster nodes in allNodes 2018-02-27 14:48:59 +02:00
Vladimir Mihailenco fa7f64f7f2 Rework retrying 2018-02-16 13:40:23 +02:00
Vladimir Mihailenco 1a4d34448d Update cluster node latency asynchronously 2018-02-13 11:42:06 +02:00
yifei.huang 8b4fa6d443 Add WrapProcessPipeline 2018-01-30 16:47:29 +02:00
Vladimir Mihailenco a84876237b Retry if node is closed; close nodes with delay 2018-01-17 13:00:11 +02:00
Vladimir Mihailenco 3de5605ab2 Pick random node when command does not have keys 2017-12-28 16:47:08 +02:00
Vladimir Mihailenco 7cb146a31b Increase read timeout for blocking commands and don't retry such commands 2017-09-29 16:12:43 +03:00
Vladimir Mihailenco 2a5293c99c Export Cmder.Args 2017-09-26 11:29:22 +03:00
Vladimir Mihailenco f9307ab2fe Add TxPipeline to Cmdable 2017-09-25 11:48:44 +03:00
Vladimir Mihailenco bc5f9a6878 Replace PoolStats.Requests with PoolStats.Misses 2017-09-22 12:28:08 +03:00
Vladimir Mihailenco 5294b5dae1 Add PoolStats.StaleConns and enable logging by default 2017-09-11 09:10:17 +03:00
Vladimir Mihailenco 1173a9589f Cleanup code 2017-09-11 08:58:56 +03:00
Vladimir Mihailenco dbd2c99ba9 Rework pipeline retrying 2017-09-01 14:56:00 +03:00
Vladimir Mihailenco 63e3bc58c7 Retry cluster down errors 2017-08-15 10:12:43 +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
Vladimir Mihailenco 3ddda73a05 Close connections to unused nodes 2017-07-11 11:19:40 +03:00
Vladimir Mihailenco 6060f097e1 Add PubSub support to Cluster client 2017-07-09 10:07:20 +03:00
Vladimir Mihailenco 9dbcc5ae80 Vendor syncutil.Once 2017-07-01 12:51:46 +03:00
Dimitrij Denissenko 94ea195dc1 Use node address instead of relying on loopback reported by redis 2017-07-01 12:31:41 +03:00
Vladimir Mihailenco 5132e15c93 Fix cmd info race. Fixes #578 2017-06-17 12:34:39 +03:00
Vladimir Mihailenco 4a3a300665 Add Options.OnConnect 2017-05-26 14:56:18 +03:00
Vladimir Mihailenco 7e8890b644 Embed Cmdable into StatefulCmdable 2017-05-25 13:38:04 +03:00
Vladimir Mihailenco 6307b95039 Export Cmder.Name 2017-05-09 12:45:30 +03:00
Felipe Cavalcanti eeb4d09198 rename Pipelineable to Pipeliner 2017-05-02 12:00:53 -03:00
Felipe Cavalcanti 6fca4d5ad0 pipeline now has its own interface "Pipelineable" 2017-05-01 12:42:58 -03:00
Vladimir Mihailenco 9ebd89772a Rework PubSub conn management 2017-04-24 13:41:03 +03:00
Yuval Pavel Zholkover 8c21ec0006 Fix typo in ClusterClient.TxPipelined()
It should be using ClusterClient.TxPipeline() and not ClusterClient.Pipeline().
2017-04-21 15:50:32 +03:00
Poloskin Valentin Georgievich 80673992e6 gofmt 2017-04-02 17:10:47 +03:00
Vladimir Mihailenco ef95182d29 Code cleanup 2017-03-31 15:11:11 +03:00
Vladimir Mihailenco 2cf5af9928 Merge branch 'v5' 2017-03-20 12:23:42 +02:00
Vladimir Mihailenco ab1e8de9ea Add ability to read client options 2017-03-20 12:15:21 +02:00
Vladimir Mihailenco f33571c93c Merge branch 'v5' 2017-03-04 13:38:55 +02:00
Vladimir Mihailenco 15998effbe Don't panic if cluster state is nil. 2017-03-04 13:27:34 +02:00
Dimitrij Denissenko 30412d7652 Added support for universal client 2017-02-20 10:46:22 +00:00
Vladimir Mihailenco 8040d63c4f Remove gopkg.in 2017-02-19 09:49:21 +02:00
Vladimir Mihailenco 69554c0ec5 Reduce number of allocations. 2017-01-13 13:39:59 +02:00