summaryrefslogtreecommitdiffstats
path: root/yt/cpp/mapreduce/client/client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'yt/cpp/mapreduce/client/client.cpp')
-rw-r--r--yt/cpp/mapreduce/client/client.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/yt/cpp/mapreduce/client/client.cpp b/yt/cpp/mapreduce/client/client.cpp
index fff13000fc0..f5ae5506427 100644
--- a/yt/cpp/mapreduce/client/client.cpp
+++ b/yt/cpp/mapreduce/client/client.cpp
@@ -90,6 +90,11 @@ bool IsNoSuchTransactionError(const TErrorResponse& e)
return e.GetError().ContainsErrorCode(NClusterErrorCodes::NTransactionClient::NoSuchTransaction);
}
+bool IsResolveError(const TErrorResponse& e)
+{
+ return e.GetError().ContainsErrorCode(NClusterErrorCodes::NYTree::ResolveError);
+}
+
////////////////////////////////////////////////////////////////////////////////
} // namespace
@@ -1733,7 +1738,8 @@ const TNode::TMapType& TClient::GetDynamicConfiguration(const TString& configPro
configProfile);
try {
- clusterConfigNode = Get(clusterConfigPath, TGetOptions());
+ TExpectedErrorGuard guard(IsResolveError);
+ clusterConfigNode = Get(clusterConfigPath, TGetOptions().ReadFrom(EMasterReadKind::Cache));
} catch (const TErrorResponse& error) {
if (!error.IsResolveError()) {
throw;