@@ -684,12 +684,11 @@ class TPDiskActor : public TActorBootstrapped<TPDiskActor> {
684
684
Y_UNUSED (ev);
685
685
}
686
686
687
- void InitHandle (NPDisk::TEvMarkDirty ::TPtr &ev) {
688
- // Just ignore the event, can't mark dirty in this state.
687
+ void InitHandle (NPDisk::TEvContinueShred ::TPtr &ev) {
688
+ // Just ignore the event, can't shred in this state.
689
689
Y_UNUSED (ev);
690
690
}
691
691
692
-
693
692
// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////
694
693
// Error state
695
694
@@ -725,6 +724,10 @@ class TPDiskActor : public TActorBootstrapped<TPDiskActor> {
725
724
PDisk->Mon .WriteLog .CountResponse ();
726
725
}
727
726
727
+ void ErrorHandle (NPDisk::TEvLogResult::TPtr &ev) {
728
+ Y_UNUSED (ev);
729
+ }
730
+
728
731
void ErrorHandle (NPDisk::TEvMultiLog::TPtr &ev) {
729
732
const NPDisk::TEvMultiLog &evMultiLog = *ev->Get ();
730
733
TStringStream str;
@@ -860,8 +863,8 @@ class TPDiskActor : public TActorBootstrapped<TPDiskActor> {
860
863
Y_UNUSED (ev);
861
864
}
862
865
863
- void ErrorHandle (NPDisk::TEvMarkDirty ::TPtr &ev) {
864
- // Just ignore the event, can't mark dirty in this state.
866
+ void ErrorHandle (NPDisk::TEvContinueShred ::TPtr &ev) {
867
+ // Just ignore the event, can't shred in this state.
865
868
Y_UNUSED (ev);
866
869
}
867
870
@@ -878,24 +881,29 @@ class TPDiskActor : public TActorBootstrapped<TPDiskActor> {
878
881
PDisk->InputRequest (request);
879
882
}
880
883
881
- void CheckBurst (bool isSensitive, double burstMs) {
882
- Y_UNUSED (isSensitive);
883
- Y_UNUSED (burstMs);
884
- }
885
-
886
884
void Handle (NPDisk::TEvLog::TPtr &ev) {
887
885
double burstMs;
888
886
TLogWrite* request = PDisk->ReqCreator .CreateLogWrite (*ev->Get (), ev->Sender , burstMs, std::move (ev->TraceId ));
889
- CheckBurst (request->IsSensitive , burstMs);
890
887
request->Orbit = std::move (ev->Get ()->Orbit );
891
888
PDisk->InputRequest (request);
892
889
}
893
890
891
+ void Handle (NPDisk::TEvLogResult::TPtr &ev) {
892
+ if (PDisk->ShredLogPaddingInFlight ) {
893
+ PDisk->ShredLogPaddingInFlight --;
894
+ }
895
+ if (PDisk->ContinueShredsInFlight == 0 ) {
896
+ TEvContinueShred evCont;
897
+ TContinueShred* request = PDisk->ReqCreator .CreateFromEv <TContinueShred>(evCont, ev->Sender );
898
+ PDisk->ContinueShredsInFlight ++;
899
+ PDisk->InputRequest (request);
900
+ }
901
+ }
902
+
894
903
void Handle (NPDisk::TEvMultiLog::TPtr &ev) {
895
904
for (auto &[log, traceId] : ev->Get ()->Logs ) {
896
905
double burstMs;
897
906
TLogWrite* request = PDisk->ReqCreator .CreateLogWrite (*log, ev->Sender , burstMs, std::move (traceId));
898
- CheckBurst (request->IsSensitive , burstMs);
899
907
request->Orbit = std::move (log->Orbit );
900
908
PDisk->InputRequest (request);
901
909
}
@@ -905,23 +913,20 @@ class TPDiskActor : public TActorBootstrapped<TPDiskActor> {
905
913
P_LOG (PRI_DEBUG, BSY01, " Got TEvReadLog" , (Event, ev->Get ()->ToString ()));
906
914
double burstMs;
907
915
auto * request = PDisk->ReqCreator .CreateFromEvPtr <TLogRead>(ev, &burstMs);
908
- CheckBurst (request->IsSensitive , burstMs);
909
916
PDisk->InputRequest (request);
910
917
}
911
918
912
919
void Handle (NPDisk::TEvChunkWrite::TPtr &ev) {
913
920
double burstMs;
914
921
TChunkWrite* request = PDisk->ReqCreator .CreateChunkWrite (*ev->Get (), ev->Sender , burstMs, std::move (ev->TraceId ));
915
922
request->Orbit = std::move (ev->Get ()->Orbit );
916
- CheckBurst (request->IsSensitive , burstMs);
917
923
PDisk->InputRequest (request);
918
924
}
919
925
920
926
void Handle (NPDisk::TEvChunkRead::TPtr &ev) {
921
927
double burstMs;
922
928
TChunkRead* request = PDisk->ReqCreator .CreateChunkRead (*ev->Get (), ev->Sender , burstMs, std::move (ev->TraceId ));
923
929
request->DebugInfoGenerator = PDisk->DebugInfoGenerator ;
924
- CheckBurst (request->IsSensitive , burstMs);
925
930
PDisk->InputRequest (request);
926
931
}
927
932
@@ -1078,8 +1083,8 @@ class TPDiskActor : public TActorBootstrapped<TPDiskActor> {
1078
1083
PDisk->InputRequest (request);
1079
1084
}
1080
1085
1081
- void Handle (NPDisk::TEvMarkDirty ::TPtr &ev) {
1082
- auto * request = PDisk->ReqCreator .CreateFromEv <TMarkDirty >(*ev->Get (), ev->Sender );
1086
+ void Handle (NPDisk::TEvContinueShred ::TPtr &ev) {
1087
+ auto * request = PDisk->ReqCreator .CreateFromEv <TContinueShred >(*ev->Get (), ev->Sender );
1083
1088
PDisk->InputRequest (request);
1084
1089
}
1085
1090
@@ -1411,6 +1416,7 @@ class TPDiskActor : public TActorBootstrapped<TPDiskActor> {
1411
1416
hFunc (NPDisk::TEvYardInit, InitHandle);
1412
1417
hFunc (NPDisk::TEvCheckSpace, ErrorHandle);
1413
1418
hFunc (NPDisk::TEvLog, ErrorHandle);
1419
+ hFunc (NPDisk::TEvLogResult, ErrorHandle);
1414
1420
hFunc (NPDisk::TEvMultiLog, ErrorHandle);
1415
1421
hFunc (NPDisk::TEvReadLog, ErrorHandle);
1416
1422
hFunc (NPDisk::TEvChunkWrite, ErrorHandle);
@@ -1440,7 +1446,7 @@ class TPDiskActor : public TActorBootstrapped<TPDiskActor> {
1440
1446
hFunc (NPDisk::TEvShredPDisk, InitHandle);
1441
1447
hFunc (NPDisk::TEvPreShredCompactVDiskResult, InitHandle);
1442
1448
hFunc (NPDisk::TEvShredVDiskResult, InitHandle);
1443
- hFunc (NPDisk::TEvMarkDirty , InitHandle);
1449
+ hFunc (NPDisk::TEvContinueShred , InitHandle);
1444
1450
1445
1451
hFunc (TEvReadMetadata, Handle);
1446
1452
hFunc (TEvWriteMetadata, Handle);
@@ -1450,6 +1456,7 @@ class TPDiskActor : public TActorBootstrapped<TPDiskActor> {
1450
1456
hFunc (NPDisk::TEvYardInit, Handle);
1451
1457
hFunc (NPDisk::TEvCheckSpace, Handle);
1452
1458
hFunc (NPDisk::TEvLog, Handle);
1459
+ hFunc (NPDisk::TEvLogResult, Handle);
1453
1460
hFunc (NPDisk::TEvMultiLog, Handle);
1454
1461
hFunc (NPDisk::TEvReadLog, Handle);
1455
1462
hFunc (NPDisk::TEvChunkWrite, Handle);
@@ -1471,7 +1478,7 @@ class TPDiskActor : public TActorBootstrapped<TPDiskActor> {
1471
1478
hFunc (NPDisk::TEvShredPDisk, Handle);
1472
1479
hFunc (NPDisk::TEvPreShredCompactVDiskResult, Handle);
1473
1480
hFunc (NPDisk::TEvShredVDiskResult, Handle);
1474
- hFunc (NPDisk::TEvMarkDirty , Handle);
1481
+ hFunc (NPDisk::TEvContinueShred , Handle);
1475
1482
1476
1483
cFunc (NActors::TEvents::TSystem::PoisonPill, HandlePoison);
1477
1484
hFunc (NMon::TEvHttpInfo, Handle);
@@ -1487,6 +1494,7 @@ class TPDiskActor : public TActorBootstrapped<TPDiskActor> {
1487
1494
hFunc (NPDisk::TEvYardInit, ErrorHandle);
1488
1495
hFunc (NPDisk::TEvCheckSpace, ErrorHandle);
1489
1496
hFunc (NPDisk::TEvLog, ErrorHandle);
1497
+ hFunc (NPDisk::TEvLogResult, ErrorHandle);
1490
1498
hFunc (NPDisk::TEvMultiLog, ErrorHandle);
1491
1499
hFunc (NPDisk::TEvReadLog, ErrorHandle);
1492
1500
hFunc (NPDisk::TEvChunkWrite, ErrorHandle);
@@ -1505,7 +1513,7 @@ class TPDiskActor : public TActorBootstrapped<TPDiskActor> {
1505
1513
hFunc (NPDisk::TEvShredPDisk, ErrorHandle);
1506
1514
hFunc (NPDisk::TEvPreShredCompactVDiskResult, ErrorHandle);
1507
1515
hFunc (NPDisk::TEvShredVDiskResult, ErrorHandle);
1508
- hFunc (NPDisk::TEvMarkDirty , ErrorHandle);
1516
+ hFunc (NPDisk::TEvContinueShred , ErrorHandle);
1509
1517
1510
1518
cFunc (NActors::TEvents::TSystem::PoisonPill, HandlePoison);
1511
1519
hFunc (NMon::TEvHttpInfo, Handle);
0 commit comments