diff --git a/ydb/core/blobstorage/dsproxy/dsproxy.h b/ydb/core/blobstorage/dsproxy/dsproxy.h index 4ceb1942b44d..9bc1e0dc73ce 100644 --- a/ydb/core/blobstorage/dsproxy/dsproxy.h +++ b/ydb/core/blobstorage/dsproxy/dsproxy.h @@ -341,6 +341,7 @@ class TBlobStorageGroupRequestActor : public TActor ExecutionRelay; bool ExecutionRelayUsed = false; + bool FirstResponse = true; }; void Encrypt(char *destination, const char *source, size_t shift, size_t sizeBytes, const TLogoBlobID &id, diff --git a/ydb/core/blobstorage/dsproxy/dsproxy_request.cpp b/ydb/core/blobstorage/dsproxy/dsproxy_request.cpp index 1a2f5dd08296..97f3c75172f5 100644 --- a/ydb/core/blobstorage/dsproxy/dsproxy_request.cpp +++ b/ydb/core/blobstorage/dsproxy/dsproxy_request.cpp @@ -826,7 +826,7 @@ namespace NKikimr { // ensure that we are dying for the first time Y_ABORT_UNLESS(!Dead); - if (RequestHandleClass && PoolCounters) { + if (RequestHandleClass && PoolCounters && FirstResponse) { PoolCounters->GetItem(*RequestHandleClass, RequestBytes).Register( RequestBytes, GeneratedSubrequests, GeneratedSubrequestBytes, Timer.Passed()); } @@ -857,6 +857,7 @@ namespace NKikimr { // send the reply to original request sender Send(source, ev.release(), 0, cookie); + FirstResponse = false; }; void TBlobStorageGroupRequestActor::SendResponse(std::unique_ptr&& ev, TBlobStorageGroupProxyTimeStats *timeStats) {