Skip to content

Commit c4b96cf

Browse files
committed
Fix put deadlines
1 parent 1b7f2bc commit c4b96cf

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

ydb/core/blobstorage/dsproxy/dsproxy_put.cpp

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -797,14 +797,16 @@ class TBlobStorageGroupPutRequest : public TBlobStorageGroupRequestActor {
797797
}
798798

799799
void ScheduleWakeup() {
800-
TInstant deadline = TActivationContext::Now() + TDuration::MilliSeconds(DsPutWakeupMs);
801-
802-
auto it = PutDeadlines.begin();
803-
if (it != PutDeadlines.end() && *it <= deadline) {
804-
deadline = *it;
805-
PutDeadlines.erase(it);
806-
}
807-
Schedule(deadline, new TKikimrEvents::TEvWakeup);
800+
TInstant now = TActivationContext::Now();
801+
while (!PutDeadlines.empty()) {
802+
TInstant deadline = *PutDeadlines.begin();
803+
PutDeadlines.erase(PutDeadlines.begin());
804+
if (deadline > now) {
805+
Schedule(deadline, new TKikimrEvents::TEvWakeup);
806+
return;
807+
}
808+
}
809+
Schedule(TDuration::MilliSeconds(DsPutWakeupMs), new TKikimrEvents::TEvWakeup);
808810
}
809811

810812
STATEFN(StateWait) {

0 commit comments

Comments
 (0)