Skip to content

Commit aa68b7c

Browse files
authored
Use correct default value for AddressResolver for DQ (#7922)
1 parent 20635ca commit aa68b7c

File tree

3 files changed

+16
-6
lines changed

3 files changed

+16
-6
lines changed

ydb/library/yql/providers/dq/actors/yt/resource_manager.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ namespace NYql {
7373

7474
bool ForceIPv4 = false;
7575

76-
NYT::NYson::TYsonString AddressResolverConfig;
76+
std::optional<NYT::NYson::TYsonString> AddressResolverConfig;
7777

7878
// Pinger
7979
TString DieOnFileAbsence; // see YQL-14099

ydb/library/yql/providers/dq/actors/yt/yt_resource_manager.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -656,7 +656,9 @@ namespace NYql {
656656
.Item(NCommonJobVars::OPERATION_SIZE).Value(ToString(nodes.size()))
657657
.Item(NCommonJobVars::UDFS_PATH).Value(fileCache)
658658
.Item(NCommonJobVars::ACTOR_NODE_ID).Value(ToString(nodeId))
659-
.Item(NCommonJobVars::ADDRESS_RESOLVER_CONFIG).Value(ToString(NYT::NYson::ConvertToYsonString(Options.AddressResolverConfig, NYT::NYson::EYsonFormat::Text)))
659+
.DoIf(!!Options.AddressResolverConfig, [&](NYT::TFluentMap fluent) {
660+
fluent.Item(NCommonJobVars::ADDRESS_RESOLVER_CONFIG).Value(ToString(NYT::NYson::ConvertToYsonString(Options.AddressResolverConfig, NYT::NYson::EYsonFormat::Text)));
661+
})
660662
.DoIf(!!GetEnv("YQL_DETERMINISTIC_MODE"), [&](NYT::TFluentMap fluent) {
661663
fluent.Item("YQL_DETERMINISTIC_MODE").Value("1");
662664
})

ydb/library/yql/tools/dq/worker_job/dq_worker.cpp

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,6 @@ namespace NYql::NDq::NWorker {
172172
TString fileCacheDir = GetEnv(NCommonJobVars::UDFS_PATH);
173173
TString ytCoordinatorStr = GetEnv(TString("YT_SECURE_VAULT_") + NCommonJobVars::YT_COORDINATOR);
174174
TString ytBackendStr = GetEnv(TString("YT_SECURE_VAULT_") + NCommonJobVars::YT_BACKEND);
175-
NYT::NYson::TYsonString addressResolverYson = NYT::NYson::TYsonString(GetEnv(NCommonJobVars::ADDRESS_RESOLVER_CONFIG));
176175

177176
TString operationId = GetEnv("YT_OPERATION_ID");
178177
TString jobId = GetEnv("YT_JOB_ID");
@@ -190,11 +189,20 @@ namespace NYql::NDq::NWorker {
190189
TRangeWalker<int> portWalker(startPort, startPort+100);
191190
auto ports = BindInRange(portWalker);
192191

193-
auto addressResolverConfig = NYT::NYTree::ConvertTo<NYT::NNet::TAddressResolverConfigPtr>(addressResolverYson);
194-
NYT::NNet::TAddressResolver::Get()->Configure(addressResolverConfig);
195-
196192
auto forceIPv4 = IsTrue(GetEnv(TString("YT_SECURE_VAULT_") + NCommonJobVars::YT_FORCE_IPV4, ""));
197193

194+
auto addressResolverStr = GetEnv(NCommonJobVars::ADDRESS_RESOLVER_CONFIG, "");
195+
if (!addressResolverStr.Empty()) {
196+
auto addressResolverConfig = NYT::NYTree::ConvertTo<NYT::NNet::TAddressResolverConfigPtr>(NYT::NYson::TYsonString(addressResolverStr));
197+
NYT::NNet::TAddressResolver::Get()->Configure(addressResolverConfig);
198+
} else if (forceIPv4) {
199+
// Keep the previous behavior for compatibility.
200+
auto config = NYT::New<NYT::NNet::TAddressResolverConfig>();
201+
config->EnableIPv4 = true;
202+
config->EnableIPv6 = false;
203+
NYT::NNet::TAddressResolver::Get()->Configure(config);
204+
}
205+
198206
auto [host, ip] = NYql::NDqs::GetLocalAddress(
199207
coordinatorConfig.HasHostName() ? &coordinatorConfig.GetHostName() : nullptr,
200208
forceIPv4 ? AF_INET : AF_INET6

0 commit comments

Comments
 (0)