@@ -25,17 +25,19 @@ std::unique_ptr<NKikimr::TEvColumnShard::TEvInternalScan> TModificationRestoreTa
25
25
NKikimr::TConclusionStatus TModificationRestoreTask::DoOnDataChunk (const std::shared_ptr<arrow::Table>& data) {
26
26
auto result = Merger->AddExistsDataOrdered (data);
27
27
if (result.IsFail ()) {
28
- auto writeDataPtr = std::make_shared<NEvWrite::TWriteData>(std::move (WriteData));
29
- AFL_WARN (NKikimrServices::TX_COLUMNSHARD)(" event" , " restore_data_problems" )
28
+ AFL_WARN (NKikimrServices::TX_COLUMNSHARD)(" event" , " merge_data_problems" )
30
29
(" write_id" , WriteData.GetWriteMeta ().GetWriteId ())(" tablet_id" , TabletId)(" message" , result.GetErrorMessage ());
31
- TWritingBuffer buffer (writeDataPtr->GetBlobsAction (), { std::make_shared<TWriteAggregation>(*writeDataPtr) });
32
- auto evResult = NColumnShard::TEvPrivate::TEvWriteBlobsResult::Error (NKikimrProto::EReplyStatus::CORRUPTED,
33
- std::move (buffer), result.GetErrorMessage ());
34
- TActorContext::AsActorContext ().Send (ParentActorId, evResult.release ());
30
+ SendErrorMessage (result.GetErrorMessage ());
35
31
}
36
32
return result;
37
33
}
38
34
35
+ void TModificationRestoreTask::DoOnError (const TString& errorMessage) {
36
+ AFL_ERROR (NKikimrServices::TX_COLUMNSHARD)(" event" , " restore_data_problems" )(" write_id" , WriteData.GetWriteMeta ().GetWriteId ())(
37
+ " tablet_id" , TabletId)(" message" , errorMessage);
38
+ SendErrorMessage (errorMessage);
39
+ }
40
+
39
41
NKikimr::TConclusionStatus TModificationRestoreTask::DoOnFinished () {
40
42
{
41
43
auto result = Merger->Finish ();
@@ -65,4 +67,11 @@ TModificationRestoreTask::TModificationRestoreTask(const ui64 tabletId, const NA
65
67
66
68
}
67
69
70
+ void TModificationRestoreTask::SendErrorMessage (const TString& errorMessage) {
71
+ auto writeDataPtr = std::make_shared<NEvWrite::TWriteData>(std::move (WriteData));
72
+ TWritingBuffer buffer (writeDataPtr->GetBlobsAction (), { std::make_shared<TWriteAggregation>(*writeDataPtr) });
73
+ auto evResult = NColumnShard::TEvPrivate::TEvWriteBlobsResult::Error (NKikimrProto::EReplyStatus::CORRUPTED, std::move (buffer), errorMessage);
74
+ TActorContext::AsActorContext ().Send (ParentActorId, evResult.release ());
75
+ }
76
+
68
77
}
0 commit comments