Skip to content

Commit 33aee3e

Browse files
authored
Merge d82c63a into 5722519
2 parents 5722519 + d82c63a commit 33aee3e

35 files changed

+526
-113
lines changed

ydb/core/blobstorage/common/immediate_control_defaults.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,7 @@ TControlWrapper MaxNumOfSlowDisksDefaultControl =
1414
TControlWrapper MaxNumOfSlowDisksHDDDefaultControl =
1515
TControlWrapper(DefaultMaxNumOfSlowDisksHDD, 1, 2);
1616

17+
TControlWrapper LongRequestThresholdDefaultControl =
18+
TControlWrapper(DefaultLongRequestThreshold.MilliSeconds(), 1, 1'000'000);
19+
1720
} // namespace NKikimr

ydb/core/blobstorage/common/immediate_control_defaults.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,13 @@ constexpr bool DefaultEnableVPatch = false;
1010

1111
constexpr float DefaultSlowDiskThreshold = 2;
1212
constexpr float DefaultPredictedDelayMultiplier = 1;
13+
constexpr TDuration DefaultLongRequestThreshold = TDuration::Seconds(50);
1314
constexpr ui32 DefaultMaxNumOfSlowDisks = 2;
1415
constexpr ui32 DefaultMaxNumOfSlowDisksHDD = 1;
1516

1617
extern TControlWrapper SlowDiskThresholdDefaultControl;
1718
extern TControlWrapper PredictedDelayMultiplierDefaultControl;
1819
extern TControlWrapper MaxNumOfSlowDisksDefaultControl;
1920
extern TControlWrapper MaxNumOfSlowDisksHDDDefaultControl;
21+
extern TControlWrapper LongRequestThresholdDefaultControl;
2022
}

