Skip to content

Commit b2ab948

Browse files
authored
Abort TLogWrite requests properly (#11665)
1 parent 6bf263a commit b2ab948

File tree

3 files changed

+13
-6
lines changed

3 files changed

+13
-6
lines changed

ydb/core/blobstorage/pdisk/blobstorage_pdisk_requestimpl.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,15 @@ void TRequestBase::AbortDelete(TRequestBase* request, TActorSystem* actorSystem)
2525
request->Abort(actorSystem);
2626
break;
2727
}
28+
case ERequestType::RequestLogWrite:
29+
{
30+
auto* log = static_cast<TLogWrite*>(request);
31+
while (log) {
32+
auto batch = log->PopFromBatch();
33+
log->Abort(actorSystem);
34+
log = batch;
35+
}
36+
}
2837
default:
2938
request->Abort(actorSystem);
3039
delete request;

ydb/core/blobstorage/pdisk/blobstorage_pdisk_requestimpl.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,9 @@ class TLogWrite : public TRequestBase {
344344
}
345345

346346
void Abort(TActorSystem* actorSystem) override {
347-
actorSystem->Send(Sender, new NPDisk::TEvLogResult(NKikimrProto::CORRUPTED, 0, "TLogWrite is being aborted"));
347+
auto *result = new NPDisk::TEvLogResult(NKikimrProto::CORRUPTED, 0, "TLogWrite is being aborted");
348+
result->Results.emplace_back(Lsn, Cookie);
349+
actorSystem->Send(Sender, result);
348350
}
349351

350352
TString ToString() const {

ydb/core/blobstorage/pdisk/blobstorage_pdisk_ut.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1023,11 +1023,7 @@ Y_UNIT_TEST_SUITE(TPDiskTest) {
10231023

10241024
for (ui32 i = 0; i < 100;) {
10251025
auto result = testCtx.Recv<NPDisk::TEvLogResult>();
1026-
if (result->Status == NKikimrProto::OK) {
1027-
i += result->Results.size();
1028-
} else {
1029-
++i;
1030-
}
1026+
i += result->Results.size();
10311027
}
10321028
Cerr << "all log writes are received" << Endl;
10331029
}

0 commit comments

Comments
 (0)