Skip to content

Commit

Permalink
Merge 63394a1 into ea4f43c
Browse files Browse the repository at this point in the history
  • Loading branch information
Enjection authored Oct 2, 2024
2 parents ea4f43c + 63394a1 commit ac3e6df
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions ydb/core/cms/console/configs_dispatcher.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -927,7 +927,7 @@ void TConfigsDispatcher::Handle(TEvConsole::TEvConfigSubscriptionNotification::T
if (subscription->Yaml && YamlConfigEnabled) {
ReplaceConfigItems(YamlProtoConfig, trunc, FilterKinds(subscription->Kinds), BaseConfig);
} else {
Y_FOR_EACH_BIT(kind, kinds) {
Y_FOR_EACH_BIT(kind, FilterKinds(kinds)) {
if (affectedKinds.contains(kind)) {
hasAffectedKinds = true;
}
Expand All @@ -941,15 +941,15 @@ void TConfigsDispatcher::Handle(TEvConsole::TEvConfigSubscriptionNotification::T
ReplaceConfigItems(ev->Get()->Record.GetConfig(), trunc, FilterKinds(kinds), BaseConfig);
}

if (hasAffectedKinds || !CompareConfigs(subscription->CurrentConfig.Config, trunc) || CurrentStateFunc() == &TThis::StateInit) {
if (hasAffectedKinds || !CompareConfigs(subscription->CurrentConfig.Config, trunc, FilterKinds(kinds)) || CurrentStateFunc() == &TThis::StateInit) {
subscription->UpdateInProcess = MakeHolder<TEvConsole::TEvConfigNotificationRequest>();
subscription->UpdateInProcess->Record.MutableConfig()->CopyFrom(trunc);
subscription->UpdateInProcess->Record.SetLocal(true);
Y_FOR_EACH_BIT(kind, kinds) {
Y_FOR_EACH_BIT(kind, FilterKinds(kinds)) {
subscription->UpdateInProcess->Record.AddItemKinds(kind);
}
subscription->UpdateInProcessCookie = ++NextRequestCookie;
subscription->UpdateInProcessConfigVersion = FilterVersion(ev->Get()->Record.GetConfig().GetVersion(), kinds);
subscription->UpdateInProcessConfigVersion = FilterVersion(ev->Get()->Record.GetConfig().GetVersion(), FilterKinds(kinds));

if (YamlConfigEnabled) {
UpdateYamlVersion(subscription);
Expand Down Expand Up @@ -1046,6 +1046,12 @@ void TConfigsDispatcher::Handle(TEvConfigsDispatcher::TEvSetConfigSubscriptionRe
"SetConfigSubscriptionRequest handler");
Y_UNUSED(nonYamlKinds);
auto kinds = KindsToBitMap(ev->Get()->ConfigItemKinds);

auto truncKinds = FilterKinds(kinds);
if (truncKinds.Empty() && !kinds.Empty()) {
return;
}

auto subscriberActor = ev->Get()->Subscriber ? ev->Get()->Subscriber : ev->Sender;

auto subscription = FindSubscription(kinds);
Expand Down

0 comments on commit ac3e6df

Please sign in to comment.