Skip to content

Commit b9da249

Browse files
author
don-dron
committed
YT-25440: Fix buffer allocation for bus
commit_hash:7a37d7700029422ce438efdb476e76f3d522f6c9
1 parent 949bebf commit b9da249

File tree

6 files changed

+20
-13
lines changed

6 files changed

+20
-13
lines changed

yt/yt/core/bus/tcp/client.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ class TTcpBusClient
201201
std::move(poller),
202202
PacketTranscoderFactory_,
203203
MemoryUsageTracker_,
204-
DynamicConfig_.Acquire()->NeedRejectConnectionOnMemoryOvercommit);
204+
DynamicConfig_.Acquire()->RejectConnectionOnMemoryOvercommit);
205205
connection->Start();
206206

207207
return New<TTcpClientBusProxy>(std::move(connection));

yt/yt/core/bus/tcp/config.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ void TBusConfig::Register(TRegistrar registrar)
169169

170170
void TBusDynamicConfig::Register(TRegistrar registrar)
171171
{
172-
registrar.Parameter("need_reject_connection_on_memory_overcommit", &TThis::NeedRejectConnectionOnMemoryOvercommit)
172+
registrar.Parameter("reject_connection_on_memory_overcommit", &TThis::RejectConnectionOnMemoryOvercommit)
173173
.Default(false);
174174
}
175175

yt/yt/core/bus/tcp/config.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ DEFINE_REFCOUNTED_TYPE(TBusConfig)
127127
struct TBusDynamicConfig
128128
: public NYTree::TYsonStruct
129129
{
130-
bool NeedRejectConnectionOnMemoryOvercommit;
130+
bool RejectConnectionOnMemoryOvercommit;
131131

132132
REGISTER_YSON_STRUCT(TBusDynamicConfig);
133133

yt/yt/core/bus/tcp/connection.cpp

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ TTcpConnection::TTcpConnection(
115115
IPollerPtr poller,
116116
IPacketTranscoderFactory* packetTranscoderFactory,
117117
IMemoryUsageTrackerPtr memoryUsageTracker,
118-
bool needRejectConnectionOnMemoryOvercommit)
118+
bool rejectConnectionOnMemoryOvercommit)
119119
: Config_(std::move(config))
120120
, ConnectionType_(connectionType)
121121
, Id_(id)
@@ -140,7 +140,7 @@ TTcpConnection::TTcpConnection(
140140
, EncryptionMode_(Config_->EncryptionMode)
141141
, VerificationMode_(Config_->VerificationMode)
142142
, MemoryUsageTracker_(std::move(memoryUsageTracker))
143-
, NeedRejectConnectionOnMemoryOvercommit_(needRejectConnectionOnMemoryOvercommit)
143+
, RejectConnectionOnMemoryOvercommit_(rejectConnectionOnMemoryOvercommit)
144144
{ }
145145

146146
TTcpConnection::~TTcpConnection()
@@ -587,19 +587,26 @@ void TTcpConnection::InitBuffers()
587587
ConnectionType_ == EConnectionType::Server
588588
? GetRefCountedTypeCookie<TTcpServerConnectionReadBufferTag>()
589589
: GetRefCountedTypeCookie<TTcpClientConnectionReadBufferTag>());
590-
ReadBuffer_
591-
.TryResize(
590+
591+
if (RejectConnectionOnMemoryOvercommit_) {
592+
ReadBuffer_
593+
.TryResize(
594+
ReadBufferSize,
595+
/*initializeStorage*/ false)
596+
.ThrowOnError();
597+
} else {
598+
ReadBuffer_.Resize(
592599
ReadBufferSize,
593-
/*initializeStorage*/ false)
594-
.ThrowOnError();
600+
/*initializeStorage*/ false);
601+
}
595602

596603
auto trackedBlob = TMemoryTrackedBlob::Build(
597604
MemoryUsageTracker_,
598605
ConnectionType_ == EConnectionType::Server
599606
? GetRefCountedTypeCookie<TTcpServerConnectionWriteBufferTag>()
600607
: GetRefCountedTypeCookie<TTcpClientConnectionWriteBufferTag>());
601608

602-
if (NeedRejectConnectionOnMemoryOvercommit_) {
609+
if (RejectConnectionOnMemoryOvercommit_) {
603610
trackedBlob
604611
.TryReserve(WriteBufferSize)
605612
.ThrowOnError();

yt/yt/core/bus/tcp/connection.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ class TTcpConnection
8989
NConcurrency::IPollerPtr poller,
9090
IPacketTranscoderFactory* packetTranscoderFactory,
9191
IMemoryUsageTrackerPtr memoryUsageTracker,
92-
bool needRejectConnectionOnMemoryOvercommit);
92+
bool rejectConnectionOnMemoryOvercommit);
9393

9494
~TTcpConnection();
9595

@@ -280,7 +280,7 @@ class TTcpConnection
280280
const EVerificationMode VerificationMode_;
281281

282282
const IMemoryUsageTrackerPtr MemoryUsageTracker_;
283-
const bool NeedRejectConnectionOnMemoryOvercommit_;
283+
const bool RejectConnectionOnMemoryOvercommit_;
284284

285285
NYTree::IAttributeDictionaryPtr PeerAttributes_;
286286

yt/yt/core/bus/tcp/server.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ class TTcpBusServerBase
277277
std::move(poller),
278278
PacketTranscoderFactory_,
279279
MemoryUsageTracker_,
280-
DynamicConfig_.Acquire()->NeedRejectConnectionOnMemoryOvercommit);
280+
DynamicConfig_.Acquire()->RejectConnectionOnMemoryOvercommit);
281281

282282
{
283283
auto guard = WriterGuard(ConnectionsSpinLock_);

0 commit comments

Comments
 (0)