@@ -105,8 +105,6 @@ local function create_trigger()
105105end
106106
107107function rebalance .init ()
108- rebalance .metrics .enable_storage_metrics ()
109-
110108 local stored_safe_mode
111109 if not box .info .ro then
112110 if box .space [SAFE_MODE_SPACE ] == nil then
@@ -142,7 +140,6 @@ function rebalance.safe_mode_disable()
142140end
143141
144142--- Rebalance storage API
145-
146143rebalance .storage_api = {
147144 rebalance_safe_mode_status = rebalance .safe_mode_status ,
148145 rebalance_safe_mode_enable = rebalance .safe_mode_enable ,
@@ -153,41 +150,34 @@ rebalance.storage_api = {
153150rebalance .router_api = {}
154151
155152function rebalance .router_api .cache_clear ()
153+ local router = utils .get_vshard_router_instance ()
154+ if router == nil then
155+ log .warn (" Router is not initialized yet" )
156+ return
157+ end
156158 rebalance ._router_cache_last_clear_ts = fiber .time ()
157- return utils . get_vshard_router_instance () :_route_map_clear ()
159+ return router :_route_map_clear ()
158160end
159161
160162function rebalance .router_api .cache_length ()
161- return utils .get_vshard_router_instance ().known_bucket_count
163+ local router = utils .get_vshard_router_instance ()
164+ if router == nil then
165+ log .warn (" Router is not initialized yet" )
166+ return
167+ end
168+ return router .known_bucket_count
162169end
163170
164171function rebalance .router_api .cache_last_clear_ts ()
165172 return rebalance ._router_cache_last_clear_ts
166173end
167174
168175--- Rebalance related metrics
169- rebalance .metrics = {}
170-
171- function rebalance .metrics .enable_storage_metrics ()
172- if not has_metrics_module then
173- return
174- end
175-
176+ if has_metrics_module then
176177 local safe_mode_enabled_gauge = metrics .gauge (
177178 ' tnt_crud_storage_safe_mode_enabled' ,
178179 " is safe mode enabled on this storage instance"
179180 )
180-
181- metrics .register_callback (function ()
182- safe_mode_enabled_gauge :set (rebalance .safe_mode_status () and 1 or 0 )
183- end )
184- end
185-
186- function rebalance .metrics .enable_router_metrics ()
187- if not has_metrics_module then
188- return
189- end
190-
191181 local router_cache_length_gauge = metrics .gauge (
192182 ' tnt_crud_router_cache_length' ,
193183 " number of bucket routes in vshard router cache"
@@ -198,6 +188,7 @@ function rebalance.metrics.enable_router_metrics()
198188 )
199189
200190 metrics .register_callback (function ()
191+ safe_mode_enabled_gauge :set (rebalance .safe_mode_status () and 1 or 0 )
201192 router_cache_length_gauge :set (rebalance .router_api .cache_length ())
202193 router_cache_last_clear_ts_gauge :set (rebalance .router_api .cache_last_clear_ts ())
203194 end )
0 commit comments