44#include < util/string/builder.h>
55#include < util/string/escape.h>
66#include < util/system/unaligned_mem.h>
7+ #include < ydb/library/actors/core/log.h>
78
89namespace NKikimr {
910namespace NPQ {
@@ -123,7 +124,7 @@ TBatch::TBatch(const NKikimrPQ::TBatchHeader &header, const char* data)
123124}
124125
125126TBatch TBatch::FromBlobs (const ui64 offset, std::deque<TClientBlob>&& blobs) {
126- Y_ABORT_UNLESS (!blobs.empty ());
127+ AFL_ENSURE (!blobs.empty ());
127128 TBatch batch (offset, blobs.front ().GetPartNo ());
128129 for (auto & b : blobs) {
129130 batch.AddBlob (b);
@@ -183,12 +184,12 @@ TInstant TBatch::GetEndWriteTimestamp() const {
183184}
184185
185186ui32 TBatch::GetPackedSize () const {
186- Y_ABORT_UNLESS (Packed);
187+ AFL_ENSURE (Packed);
187188 return sizeof (ui16) + PackedData.size () + Header.ByteSize ();
188189}
189190
190191ui32 TBatch::FindPos (const ui64 offset, const ui16 partNo) const {
191- Y_ABORT_UNLESS (!Packed);
192+ AFL_ENSURE (!Packed);
192193 if (offset < GetOffset () || offset == GetOffset () && partNo < GetPartNo ())
193194 return Max<ui32>();
194195 if (offset == GetOffset ()) {
@@ -257,20 +258,20 @@ const TBatch& THead::GetBatch(ui32 idx) const {
257258}
258259
259260const TBatch& THead::GetLastBatch () const {
260- Y_ABORT_UNLESS (!Batches.empty ());
261+ AFL_ENSURE (!Batches.empty ());
261262 return Batches.back ();
262263}
263264
264265TBatch THead::ExtractFirstBatch () {
265- Y_ABORT_UNLESS (!Batches.empty ());
266+ AFL_ENSURE (!Batches.empty ());
266267 auto batch = std::move (Batches.front ());
267268 InternalPartsCount -= batch.GetInternalPartsCount ();
268269 Batches.pop_front ();
269270 return batch;
270271}
271272
272273void THead::AddBlob (const TClientBlob& blob) {
273- Y_ABORT_UNLESS (!Batches.empty ());
274+ AFL_ENSURE (!Batches.empty ());
274275 auto & batch = Batches.back ();
275276 InternalPartsCount -= batch.GetInternalPartsCount ();
276277 batch.AddBlob (blob);
@@ -299,9 +300,7 @@ ui32 THead::GetCount() const
299300 return 0 ;
300301
301302 // how much offsets before last batch and how much offsets in last batch
302- Y_ABORT_UNLESS (Batches.front ().GetOffset () == Offset,
303- " front.Offset=%" PRIu64 " , offset=%" PRIu64,
304- Batches.front ().GetOffset (), Offset);
303+ AFL_ENSURE (Batches.front ().GetOffset () == Offset)(" front.Offset" , Batches.front ().GetOffset ())(" offset" , Offset);
305304
306305 return Batches.back ().GetOffset () - Offset + Batches.back ().GetCount ();
307306}
@@ -312,12 +311,12 @@ ui32 THead::GetCount() const
312311//
313312
314313THead::TBatchAccessor THead::MutableBatch (ui32 idx) {
315- Y_ABORT_UNLESS (idx < Batches.size ());
314+ AFL_ENSURE (idx < Batches.size ());
316315 return TBatchAccessor (Batches[idx]);
317316}
318317
319318THead::TBatchAccessor THead::MutableLastBatch () {
320- Y_ABORT_UNLESS (!Batches.empty ());
319+ AFL_ENSURE (!Batches.empty ());
321320 return TBatchAccessor (Batches.back ());
322321}
323322
@@ -437,7 +436,7 @@ TPartitionedBlob::TPartitionedBlob(const TPartitionId& partition, const ui64 off
437436 , MaxBlobSize(maxBlobSize)
438437 , FastWrite(fastWrite)
439438{
440- Y_ABORT_UNLESS (NewHead.Offset == Head.GetNextOffset () && NewHead.PartNo == 0 || headCleared || needCompactHead || Head.PackedSize == 0 ); // if head not cleared, then NewHead is going after Head
439+ AFL_ENSURE (NewHead.Offset == Head.GetNextOffset () && NewHead.PartNo == 0 || headCleared || needCompactHead || Head.PackedSize == 0 ); // if head not cleared, then NewHead is going after Head
441440 if (!headCleared) {
442441 HeadSize = Head.PackedSize + NewHead.PackedSize ;
443442 InternalPartsCount = Head.GetInternalPartsCount () + NewHead.GetInternalPartsCount ();
@@ -452,7 +451,7 @@ TPartitionedBlob::TPartitionedBlob(const TPartitionId& partition, const ui64 off
452451 if (HeadSize == 0 ) {
453452 StartOffset = offset;
454453 NewHead.Offset = offset;
455- // Y_ABORT_UNLESS (StartPartNo == 0);
454+ // AFL_ENSURE (StartPartNo == 0);
456455 }
457456}
458457
@@ -462,7 +461,7 @@ TString TPartitionedBlob::CompactHead(bool glueHead, THead& head, bool glueNewHe
462461 valueD.reserve (estimatedSize);
463462 if (glueHead) {
464463 for (ui32 pp = 0 ; pp < head.Batches .size (); ++pp) {
465- Y_ABORT_UNLESS (head.Batches [pp].Packed );
464+ AFL_ENSURE (head.Batches [pp].Packed );
466465 head.Batches [pp].SerializeTo (valueD);
467466 }
468467 }
@@ -471,12 +470,12 @@ TString TPartitionedBlob::CompactHead(bool glueHead, THead& head, bool glueNewHe
471470 TBatch *b = &newHead.Batches [pp];
472471 TBatch batch;
473472 if (!b->Packed ) {
474- Y_ABORT_UNLESS (pp + 1 == newHead.Batches .size ());
473+ AFL_ENSURE (pp + 1 == newHead.Batches .size ());
475474 batch = newHead.Batches [pp];
476475 batch.Pack ();
477476 b = &batch;
478477 }
479- Y_ABORT_UNLESS (b->Packed );
478+ AFL_ENSURE (b->Packed );
480479 b->SerializeTo (valueD);
481480 }
482481 }
@@ -488,9 +487,9 @@ auto TPartitionedBlob::CreateFormedBlob(ui32 size, bool useRename) -> std::optio
488487 HeadPartNo = NextPartNo;
489488 ui32 count = (GlueHead ? Head.GetCount () : 0 ) + (GlueNewHead ? NewHead.GetCount () : 0 );
490489
491- Y_ABORT_UNLESS (Offset >= (GlueHead ? Head.Offset : NewHead.Offset ));
490+ AFL_ENSURE (Offset >= (GlueHead ? Head.Offset : NewHead.Offset ));
492491
493- Y_ABORT_UNLESS (NewHead.GetNextOffset () >= (GlueHead ? Head.Offset : NewHead.Offset ));
492+ AFL_ENSURE (NewHead.GetNextOffset () >= (GlueHead ? Head.Offset : NewHead.Offset ));
494493
495494 TKey tmpKey, dataKey;
496495
@@ -513,11 +512,11 @@ auto TPartitionedBlob::CreateFormedBlob(ui32 size, bool useRename) -> std::optio
513512 auto batch = TBatch::FromBlobs (Offset, std::move (Blobs));
514513 Blobs.clear ();
515514 batch.Pack ();
516- Y_ABORT_UNLESS (batch.Packed );
515+ AFL_ENSURE (batch.Packed );
517516 batch.SerializeTo (valueD);
518517 }
519518
520- Y_ABORT_UNLESS (valueD.size () <= MaxBlobSize && (valueD.size () + size + 1_MB > MaxBlobSize || HeadSize + BlobsSize + size + GetMaxHeaderSize () <= MaxBlobSize));
519+ AFL_ENSURE (valueD.size () <= MaxBlobSize && (valueD.size () + size + 1_MB > MaxBlobSize || HeadSize + BlobsSize + size + GetMaxHeaderSize () <= MaxBlobSize));
521520 HeadSize = 0 ;
522521 BlobsSize = 0 ;
523522 TClientBlob::CheckBlob (tmpKey, valueD);
@@ -531,11 +530,9 @@ auto TPartitionedBlob::CreateFormedBlob(ui32 size, bool useRename) -> std::optio
531530
532531auto TPartitionedBlob::Add (TClientBlob&& blob) -> std::optional<TFormedBlobInfo>
533532{
534- Y_ABORT_UNLESS (NewHead.Offset >= Head.Offset ,
535- " Head.Offset=%" PRIu64 " , NewHead.Offset=%" PRIu64,
536- Head.Offset , NewHead.Offset );
533+ AFL_ENSURE (NewHead.Offset >= Head.Offset )(" Head.Offset" , Head.Offset )(" NewHead.Offset" , NewHead.Offset );
537534 ui32 size = blob.GetSerializedSize ();
538- Y_ABORT_UNLESS (InternalPartsCount < 1000 ); // just check for future packing
535+ AFL_ENSURE (InternalPartsCount < 1000 ); // just check for future packing
539536 if (HeadSize + BlobsSize + size + GetMaxHeaderSize () > MaxBlobSize) {
540537 NeedCompactHead = true ;
541538 }
@@ -617,22 +614,20 @@ TBlobIterator::TBlobIterator(const TKey& key, const TString& blob)
617614 , Count(0 )
618615 , InternalPartsCount(0 )
619616{
620- Y_ABORT_UNLESS (Data != End,
621- " Key=%s, blob.size=%" PRISZT,
622- Key.ToString ().data (), blob.size ());
617+ AFL_ENSURE (Data != End)(" Key" , Key.ToString ())(" blob.size" , blob.size ());
623618 ParseBatch ();
624- Y_ABORT_UNLESS (Header.GetPartNo () == Key.GetPartNo ());
619+ AFL_ENSURE (Header.GetPartNo () == Key.GetPartNo ());
625620}
626621
627622void TBlobIterator::ParseBatch () {
628- Y_ABORT_UNLESS (Data < End);
623+ AFL_ENSURE (Data < End);
629624 Header = ExtractHeader (Data, End - Data);
630- // Y_ABORT_UNLESS (Header.GetOffset() == Offset);
625+ // AFL_ENSURE (Header.GetOffset() == Offset);
631626 Count += Header.GetCount ();
632627 Offset += Header.GetCount ();
633628 InternalPartsCount += Header.GetInternalPartsCount ();
634- Y_ABORT_UNLESS (Count <= Key.GetCount ());
635- Y_ABORT_UNLESS (InternalPartsCount <= Key.GetInternalPartsCount ());
629+ AFL_ENSURE (Count <= Key.GetCount ());
630+ AFL_ENSURE (InternalPartsCount <= Key.GetInternalPartsCount ());
636631}
637632
638633bool TBlobIterator::IsValid ()
@@ -642,11 +637,11 @@ bool TBlobIterator::IsValid()
642637
643638bool TBlobIterator::Next ()
644639{
645- Y_ABORT_UNLESS (IsValid ());
640+ AFL_ENSURE (IsValid ());
646641 Data += Header.GetPayloadSize () + sizeof (ui16) + Header.ByteSize ();
647642 if (Data == End) { // this was last batch
648- Y_ABORT_UNLESS (Count == Key.GetCount ());
649- Y_ABORT_UNLESS (InternalPartsCount == Key.GetInternalPartsCount ());
643+ AFL_ENSURE (Count == Key.GetCount ());
644+ AFL_ENSURE (InternalPartsCount == Key.GetInternalPartsCount ());
650645 return false ;
651646 }
652647 ParseBatch ();
@@ -655,7 +650,7 @@ bool TBlobIterator::Next()
655650
656651TBatch TBlobIterator::GetBatch ()
657652{
658- Y_ABORT_UNLESS (IsValid ());
653+ AFL_ENSURE (IsValid ());
659654
660655 return TBatch (Header, Data + sizeof (ui16) + Header.ByteSize ());
661656}
0 commit comments