Commit Graph

80 Commits

Author SHA1 Message Date
Jon Chambers
8c984cbf42 Introduce and evaluate a client presence manager based on sharded pub/sub 2024-11-05 15:51:29 -05:00
Jon Chambers
60cdcf5f0c Only respond to cluster toplogy events from the same cluster to which we're subscribed 2024-11-05 11:42:51 -05:00
Jon Chambers
00d0dba62c Don't retry pub/sub commands 2024-11-04 10:35:50 -05:00
Chris Eager
a3d9af132f Use Mono#transformDeferred when applicable 2024-10-10 10:12:04 -04:00
Jon Chambers
a9117010f9 Introduce FaultTolerantRedisClient 2024-10-09 09:22:10 -04:00
Chris Eager
08faa0c009 Only register metrics for connections to upstream nodes 2024-05-22 11:17:52 -05:00
Chris Eager
fba7686390 Remove shard tag from Lettuce circuit breaker metrics 2024-04-23 16:00:46 -05:00
Chris Eager
b734d58ab7 Coalesce all Redis clusters to per-shard circuit breakers 2024-04-16 12:04:18 -05:00
Chris Eager
9cad2c6b7d Improve test Redis cluster setup and teardown 2024-04-15 15:58:23 -05:00
Chris Eager
2dc707d86e Add per-shard Redis circuit breakers 2024-04-12 11:22:41 -05:00
Chris Eager
a7c28fe5ed Rename "name" tags to be more distinguishing 2024-02-26 09:32:50 -06:00
Chris Eager
b44599cd59 Remove unused jedis library 2023-07-24 10:54:34 -04:00
Chris Eager
4a91fc3c3d Set daemon=true for pubsub topology change event thread 2023-07-05 11:15:12 -05:00
Chris Eager
bdcd055aaf Configure Redis timeouts using TimeoutOptions and RediURI 2023-06-30 12:55:37 -05:00
Chris Eager
3ccfeb490b Add retry after exceptions during a cluster topology change event callback 2023-03-29 11:41:19 -05:00
Chris Eager
d0ccae129a Remove obsolete metric 2023-02-27 16:33:34 -06:00
Chris Eager
d7ad8dd448 Add micrometer timer to FaultTolerantPubSubConnection 2023-02-23 10:17:24 -06:00
Chris Eager
859f2302a9 Remove unused metrics 2023-02-23 10:17:24 -06:00
Chris Eager
358a286523 Use java.util Hex and Base64 codecs 2023-02-06 12:16:59 -06:00
Chris Eager
b13cb098ce lettuce: set publishOnScheduler to true 2022-11-03 13:02:25 -05:00
Chris Eager
c10fda8363 Use reactive streams for WebSocket message queue
Initially, uses `ExperimentEnrollmentManager` to do a safe rollout.
2022-10-31 10:35:37 -05:00
Ehren Kret
c38572307d Remove unused imports 2022-05-20 10:20:45 -07:00
Jon Chambers
aa4bd92fee Lazy-load scripts; fall back to eval if evalsha returns NOSCRIPT 2021-09-29 16:08:17 -04:00
Jon Chambers
f37c76dab1 Drop LuaScript 2021-09-29 16:08:17 -04:00
Jon Chambers
863969c77c Resolve ClusterLuaScript warnings/suggestions 2021-09-29 16:08:17 -04:00
Jon Chambers
2383aaaa3d Update ClusterLuaScript formatting 2021-09-29 16:08:17 -04:00
Jon Chambers
715d1157ad Reject Redis commands when disconnected 2021-09-29 16:07:26 -04:00
Jon Chambers
4aaae3f445 Use a single configuration URI for Redis clusters 2021-09-29 14:46:09 -04:00
Jon Chambers
98e41f9a37 Improve Redis exception handling 2021-09-22 10:31:39 -04:00
Chris Eager
7cdadeb791 Register circuit breaker metrics for FaultTolerantPubSubConnection 2021-08-23 15:49:19 -05:00
Sanket.Ghenand@tomtom.com
37bda0b035 remove unused imports 2021-04-13 11:44:59 -05:00
Chris Eager
91bd061110 Migrate deprecated Lettuce method and enum usages 2021-03-29 14:51:26 -05:00
Jon Chambers
1feb23ba99 Stop periodic topology refreshes. 2021-01-16 03:35:36 -05:00
Jon Chambers
cc3e5d23e4 Enable Lettuce adaptive topology refreshes. 2021-01-10 16:20:35 -05:00
Jon Chambers
22f7bb822f Raise log level of toplogy changes. 2021-01-10 15:14:12 -05:00
Jon Chambers
1b53f10091 Reload scripts across the whole cluster if one shard is missing the script. 2021-01-10 15:00:12 -05:00
Jon Chambers
321e6e6679 Don't validate cluster membership (allow new shards to join dynamically). 2021-01-10 12:58:35 -05:00
Jon Chambers
3a268aef50 Reduce logging level for Lettuce connection events. 2020-12-07 11:56:41 -05:00
Jon Chambers
fb9aa672c9 Include the name of the calling thread when a command times out. 2020-11-11 13:05:35 -05:00
Jon Chambers
6c78d7544f Capture a thread dump when Redis commands time out. 2020-11-10 11:47:39 -05:00
Ehren Kret
604287244f Update copyright statement on all source files
IntelliJ Copyright Profile used to automate this.
2020-11-04 11:55:35 -05:00
Jon Chambers
4a4a721e90 Log timeouts in addition to incrementing a counter to make it easier to get precise timestamps. 2020-10-30 11:35:59 -04:00
Jon Chambers
a4062b338e Count timeouts directly. 2020-10-29 10:51:18 -04:00
Jon Chambers
0431a2abb1 De-dupe connection event logging messages. 2020-10-28 12:29:14 -04:00
Jon Chambers
e391793c58 Remove now-redundant Redis execution time metrics. 2020-10-20 19:00:11 -04:00
Jon Chambers
45687513bf Revert "Revert "Share resources between Lettuce clients.""
This reverts commit 334f509be599fa6a501026e900d912ff7187e150.
2020-10-20 19:00:11 -04:00
Jon Chambers
05929871c9 Rename PushSender to MessageSender and add docs. 2020-10-19 11:24:35 -04:00
Jon Chambers
85c7347899 Add a command for dumping Redis SLOWLOG output. 2020-10-15 12:18:37 -04:00
Jon Chambers
3a84775912 Log cluster topology change events, too. 2020-10-13 16:07:08 -04:00
Jon Chambers
290a82e61c Log when Lettuce connection events happen. 2020-10-13 16:07:08 -04:00