@@ -21,17 +21,13 @@ use std::collections::HashMap;
2121use std:: time:: Duration ;
2222use url:: Url ;
2323use anyhow:: anyhow;
24- use tracing:: info;
2524
2625/// A cache that stores entries in a Redis.
2726pub struct RedisCache ;
2827
2928impl RedisCache {
3029 /// Create a new `RedisCache` for the given URL.
3130 pub fn build_from_url ( url : & str , key_prefix : & str , ttl : u64 ) -> Result < Operator > {
32- if url. starts_with ( "redis-sentinel://" ) {
33- return Self :: build_sentinel ( url, key_prefix, ttl) ;
34- }
3531 let parsed = Url :: parse ( url) ?;
3632
3733 let mut builder = Redis :: default ( )
@@ -62,7 +58,7 @@ impl RedisCache {
6258 pub fn build_sentinel ( url : & str , key_prefix : & str , ttl : u64 ) -> Result < Operator > {
6359 use std:: net:: ToSocketAddrs ;
6460
65- info ! ( "Building Redis Sentinel cache from URL: {}" , url) ;
61+ debug ! ( "Building Redis Sentinel cache from URL: {}" , url) ;
6662
6763 // Basic parsing for: redis-sentinel://[:password@]host1[:port1][,host2[:port2],...]/master_name[/db]
6864 let clean_url = url. trim_start_matches ( "redis-sentinel://" ) ;
@@ -74,7 +70,7 @@ impl RedisCache {
7470 let nodes_part = parts[ 0 ] ;
7571 let master_name = parts[ 1 ] ;
7672
77- info ! ( "Sentinel nodes: {}, master_name: {}" , nodes_part, master_name) ;
73+ debug ! ( "Sentinel nodes: {}, master_name: {}" , nodes_part, master_name) ;
7874
7975 // Handle password if present
8076 let ( password, nodes_str) = if nodes_part. contains ( '@' ) {
@@ -89,30 +85,30 @@ impl RedisCache {
8985 let mut master_addr = None ;
9086 let mut last_error: Option < String > = None ;
9187
92- info ! ( "Attempting to discover master '{}' from {} sentinel node(s)" , master_name, nodes_raw. len( ) ) ;
88+ debug ! ( "Attempting to discover master '{}' from {} sentinel node(s)" , master_name, nodes_raw. len( ) ) ;
9389
9490 for node in & nodes_raw {
95- info ! ( "Trying sentinel node: {}" , node) ;
91+ debug ! ( "Trying sentinel node: {}" , node) ;
9692
9793 // Resolve hostname to IP address(es)
9894 let resolved_addr = match node. to_socket_addrs ( ) {
9995 Ok ( mut addrs) => {
10096 if let Some ( addr) = addrs. next ( ) {
101- info ! ( "Resolved {} to {}" , node, addr) ;
97+ debug ! ( "Resolved {} to {}" , node, addr) ;
10298 addr. to_string ( )
10399 } else {
104- info ! ( "DNS resolved {} but returned no addresses" , node) ;
100+ debug ! ( "DNS resolved {} but returned no addresses" , node) ;
105101 node. to_string ( )
106102 }
107103 }
108104 Err ( e) => {
109- info ! ( "DNS resolution failed for {}: {}, using hostname directly" , node, e) ;
105+ debug ! ( "DNS resolution failed for {}: {}, using hostname directly" , node, e) ;
110106 node. to_string ( )
111107 }
112108 } ;
113109
114110 let redis_url = format ! ( "redis://{}" , resolved_addr) ;
115- info ! ( "Connecting to sentinel at: {}" , redis_url) ;
111+ debug ! ( "Connecting to sentinel at: {}" , redis_url) ;
116112
117113 match redis:: Client :: open ( redis_url. as_str ( ) ) {
118114 Ok ( client) => {
@@ -126,29 +122,29 @@ impl RedisCache {
126122 match res {
127123 Ok ( addr_parts) if addr_parts. len ( ) >= 2 => {
128124 let discovered = format ! ( "redis://{}:{}" , addr_parts[ 0 ] , addr_parts[ 1 ] ) ;
129- info ! ( "Discovered master '{}' at: {}" , master_name, discovered) ;
125+ debug ! ( "Discovered master '{}' at: {}" , master_name, discovered) ;
130126 master_addr = Some ( discovered) ;
131127 break ;
132128 }
133129 Ok ( addr_parts) => {
134130 last_error = Some ( format ! ( "Sentinel returned incomplete response: {:?}" , addr_parts) ) ;
135- info ! ( "{}" , last_error. as_ref( ) . unwrap( ) ) ;
131+ debug ! ( "{}" , last_error. as_ref( ) . unwrap( ) ) ;
136132 }
137133 Err ( e) => {
138134 last_error = Some ( format ! ( "Sentinel query failed: {}" , e) ) ;
139- info ! ( "{}" , last_error. as_ref( ) . unwrap( ) ) ;
135+ debug ! ( "{}" , last_error. as_ref( ) . unwrap( ) ) ;
140136 }
141137 }
142138 }
143139 Err ( e) => {
144140 last_error = Some ( format ! ( "Connection failed: {}" , e) ) ;
145- info ! ( "{}" , last_error. as_ref( ) . unwrap( ) ) ;
141+ debug ! ( "{}" , last_error. as_ref( ) . unwrap( ) ) ;
146142 }
147143 }
148144 }
149145 Err ( e) => {
150146 last_error = Some ( format ! ( "Client creation failed: {}" , e) ) ;
151- info ! ( "{}" , last_error. as_ref( ) . unwrap( ) ) ;
147+ debug ! ( "{}" , last_error. as_ref( ) . unwrap( ) ) ;
152148 }
153149 }
154150 }
@@ -161,7 +157,7 @@ impl RedisCache {
161157 }
162158 } ;
163159
164- info ! ( "Using Redis master endpoint: {}" , final_endpoint) ;
160+ debug ! ( "Using Redis master endpoint: {}" , final_endpoint) ;
165161
166162 let mut builder = Redis :: default ( )
167163 . endpoint ( & final_endpoint)
@@ -186,7 +182,7 @@ impl RedisCache {
186182 . layer ( LoggingLayer :: default ( ) )
187183 . finish ( ) ;
188184
189- info ! ( "Redis Sentinel cache initialized successfully" ) ;
185+ debug ! ( "Redis Sentinel cache initialized successfully" ) ;
190186 Ok ( op)
191187 }
192188
0 commit comments