Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions ydb/core/config/init/init.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,7 @@ class TDefaultNodeBrokerClient
nodeInfo.SetAddress(node.Address);
nodeInfo.SetExpire(node.Expire);
NConfig::CopyNodeLocation(nodeInfo.MutableLocation(), node.Location);
nodeInfo.SetSlotName(result.GetSlotName());
} else {
auto &info = *nsConfig.AddNode();
info.SetNodeId(node.NodeId);
Expand Down
30 changes: 26 additions & 4 deletions ydb/core/config/init/init_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -593,8 +593,23 @@ struct TCommonAppOptions {
ConfigUpdateTracer.AddUpdate(NKikimrConsole::TConfigItem::TenantPoolConfigItem, TConfigItemInfo::EUpdateKind::UpdateExplicitly);
}

if (TenantName && InterconnectPort != DefaultInterconnectPort) {
appConfig.MutableMonitoringConfig()->SetHostLabelOverride(HostAndICPort(env));
if (TenantName) {
if (appConfig.GetDynamicNodeConfig().GetNodeInfo().HasSlotName()) {
const TString& slotName = appConfig.GetDynamicNodeConfig().GetNodeInfo().GetSlotName();
appConfig.MutableMonitoringConfig()->SetHostLabelOverride(slotName);
ConfigUpdateTracer.AddUpdate(NKikimrConsole::TConfigItem::MonitoringConfigItem, TConfigItemInfo::EUpdateKind::UpdateExplicitly);
} else if (InterconnectPort != DefaultInterconnectPort) {
appConfig.MutableMonitoringConfig()->SetHostLabelOverride(HostAndICPort(env));
ConfigUpdateTracer.AddUpdate(NKikimrConsole::TConfigItem::MonitoringConfigItem, TConfigItemInfo::EUpdateKind::UpdateExplicitly);
}
}

if (TenantName) {
if (InterconnectPort == DefaultInterconnectPort) {
appConfig.MutableMonitoringConfig()->SetProcessLocation(Host(env));
} else {
appConfig.MutableMonitoringConfig()->SetProcessLocation(HostAndICPort(env));
}
ConfigUpdateTracer.AddUpdate(NKikimrConsole::TConfigItem::MonitoringConfigItem, TConfigItemInfo::EUpdateKind::UpdateExplicitly);
}

Expand Down Expand Up @@ -682,10 +697,17 @@ struct TCommonAppOptions {
}

TString HostAndICPort(IEnv& env) const {
auto hostname = Host(env);
if (!hostname) {
return "";
}
return TStringBuilder() << hostname << ":" << InterconnectPort;
}

TString Host(IEnv& env) const {
try {
auto hostname = to_lower(env.HostName());
hostname = hostname.substr(0, hostname.find('.'));
return TStringBuilder() << hostname << ":" << InterconnectPort;
return hostname.substr(0, hostname.find('.'));
} catch (TSystemError& error) {
return "";
}
Expand Down
2 changes: 1 addition & 1 deletion ydb/core/driver_lib/run/kikimr_services_initializers.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2103,7 +2103,7 @@ void TKqpServiceInitializer::InitializeServices(NActors::TActorSystemSetup* setu

auto kqpProxySharedResources = std::make_shared<NKqp::TKqpProxySharedResources>();

// Crate resource manager
// Create resource manager
auto rm = NKqp::CreateKqpResourceManagerActor(Config.GetTableServiceConfig().GetResourceManager(), nullptr,
{}, kqpProxySharedResources);
setup->LocalServices.push_back(std::make_pair(
Expand Down
1 change: 1 addition & 0 deletions ydb/core/protos/node_broker.proto
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ message TNodeInfo {
optional string Address = 5;
optional NActorsInterconnect.TNodeLocation Location = 6;
optional uint64 Expire = 7;
optional string SlotName = 8;
}

message TEpoch {
Expand Down
2 changes: 2 additions & 0 deletions ydb/public/api/protos/ydb_discovery.proto
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,8 @@ message NodeRegistrationResult {
repeated NodeInfo nodes = 4;
optional uint64 scope_tablet_id = 5;
optional uint64 scope_path_id = 6;
// A unique name within the tenant generated by the system
optional string slot_name = 7;
}

message NodeRegistrationResponse {
Expand Down
5 changes: 5 additions & 0 deletions ydb/public/sdk/cpp/client/ydb_discovery/discovery.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ TNodeRegistrationResult::TNodeRegistrationResult(TStatus&& status, const Ydb::Di
, Expire_(proto.expire())
, ScopeTableId_(proto.has_scope_tablet_id() ? std::make_optional(proto.scope_tablet_id()) : std::nullopt)
, ScopePathId_(proto.has_scope_path_id() ? std::make_optional(proto.scope_path_id()) : std::nullopt)
, SlotName_(proto.slot_name())
{
const auto& nodes = proto.nodes();
Nodes_.reserve(nodes.size());
Expand Down Expand Up @@ -122,6 +123,10 @@ bool TNodeRegistrationResult::HasScopePathId() const {
return ScopePathId_.value();
}

const TString& TNodeRegistrationResult::GetSlotName() const {
return SlotName_;
}

const TVector<TNodeInfo>& TNodeRegistrationResult::GetNodes() const {
return Nodes_;
}
Expand Down
2 changes: 2 additions & 0 deletions ydb/public/sdk/cpp/client/ydb_discovery/discovery.h
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ class TNodeRegistrationResult : public TStatus {
bool HasScopeTabletId() const;
const ui64& GetScopePathId() const;
bool HasScopePathId() const;
const TString& GetSlotName() const;
const TVector<TNodeInfo>& GetNodes() const;

private:
Expand All @@ -117,6 +118,7 @@ class TNodeRegistrationResult : public TStatus {
ui64 Expire_;
std::optional<ui64> ScopeTableId_;
std::optional<ui64> ScopePathId_;
TString SlotName_;
TVector<TNodeInfo> Nodes_;
};

Expand Down