ydb/core/blobstorage/dsproxy/dsproxy.h

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ class TBlobStorageGroupRequestActor : public TActor<TDerived> {
185185
TIntrusivePtr<TBlobStorageGroupProxyMon> Mon;
186186
TActorId Source = TActorId{};
187187
ui64 Cookie = 0;
188-
TInstant Now;
188+
TMonotonic Now;
189189
TIntrusivePtr<TStoragePoolCounters>& StoragePoolCounters;
190190
ui32 RestartCounter;
191191
NWilson::TSpan Span;
@@ -214,10 +214,10 @@ class TBlobStorageGroupRequestActor : public TActor<TDerived> {
214214
, Span(std::move(params.Common.Span))
215215
, RestartCounter(params.Common.RestartCounter)
216216
, CostModel(GroupQueues->CostModel)
217+
, RequestStartTime(params.Common.Now)
217218
, Source(params.Common.Source)
218219
, Cookie(params.Common.Cookie)
219220
, LatencyQueueKind(params.Common.LatencyQueueKind)
220-
, RequestStartTime(params.Common.Now)
221221
, RacingDomains(&Info->GetTopology())
222222
, ExecutionRelay(std::move(params.Common.ExecutionRelay))
223223
{
@@ -576,7 +576,7 @@ class TBlobStorageGroupRequestActor : public TActor<TDerived> {
576576
}
577577

578578
if (LatencyQueueKind) {
579-
SendToProxy(std::make_unique<TEvLatencyReport>(*LatencyQueueKind, now - RequestStartTime));
579+
SendToProxy(std::make_unique<TEvLatencyReport>(*LatencyQueueKind, TActivationContext::Monotonic() - RequestStartTime));
580580
}
581581

582582
// KIKIMR-6737
@@ -643,6 +643,7 @@ class TBlobStorageGroupRequestActor : public TActor<TDerived> {
643643
bool Dead = false;
644644
const ui32 RestartCounter = 0;
645645
std::shared_ptr<const TCostModel> CostModel;
646+
const TMonotonic RequestStartTime;
646647

647648
private:
648649
const TActorId Source;
@@ -651,7 +652,6 @@ class TBlobStorageGroupRequestActor : public TActor<TDerived> {
651652
ui32 RequestsInFlight = 0;
652653
std::unique_ptr<IEventBase> Response;
653654
const TMaybe<TGroupStat::EKind> LatencyQueueKind;
654-
const TInstant RequestStartTime;
655655
THPTimer Timer;
656656
std::deque<std::unique_ptr<IEventHandle>> PostponedQ;
657657
TBlobStorageGroupInfo::TGroupFailDomains RacingDomains; // a set of domains we've received RACE from
@@ -674,8 +674,7 @@ struct TBlobStorageGroupRangeParameters {
674674
TBlobStorageGroupRequestActor<TEvBlobStorage::TEvRange>::TTypeSpecificParameters TypeSpecific = {
675675
.LogComponent = NKikimrServices::BS_PROXY_RANGE,
676676
.Name = "DSProxy.Range",
677-
.Activity = NKikimrServices::TActivity::BS_GROUP_RANGE
678-
,
677+
.Activity = NKikimrServices::TActivity::BS_GROUP_RANGE,
679678
};
680679
};
681680
IActor* CreateBlobStorageGroupRangeRequest(TBlobStorageGroupRangeParameters params, NWilson::TTraceId traceId);
@@ -691,6 +690,7 @@ struct TBlobStorageGroupPutParameters {
691690
TDiskResponsivenessTracker::TPerDiskStatsPtr Stats;
692691
bool EnableRequestMod3x3ForMinLatency;
693692
TAccelerationParams AccelerationParams;
693+
TDuration LongRequestThreshold;
694694
};
695695
IActor* CreateBlobStorageGroupPutRequest(TBlobStorageGroupPutParameters params, NWilson::TTraceId traceId);
696696

@@ -709,6 +709,7 @@ struct TBlobStorageGroupMultiPutParameters {
709709
TEvBlobStorage::TEvPut::ETactic Tactic;
710710
bool EnableRequestMod3x3ForMinLatency;
711711
TAccelerationParams AccelerationParams;
712+
TDuration LongRequestThreshold;
712713

713714
static ui32 CalculateRestartCounter(TBatchedVec<TEvBlobStorage::TEvPut::TPtr>& events) {
714715
ui32 maxRestarts = 0;
@@ -729,6 +730,7 @@ struct TBlobStorageGroupGetParameters {
729730
};
730731
TNodeLayoutInfoPtr NodeLayout;
731732
TAccelerationParams AccelerationParams;
733+
TDuration LongRequestThreshold;
732734
};
733735
IActor* CreateBlobStorageGroupGetRequest(TBlobStorageGroupGetParameters params, NWilson::TTraceId traceId);
734736

@@ -833,6 +835,7 @@ IActor* CreateBlobStorageGroupEjectedProxy(ui32 groupId, TIntrusivePtr<TDsProxyN
833835
struct TBlobStorageProxyControlWrappers {
834836
TMemorizableControlWrapper EnablePutBatching;
835837
TMemorizableControlWrapper EnableVPatch;
838+
TMemorizableControlWrapper LongRequestThresholdMs = LongRequestThresholdDefaultControl;
836839

837840
#define DEVICE_TYPE_SEPECIFIC_MEMORIZABLE_CONTROLS(prefix) \
838841
TMemorizableControlWrapper prefix = prefix##DefaultControl; \

ydb/core/blobstorage/dsproxy/dsproxy_blackboard.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#include "defs.h"
33

44
#include "dsproxy.h"
5+
#include "request_history.h"
56

67
#include <ydb/core/blobstorage/base/batched_vec.h>
78
#include <ydb/core/blobstorage/groupinfo/blobstorage_groupinfo.h>

ydb/core/blobstorage/dsproxy/dsproxy_block.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ class TBlobStorageGroupBlockRequest : public TBlobStorageGroupRequestActor<TBlob
1616
const ui32 Generation;
1717
const TInstant Deadline;
1818
const ui64 IssuerGuid;
19-
TInstant StartTime;
2019
bool SeenAlready = false;
2120

2221
TGroupQuorumTracker QuorumTracker;
@@ -100,7 +99,7 @@ class TBlobStorageGroupBlockRequest : public TBlobStorageGroupRequestActor<TBlob
10099
std::unique_ptr<TEvBlobStorage::TEvBlockResult> result(new TEvBlobStorage::TEvBlockResult(status));
101100
result->ErrorReason = ErrorReason;
102101
A_LOG_LOG_S(true, PriorityForStatusResult(status), "DSPB04", "Result# " << result->Print(false));
103-
Mon->CountBlockResponseTime(TActivationContext::Now() - StartTime);
102+
Mon->CountBlockResponseTime(TActivationContext::Monotonic() - RequestStartTime);
104103
return SendResponseAndDie(std::move(result));
105104
}
106105

@@ -138,7 +137,6 @@ class TBlobStorageGroupBlockRequest : public TBlobStorageGroupRequestActor<TBlob
138137
, Generation(params.Common.Event->Generation)
139138
, Deadline(params.Common.Event->Deadline)
140139
, IssuerGuid(params.Common.Event->IssuerGuid)
141-
, StartTime(params.Common.Now)
142140
, QuorumTracker(Info.Get())
143141
{}
144142

ydb/core/blobstorage/dsproxy/dsproxy_collect.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ class TBlobStorageGroupCollectGarbageRequest : public TBlobStorageGroupRequestAc
2727
const bool Decommission;
2828

2929
TGroupQuorumTracker QuorumTracker;
30-
TInstant StartTime;
3130

3231
ui32 RequestsSent = 0;
3332
ui32 ResponsesReceived = 0;
@@ -156,7 +155,6 @@ class TBlobStorageGroupCollectGarbageRequest : public TBlobStorageGroupRequestAc
156155
, Collect(params.Common.Event->Collect)
157156
, Decommission(params.Common.Event->Decommission)
158157
, QuorumTracker(Info.Get())
159-
, StartTime(params.Common.Now)
160158
{}
161159

162160
void Bootstrap() {

ydb/core/blobstorage/dsproxy/dsproxy_discover.cpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,6 @@ class TBlobStorageGroupDiscoverRequest : public TBlobStorageGroupRequestActor<TB
272272
const bool ReadBody;
273273
const bool DiscoverBlockedGeneration;
274274
const TInstant Deadline;
275-
const TInstant StartTime;
276275

277276
TGroupResponseTracker GroupResponseTracker;
278277
std::unique_ptr<TEvBlobStorage::TEvDiscoverResult> PendingResult;
@@ -295,7 +294,7 @@ class TBlobStorageGroupDiscoverRequest : public TBlobStorageGroupRequestActor<TB
295294
template<typename TPtr>
296295
void SendResult(TPtr& result) {
297296
Y_ABORT_UNLESS(result);
298-
const TDuration duration = TActivationContext::Now() - StartTime;
297+
const TDuration duration = TActivationContext::Monotonic() - RequestStartTime;
299298
Mon->CountDiscoverResponseTime(duration);
300299
const bool success = result->Status == NKikimrProto::OK;
301300
LWPROBE(DSProxyRequestDuration, TEvBlobStorage::EvDiscover, 0, duration.SecondsFloat() * 1000.0,
@@ -884,7 +883,6 @@ class TBlobStorageGroupDiscoverRequest : public TBlobStorageGroupRequestActor<TB
884883
, ReadBody(params.Common.Event->ReadBody)
885884
, DiscoverBlockedGeneration(params.Common.Event->DiscoverBlockedGeneration)
886885
, Deadline(params.Common.Event->Deadline)
887-
, StartTime(params.Common.Now)
888886
, GroupResponseTracker(Info)
889887
, IsGetBlockDone(!DiscoverBlockedGeneration)
890888
, ForceBlockedGeneration(params.Common.Event->ForceBlockedGeneration)

ydb/core/blobstorage/dsproxy/dsproxy_discover_m3dc.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,6 @@ class TDiscoverWorker {
424424
class TBlobStorageGroupMirror3dcDiscoverRequest : public TBlobStorageGroupRequestActor<TBlobStorageGroupMirror3dcDiscoverRequest>{
425425
const ui64 TabletId;
426426
const ui32 MinGeneration;
427-
const TInstant StartTime;
428427
const TInstant Deadline;
429428
const bool ReadBody;
430429
const bool DiscoverBlockedGeneration;
@@ -461,7 +460,6 @@ class TBlobStorageGroupMirror3dcDiscoverRequest : public TBlobStorageGroupReques
461460
: TBlobStorageGroupRequestActor(params)
462461
, TabletId(params.Common.Event->TabletId)
463462
, MinGeneration(params.Common.Event->MinGeneration)
464-
, StartTime(params.Common.Now)
465463
, Deadline(params.Common.Event->Deadline)
466464
, ReadBody(params.Common.Event->ReadBody)
467465
, DiscoverBlockedGeneration(params.Common.Event->DiscoverBlockedGeneration)
@@ -653,7 +651,7 @@ class TBlobStorageGroupMirror3dcDiscoverRequest : public TBlobStorageGroupReques
653651
R_LOG_DEBUG_S("DSPDM03", "Response# " << response->ToString());
654652

655653
Y_ABORT_UNLESS(!Responded);
656-
const TDuration duration = TActivationContext::Now() - StartTime;
654+
const TDuration duration = TActivationContext::Monotonic() - RequestStartTime;
657655
LWPROBE(DSProxyRequestDuration, TEvBlobStorage::EvDiscover, 0, duration.SecondsFloat() * 1000.0,
658656
TabletId, Info->GroupID.GetRawId(), TLogoBlobID::MaxChannel, "", true);
659657
SendResponseAndDie(std::move(response));
@@ -666,7 +664,7 @@ class TBlobStorageGroupMirror3dcDiscoverRequest : public TBlobStorageGroupReques
666664

667665
Y_ABORT_UNLESS(!Responded);
668666
Y_ABORT_UNLESS(status != NKikimrProto::OK);
669-
const TDuration duration = TActivationContext::Now() - StartTime;
667+
const TDuration duration = TActivationContext::Monotonic() - RequestStartTime;
670668
LWPROBE(DSProxyRequestDuration, TEvBlobStorage::EvDiscover, 0, duration.SecondsFloat() * 1000.0,
671669
TabletId, Info->GroupID.GetRawId(), TLogoBlobID::MaxChannel, "", false);
672670
std::unique_ptr<TEvBlobStorage::TEvDiscoverResult> response(new TEvBlobStorage::TEvDiscoverResult(

ydb/core/blobstorage/dsproxy/dsproxy_discover_m3of4.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ class TBlobStorageGroupMirror3of4DiscoverRequest
1313
{
1414
const ui64 TabletId;
1515
const ui32 MinGeneration;
16-
const TInstant StartTime;
1716
const TInstant Deadline;
1817
const bool ReadBody;
1918
const bool DiscoverBlockedGeneration;
@@ -33,7 +32,6 @@ class TBlobStorageGroupMirror3of4DiscoverRequest
3332
: TBlobStorageGroupRequestActor(params)
3433
, TabletId(params.Common.Event->TabletId)
3534
, MinGeneration(params.Common.Event->MinGeneration)
36-
, StartTime(params.Common.Now)
3735
, Deadline(params.Common.Event->Deadline)
3836
, ReadBody(params.Common.Event->ReadBody)
3937
, DiscoverBlockedGeneration(params.Common.Event->DiscoverBlockedGeneration)

ydb/core/blobstorage/dsproxy/dsproxy_get.cpp

Lines changed: 39 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
#include "dsproxy.h"
22
#include "dsproxy_mon.h"
33
#include "root_cause.h"
4+
#include <ydb/core/blobstorage/dsproxy/dsproxy_request_reporting.h>
45
#include <ydb/core/blobstorage/vdisk/common/vdisk_events.h>
56
#include <ydb/core/blobstorage/lwtrace_probes/blobstorage_probes.h>
7+
#include <ydb/core/util/stlog.h>
68
#include <library/cpp/containers/stack_vector/stack_vec.h>
79
#include <library/cpp/digest/crc32c/crc32c.h>
810
#include <util/generic/set.h>
@@ -36,8 +38,7 @@ class TBlobStorageGroupGetRequest : public TBlobStorageGroupRequestActor<TBlobSt
3638
TRootCause RootCauseTrack;
3739
NLWTrace::TOrbit Orbit;
3840
const TInstant Deadline;
39-
TInstant StartTime;
40-
TInstant StartTimePut;
41+
TMonotonic StartTimePut;
4142
ui32 RequestsSent = 0;
4243
ui32 ResponsesReceived = 0;
4344
ui32 GroupSize;
@@ -58,6 +59,7 @@ class TBlobStorageGroupGetRequest : public TBlobStorageGroupRequestActor<TBlobSt
5859
bool IsPutAccelerateScheduled = false;
5960

6061
TAccelerationParams AccelerationParams;
62+
TDuration LongRequestThreshold;
6163

6264
void Handle(TEvAccelerateGet::TPtr &ev) {
6365
IsGetAccelerateScheduled = false;
@@ -77,6 +79,7 @@ class TBlobStorageGroupGetRequest : public TBlobStorageGroupRequestActor<TBlobSt
7779
}
7880
GetsAccelerated++;
7981

82+
GetImpl.History.AddAcceleration(false);
8083
TDeque<std::unique_ptr<TEvBlobStorage::TEvVGet>> vGets;
8184
TDeque<std::unique_ptr<TEvBlobStorage::TEvVPut>> vPuts;
8285
GetImpl.AccelerateGet(LogCtx, GetUnresponsiveDisksMask(), vGets, vPuts);
@@ -92,6 +95,7 @@ class TBlobStorageGroupGetRequest : public TBlobStorageGroupRequestActor<TBlobSt
9295
}
9396
PutsAccelerated++;
9497

98+
GetImpl.History.AddAcceleration(true);
9599
TDeque<std::unique_ptr<TEvBlobStorage::TEvVGet>> vGets;
96100
TDeque<std::unique_ptr<TEvBlobStorage::TEvVPut>> vPuts;
97101
GetImpl.AcceleratePut(LogCtx, GetUnresponsiveDisksMask(), vGets, vPuts);
@@ -109,7 +113,7 @@ class TBlobStorageGroupGetRequest : public TBlobStorageGroupRequestActor<TBlobSt
109113
if (vPuts.size()) {
110114
if (!IsPutStarted) {
111115
IsPutStarted = true;
112-
StartTimePut = TActivationContext::Now();
116+
StartTimePut = TActivationContext::Monotonic();
113117
}
114118
}
115119
for (size_t i = 0; i < vGets.size(); ++i) {
@@ -140,6 +144,7 @@ class TBlobStorageGroupGetRequest : public TBlobStorageGroupRequestActor<TBlobSt
140144
}
141145
SendToQueues(vGets, false);
142146
SendToQueues(vPuts, false);
147+
GetImpl.History.AddAllWaiting();
143148
}
144149

145150
ui32 CountDisksWithActiveRequests() {
@@ -319,8 +324,8 @@ class TBlobStorageGroupGetRequest : public TBlobStorageGroupRequestActor<TBlobSt
319324
if (CountDisksWithActiveRequests() <= AccelerationParams.MaxNumOfSlowDisks) {
320325
ui64 timeToAccelerateUs = GetImpl.GetTimeToAccelerateGetNs(LogCtx) / 1000;
321326
TDuration timeToAccelerate = TDuration::MicroSeconds(timeToAccelerateUs);
322-
TInstant now = TActivationContext::Now();
323-
TInstant nextAcceleration = StartTime + timeToAccelerate;
327+
TMonotonic now = TActivationContext::Monotonic();
328+
TMonotonic nextAcceleration = RequestStartTime + timeToAccelerate;
324329
if (nextAcceleration > now) {
325330
ui64 causeIdx = RootCauseTrack.RegisterAccelerate();
326331
Schedule(nextAcceleration - now, new TEvAccelerateGet(causeIdx));
@@ -338,8 +343,8 @@ class TBlobStorageGroupGetRequest : public TBlobStorageGroupRequestActor<TBlobSt
338343
if (CountDisksWithActiveRequests() <= AccelerationParams.MaxNumOfSlowDisks) {
339344
ui64 timeToAccelerateUs = GetImpl.GetTimeToAcceleratePutNs(LogCtx) / 1000;
340345
TDuration timeToAccelerate = TDuration::MicroSeconds(timeToAccelerateUs);
341-
TInstant now = TActivationContext::Now();
342-
TInstant nextAcceleration = StartTime + timeToAccelerate;
346+
TMonotonic now = TActivationContext::Monotonic();
347+
TMonotonic nextAcceleration = RequestStartTime + timeToAccelerate;
343348
if (nextAcceleration > now) {
344349
ui64 causeIdx = RootCauseTrack.RegisterAccelerate();
345350
Schedule(nextAcceleration - now, new TEvAcceleratePut(causeIdx));
@@ -352,9 +357,10 @@ class TBlobStorageGroupGetRequest : public TBlobStorageGroupRequestActor<TBlobSt
352357
}
353358

354359
void SendReplyAndDie(TAutoPtr<TEvBlobStorage::TEvGetResult> &evResult) {
355-
const TInstant now = TActivationContext::Now();
356-
const TDuration duration = (now > StartTime) ? (now - StartTime) : TDuration::MilliSeconds(0);
357-
Mon->CountGetResponseTime(Info->GetDeviceType(), GetImpl.GetHandleClass(), evResult->PayloadSizeBytes(), duration);
360+
const TMonotonic now = TActivationContext::Monotonic();
361+
const TDuration duration = now - RequestStartTime;
362+
NKikimrBlobStorage::EGetHandleClass handleClass = GetImpl.GetHandleClass();
363+
Mon->CountGetResponseTime(Info->GetDeviceType(), handleClass, evResult->PayloadSizeBytes(), duration);
358364
*Mon->ActiveGetCapacity -= ReportedBytes;
359365
ReportedBytes = 0;
360366
bool success = evResult->Status == NKikimrProto::OK;
@@ -370,9 +376,28 @@ class TBlobStorageGroupGetRequest : public TBlobStorageGroupRequestActor<TBlobSt
370376
LWTRACK(DSProxyGetReply, Orbit);
371377
evResult->Orbit = std::move(Orbit);
372378
LWPROBE(DSProxyRequestDuration, TEvBlobStorage::EvGet, requestSize, duration.SecondsFloat() * 1000.0, tabletId,
373-
evResult->GroupId, channel, NKikimrBlobStorage::EGetHandleClass_Name(GetImpl.GetHandleClass()),
379+
evResult->GroupId, channel, NKikimrBlobStorage::EGetHandleClass_Name(handleClass),
374380
success);
375-
A_LOG_LOG_S(true, success ? NLog::PRI_INFO : NLog::PRI_NOTICE, "BPG68", "Result# " << evResult->Print(false));
381+
A_LOG_LOG_S(true, success ? NLog::PRI_INFO : NLog::PRI_NOTICE, "BPG68", "Result# " << evResult->Print(false) << " GroupId# " << Info->GroupID);
382+
383+
if (AllowToReport(handleClass)) {
384+
if (TActivationContext::Monotonic() - RequestStartTime >= LongRequestThreshold) {
385+
STLOG(PRI_WARN, BS_PROXY_GET, BPG71, "Long TEvGet request detected", \
386+
(LongRequestThreshold, LongRequestThreshold), \
387+
(GroupId, Info->GroupID), \
388+
(SubrequestsCount, evResult->ResponseSz), \
389+
(RequestTotalSize, requestSize), \
390+
(HandleClass, NKikimrBlobStorage::EGetHandleClass_Name(handleClass)), \
391+
(RestartCounter, RestartCounter), \
392+
(History, GetImpl.PrintHistory()));
393+
}
394+
395+
STLOG(GetImpl.WasNotOkResponses() ? NLog::PRI_NOTICE : NLog::PRI_DEBUG, BS_PROXY_GET, BPG72, \
396+
"Query history", \
397+
(GroupId, Info->GroupID), \
398+
(HandleClass, NKikimrBlobStorage::EGetHandleClass_Name(handleClass)), \
399+
(History, GetImpl.PrintHistory()));
400+
}
376401
return SendResponseAndDie(std::unique_ptr<TEvBlobStorage::TEvGetResult>(evResult.Release()));
377402
}
378403

@@ -401,11 +426,11 @@ class TBlobStorageGroupGetRequest : public TBlobStorageGroupRequestActor<TBlobSt
401426
params.AccelerationParams, LogCtx.RequestPrefix)
402427
, Orbit(std::move(params.Common.Event->Orbit))
403428
, Deadline(params.Common.Event->Deadline)
404-
, StartTime(params.Common.Now)
405-
, StartTimePut(StartTime)
429+
, StartTimePut(RequestStartTime)
406430
, GroupSize(Info->Type.BlobSubgroupSize())
407431
, ReportedBytes(0)
408432
, AccelerationParams(params.AccelerationParams)
433+
, LongRequestThreshold(params.LongRequestThreshold)
409434
{
410435
ReportBytes(sizeof(*this));
411436
MaxSaneRequests = params.Common.Event->QuerySize * Info->Type.TotalPartCount() *

0 commit comments

Comments
 (0)