diff --git a/service/qos/service_level_controller.cc b/service/qos/service_level_controller.cc index ce95486149..fe39a4f84b 100644 --- a/service/qos/service_level_controller.cc +++ b/service/qos/service_level_controller.cc @@ -175,7 +175,9 @@ future<> service_level_controller::update_service_levels_from_distributed_data() for (; current_it != _service_levels_db.end(); current_it++) { sl_logger.info("service level \"{}\" was deleted.", current_it->first.c_str()); - service_levels_for_delete.emplace(current_it->first, current_it->second.slo); + if (!current_it->second.is_static) { + service_levels_for_delete.emplace(current_it->first, current_it->second.slo); + } } for (; new_state_it != service_levels.end(); new_state_it++) { sl_logger.info("service level \"{}\" was added.", new_state_it->first.c_str()); diff --git a/service/qos/service_level_controller.hh b/service/qos/service_level_controller.hh index 4bfadd4416..0bdf9832da 100644 --- a/service/qos/service_level_controller.hh +++ b/service/qos/service_level_controller.hh @@ -85,7 +85,7 @@ private: static constexpr shard_id global_controller = 0; - std::unordered_map _service_levels_db; + std::map _service_levels_db; std::unordered_map _role_to_service_level; service_level _default_service_level; service_level_distributed_data_accessor_ptr _sl_data_accessor;