diff options
author | alexvru <[email protected]> | 2023-04-14 16:49:48 +0300 |
---|---|---|
committer | alexvru <[email protected]> | 2023-04-14 16:49:48 +0300 |
commit | c51441779ee2b5294f551a2e52d12990f521d5e1 (patch) | |
tree | 62ce56ee93eb4e23dfce2f9fe0daa27e987164c0 /library/cpp | |
parent | 0c9d88d453c408129ebe7e3f3085f588d9f63a93 (diff) |
Remove TEventDescr1 support from IC
Diffstat (limited to 'library/cpp')
6 files changed, 30 insertions, 73 deletions
diff --git a/library/cpp/actors/interconnect/interconnect_channel.cpp b/library/cpp/actors/interconnect/interconnect_channel.cpp index 69cc5e946ab..316d57551d8 100644 --- a/library/cpp/actors/interconnect/interconnect_channel.cpp +++ b/library/cpp/actors/interconnect/interconnect_channel.cpp @@ -12,7 +12,7 @@ LWTRACE_USING(ACTORLIB_PROVIDER); namespace NActors { bool TEventOutputChannel::FeedDescriptor(TTcpPacketOutTask& task, TEventHolder& event, ui64 *weightConsumed) { - const size_t descrSize = Params.UseExtendedTraceFmt ? sizeof(TEventDescr2) : sizeof(TEventDescr1); + const size_t descrSize = sizeof(TEventDescr2); const size_t amount = sizeof(TChannelPart) + descrSize; if (task.GetVirtualFreeAmount() < amount) { return false; @@ -32,31 +32,17 @@ namespace NActors { part->Channel = ChannelId | TChannelPart::LastPartFlag; part->Size = descrSize; - void *descr = part + 1; - if (Params.UseExtendedTraceFmt) { - auto *p = static_cast<TEventDescr2*>(descr); - *p = { - event.Descr.Type, - event.Descr.Flags, - event.Descr.Recipient, - event.Descr.Sender, - event.Descr.Cookie, - {}, - event.Descr.Checksum - }; - traceId.Serialize(&p->TraceId); - } else { - auto *p = static_cast<TEventDescr1*>(descr); - *p = { - event.Descr.Type, - event.Descr.Flags, - event.Descr.Recipient, - event.Descr.Sender, - event.Descr.Cookie, - {}, - event.Descr.Checksum - }; - } + auto *p = reinterpret_cast<TEventDescr2*>(part + 1); + *p = { + event.Descr.Type, + event.Descr.Flags, + event.Descr.Recipient, + event.Descr.Sender, + event.Descr.Cookie, + {}, + event.Descr.Checksum + }; + traceId.Serialize(&p->TraceId); task.AppendBuf(part, amount); *weightConsumed += amount; diff --git a/library/cpp/actors/interconnect/interconnect_channel.h b/library/cpp/actors/interconnect/interconnect_channel.h index 312eff2666b..7612c31c76c 100644 --- a/library/cpp/actors/interconnect/interconnect_channel.h +++ b/library/cpp/actors/interconnect/interconnect_channel.h @@ -57,7 +57,7 @@ namespace NActors { std::pair<ui32, TEventHolder*> Push(IEventHandle& ev) { TEventHolder& event = Pool.Allocate(Queue); - const ui32 bytes = event.Fill(ev) + (Params.UseExtendedTraceFmt ? sizeof(TEventDescr2) : sizeof(TEventDescr1)); + const ui32 bytes = event.Fill(ev) + sizeof(TEventDescr2); OutputQueueSize += bytes; if (event.Span = NWilson::TSpan(15 /*max verbosity*/, NWilson::TTraceId(ev.TraceId), "Interconnect.Queue")) { event.Span diff --git a/library/cpp/actors/interconnect/interconnect_handshake.cpp b/library/cpp/actors/interconnect/interconnect_handshake.cpp index 7baf6a31868..a8aeca78661 100644 --- a/library/cpp/actors/interconnect/interconnect_handshake.cpp +++ b/library/cpp/actors/interconnect/interconnect_handshake.cpp @@ -810,12 +810,13 @@ namespace NActors { if (!success.GetUseModernFrame()) { generateError("UseModernFrame not set, obsolete peer version"); + } else if (!success.GetUseExtendedTraceFmt()) { + generateError("UseExtendedTraceFmt not set, obsolete peer version"); } // recover flags Params.Encryption = success.GetStartEncryption(); Params.AuthOnly = Params.Encryption && success.GetAuthOnly(); - Params.UseExtendedTraceFmt = success.GetUseExtendedTraceFmt(); Params.UseExternalDataChannel = success.GetUseExternalDataChannel(); if (success.HasServerScopeId()) { ParsePeerScopeId(success.GetServerScopeId()); @@ -998,10 +999,11 @@ namespace NActors { if (!request.GetRequestModernFrame()) { generateError("RequestModernFrame not set, obsolete peer version"); + } else if (!request.GetRequestExtendedTraceFmt()) { + generateError("RequestExtendedTraceFmt not set, obsolete peer version"); } Params.AuthOnly = Params.Encryption && request.GetRequestAuthOnly() && Common->Settings.TlsAuthOnly; - Params.UseExtendedTraceFmt = request.GetRequestExtendedTraceFmt(); Params.UseExternalDataChannel = request.GetRequestExternalDataChannel() && Common->Settings.EnableExternalDataChannel; if (Params.UseExternalDataChannel) { @@ -1039,7 +1041,7 @@ namespace NActors { } success.SetUseModernFrame(true); success.SetAuthOnly(Params.AuthOnly); - success.SetUseExtendedTraceFmt(Params.UseExtendedTraceFmt); + success.SetUseExtendedTraceFmt(true); success.SetUseExternalDataChannel(Params.UseExternalDataChannel); SendExBlock(MainChannel, record, "ExReply"); diff --git a/library/cpp/actors/interconnect/interconnect_tcp_input_session.cpp b/library/cpp/actors/interconnect/interconnect_tcp_input_session.cpp index ea239780a7f..ad2da30ec3a 100644 --- a/library/cpp/actors/interconnect/interconnect_tcp_input_session.cpp +++ b/library/cpp/actors/interconnect/interconnect_tcp_input_session.cpp @@ -268,42 +268,22 @@ namespace NActors { Metrics->AddInputChannelsIncomingTraffic(channel, sizeof(part) + part.Size); - char buffer[Max(sizeof(TEventDescr1), sizeof(TEventDescr2))]; - auto& v1 = reinterpret_cast<TEventDescr1&>(buffer); - auto& v2 = reinterpret_cast<TEventDescr2&>(buffer); + TEventDescr2 v2; if (~part.Channel & TChannelPart::LastPartFlag) { Payload.ExtractFront(part.Size, eventData); - } else if (part.Size != sizeof(v1) && part.Size != sizeof(v2)) { + } else if (part.Size != sizeof(v2)) { LOG_CRIT_IC_SESSION("ICIS11", "incorrect last part of an event"); return DestroySession(TDisconnectReason::FormatError()); - } else if (Payload.ExtractFrontPlain(buffer, part.Size)) { - TEventData descr; - - switch (part.Size) { - case sizeof(TEventDescr1): - descr = { - v1.Type, - v1.Flags, - v1.Recipient, - v1.Sender, - v1.Cookie, - NWilson::TTraceId(), // do not accept traces with old format - v1.Checksum - }; - break; - - case sizeof(TEventDescr2): - descr = { - v2.Type, - v2.Flags, - v2.Recipient, - v2.Sender, - v2.Cookie, - NWilson::TTraceId(v2.TraceId), - v2.Checksum - }; - break; - } + } else if (Payload.ExtractFrontPlain(&v2, part.Size)) { + TEventData descr = { + v2.Type, + v2.Flags, + v2.Recipient, + v2.Sender, + v2.Cookie, + NWilson::TTraceId(v2.TraceId), + v2.Checksum + }; Metrics->IncInputChannelsIncomingEvents(channel); ProcessEvent(*eventData, descr); diff --git a/library/cpp/actors/interconnect/packet.h b/library/cpp/actors/interconnect/packet.h index d29d35a2076..501fb08ab1e 100644 --- a/library/cpp/actors/interconnect/packet.h +++ b/library/cpp/actors/interconnect/packet.h @@ -61,16 +61,6 @@ struct TEventData { }; #pragma pack(push, 1) -struct TEventDescr1 { - ui32 Type; - ui32 Flags; - TActorId Recipient; - TActorId Sender; - ui64 Cookie; - char TraceId[16]; // obsolete trace id format - ui32 Checksum; -}; - struct TEventDescr2 { ui32 Type; ui32 Flags; diff --git a/library/cpp/actors/interconnect/types.h b/library/cpp/actors/interconnect/types.h index f2feda03f2d..3963f3107d2 100644 --- a/library/cpp/actors/interconnect/types.h +++ b/library/cpp/actors/interconnect/types.h @@ -53,7 +53,6 @@ namespace NActors { struct TSessionParams { bool Encryption = {}; bool AuthOnly = {}; - bool UseExtendedTraceFmt = {}; bool UseExternalDataChannel = {}; TString AuthCN; NActors::TScopeId PeerScopeId; |