diff options
author | Alexander Rutkovsky <alexvru@mail.ru> | 2022-03-15 21:03:01 +0300 |
---|---|---|
committer | Alexander Rutkovsky <alexvru@mail.ru> | 2022-03-15 21:03:01 +0300 |
commit | a68afc731202027f105bc5723ee11788017c29e2 (patch) | |
tree | 9f9640112612387063091b109bcd4e2adb50b5b5 /library/cpp | |
parent | 94dc3af93a40e68dbc0f2f54c00fe3ee87b2ccca (diff) | |
download | ydb-a68afc731202027f105bc5723ee11788017c29e2.tar.gz |
Fix location issue KIKIMR-14513
ref:363acfe3059d1ed2b82416f28087ff2d1d32aeae
Diffstat (limited to 'library/cpp')
-rw-r--r-- | library/cpp/actors/core/interconnect.cpp | 7 | ||||
-rw-r--r-- | library/cpp/actors/core/interconnect.h | 3 |
2 files changed, 7 insertions, 3 deletions
diff --git a/library/cpp/actors/core/interconnect.cpp b/library/cpp/actors/core/interconnect.cpp index a42278e669e..9b377cbb008 100644 --- a/library/cpp/actors/core/interconnect.cpp +++ b/library/cpp/actors/core/interconnect.cpp @@ -106,7 +106,7 @@ namespace NActors { return res; } - void TNodeLocation::Serialize(NActorsInterconnect::TNodeLocation *pb) const { + void TNodeLocation::Serialize(NActorsInterconnect::TNodeLocation *pb, bool compatibleWithOlderVersions) const { const NProtoBuf::Descriptor *descriptor = NActorsInterconnect::TNodeLocation::descriptor(); const NProtoBuf::Reflection *reflection = pb->GetReflection(); NProtoBuf::UnknownFieldSet *unknown = pb->mutable_unknown_fields(); @@ -117,11 +117,14 @@ namespace NActors { unknown->AddLengthDelimited(key)->assign(value); } } + if (compatibleWithOlderVersions) { + GetLegacyValue().Serialize(pb); + } } TString TNodeLocation::GetSerializedLocation() const { NActorsInterconnect::TNodeLocation pb; - Serialize(&pb); + Serialize(&pb, false); TString s; const bool success = pb.SerializeToString(&s); Y_VERIFY(success); diff --git a/library/cpp/actors/core/interconnect.h b/library/cpp/actors/core/interconnect.h index 679a4b8cc6f..5ecac1deec4 100644 --- a/library/cpp/actors/core/interconnect.h +++ b/library/cpp/actors/core/interconnect.h @@ -72,7 +72,8 @@ namespace NActors { TNodeLocation& operator =(const TNodeLocation&) = default; TNodeLocation& operator =(TNodeLocation&&) = default; - void Serialize(NActorsInterconnect::TNodeLocation *pb) const; + // compatibleWithOlderVersions should be set to true when this protobuf is possibly going to be delivered to 21-4 + void Serialize(NActorsInterconnect::TNodeLocation *pb, bool compatibleWithOlderVersions) const; TString GetSerializedLocation() const; TString GetDataCenterId() const { return ToStringUpTo(TKeys::DataCenter); } |