@@ -95,9 +95,9 @@ class TLogWriterLoadTestActor : public TActorBootstrapped<TLogWriterLoadTestActo
95
95
, BytesInFlight(0 )
96
96
{}
97
97
98
- operator bool () const {
99
- return (! MaxRequestsInFlight || RequestsInFlight < MaxRequestsInFlight) &&
100
- (! MaxBytesInFlight || BytesInFlight < MaxBytesInFlight);
98
+ bool LimitReached () const {
99
+ return (MaxRequestsInFlight && RequestsInFlight >= MaxRequestsInFlight) ||
100
+ (MaxBytesInFlight && BytesInFlight >= MaxBytesInFlight);
101
101
}
102
102
103
103
void Request (ui64 size) {
@@ -106,7 +106,7 @@ class TLogWriterLoadTestActor : public TActorBootstrapped<TLogWriterLoadTestActo
106
106
}
107
107
108
108
void Response (ui64 size) {
109
- Y_DEBUG_ABORT_UNLESS (BytesInFlight >= size && RequestsInFlight >= 0 );
109
+ Y_DEBUG_ABORT_UNLESS (BytesInFlight >= size && RequestsInFlight > 0 );
110
110
BytesInFlight -= size;
111
111
--RequestsInFlight;
112
112
}
@@ -142,20 +142,20 @@ class TLogWriterLoadTestActor : public TActorBootstrapped<TLogWriterLoadTestActo
142
142
}
143
143
144
144
public:
145
- bool Size () {
145
+ bool ConfirmedSize () {
146
146
return ConfirmedBlobs.size ();
147
147
}
148
148
149
149
const TLogoBlobID& operator [](ui32 idx) const {
150
150
return ConfirmedBlobs[idx];
151
151
}
152
152
153
- operator bool () const {
154
- return SizeToWrite > 0 || BlobsToWrite > 0 ;
153
+ bool IsEmpty () const {
154
+ return SizeToWrite == 0 && BlobsToWrite == 0 ;
155
155
}
156
156
157
157
bool CanSendRequest () {
158
- if (! InFlightTracker) {
158
+ if (InFlightTracker. LimitReached () ) {
159
159
return false ;
160
160
}
161
161
return !EnoughBlobsWritten (true );
@@ -205,9 +205,8 @@ class TLogWriterLoadTestActor : public TActorBootstrapped<TLogWriterLoadTestActo
205
205
206
206
TLogoBlobID GetRandomBlobId () {
207
207
Y_ABORT_UNLESS (!ConfirmedBlobs.empty ());
208
- auto iter = ConfirmedBlobs.begin ();
209
- std::advance (iter, RandomNumber (ConfirmedBlobs.size ()));
210
- return *iter;
208
+ auto idx = RandomNumber (ConfirmedBlobs.size ());
209
+ return ConfirmedBlobs[idx];
211
210
}
212
211
213
212
TString ToString () {
@@ -609,7 +608,7 @@ class TLogWriterLoadTestActor : public TActorBootstrapped<TLogWriterLoadTestActo
609
608
}
610
609
611
610
void MakeInitialAllocation (const TActorContext& ctx) {
612
- if (! InitialAllocation) {
611
+ if (InitialAllocation. IsEmpty () ) {
613
612
Self.InitialAllocationCompleted (ctx);
614
613
return ;
615
614
}
@@ -829,7 +828,7 @@ class TLogWriterLoadTestActor : public TActorBootstrapped<TLogWriterLoadTestActo
829
828
830
829
void IssueWriteIfPossible (const TActorContext& ctx) {
831
830
const TMonotonic now = TActivationContext::Monotonic ();
832
- while (WriteSettings.LoadEnabled && WriteSettings.InFlightTracker &&
831
+ while (WriteSettings.LoadEnabled && ! WriteSettings.InFlightTracker . LimitReached () &&
833
832
(TotalBytesWritten + WriteSettings.InFlightTracker .BytesInFlight < WriteSettings.MaxTotalBytes || !WriteSettings.MaxTotalBytes ) &&
834
833
now >= NextWriteTimestamp &&
835
834
(!ScriptedRequests || ScriptedRequests[ScriptedCounter].EvType == TEvBlobStorage::EvPut)) {
@@ -896,7 +895,7 @@ class TLogWriterLoadTestActor : public TActorBootstrapped<TLogWriterLoadTestActo
896
895
ResponseQT->Increment (response.MicroSeconds ());
897
896
IssueWriteIfPossible (ctx);
898
897
899
- if (ConfirmedBlobIds.size () == 1 && !InitialAllocation) {
898
+ if (ConfirmedBlobIds.size () == 1 && !InitialAllocation. IsEmpty () ) {
900
899
if (NextReadTimestamp == TMonotonic ()) {
901
900
NextReadTimestamp = TActivationContext::Monotonic ();
902
901
}
@@ -985,9 +984,9 @@ class TLogWriterLoadTestActor : public TActorBootstrapped<TLogWriterLoadTestActo
985
984
void IssueReadIfPossible (const TActorContext& ctx) {
986
985
const TMonotonic now = TActivationContext::Monotonic ();
987
986
988
- while (ReadSettings.LoadEnabled && ReadSettings.InFlightTracker &&
987
+ while (ReadSettings.LoadEnabled && ! ReadSettings.InFlightTracker . LimitReached () &&
989
988
now >= NextReadTimestamp &&
990
- ConfirmedBlobIds.size () + InitialAllocation.Size () > 0 &&
989
+ ConfirmedBlobIds.size () + InitialAllocation.ConfirmedSize () > 0 &&
991
990
(!ScriptedRequests || ScriptedRequests[ScriptedCounter].EvType == TEvBlobStorage::EvGet)) {
992
991
IssueReadRequest (ctx);
993
992
}
@@ -1001,8 +1000,8 @@ class TLogWriterLoadTestActor : public TActorBootstrapped<TLogWriterLoadTestActo
1001
1000
void IssueReadRequest (const TActorContext& ctx) {
1002
1001
TLogoBlobID id;
1003
1002
ui32 confirmedBlobs = ConfirmedBlobIds.size ();
1004
- ui32 initialBlobs = InitialAllocation.Size ();
1005
- Y_VERIFY (confirmedBlobs + initialBlobs > 0 );
1003
+ ui32 initialBlobs = InitialAllocation.ConfirmedSize ();
1004
+ Y_ABORT_UNLESS (confirmedBlobs + initialBlobs > 0 );
1006
1005
ui32 blobIdx = RandomNumber (confirmedBlobs + initialBlobs);
1007
1006
1008
1007
if (blobIdx < confirmedBlobs) {
0 commit comments