4
4
#include < util/string/builder.h>
5
5
#include < util/string/escape.h>
6
6
#include < util/system/unaligned_mem.h>
7
+ #include < ydb/library/actors/core/log.h>
7
8
8
9
namespace NKikimr {
9
10
namespace NPQ {
@@ -123,7 +124,7 @@ TBatch::TBatch(const NKikimrPQ::TBatchHeader &header, const char* data)
123
124
}
124
125
125
126
TBatch TBatch::FromBlobs (const ui64 offset, std::deque<TClientBlob>&& blobs) {
126
- Y_ABORT_UNLESS (!blobs.empty ());
127
+ AFL_ENSURE (!blobs.empty ());
127
128
TBatch batch (offset, blobs.front ().GetPartNo ());
128
129
for (auto & b : blobs) {
129
130
batch.AddBlob (b);
@@ -183,12 +184,12 @@ TInstant TBatch::GetEndWriteTimestamp() const {
183
184
}
184
185
185
186
ui32 TBatch::GetPackedSize () const {
186
- Y_ABORT_UNLESS (Packed);
187
+ AFL_ENSURE (Packed);
187
188
return sizeof (ui16) + PackedData.size () + Header.ByteSize ();
188
189
}
189
190
190
191
ui32 TBatch::FindPos (const ui64 offset, const ui16 partNo) const {
191
- Y_ABORT_UNLESS (!Packed);
192
+ AFL_ENSURE (!Packed);
192
193
if (offset < GetOffset () || offset == GetOffset () && partNo < GetPartNo ())
193
194
return Max<ui32>();
194
195
if (offset == GetOffset ()) {
@@ -257,20 +258,20 @@ const TBatch& THead::GetBatch(ui32 idx) const {
257
258
}
258
259
259
260
const TBatch& THead::GetLastBatch () const {
260
- Y_ABORT_UNLESS (!Batches.empty ());
261
+ AFL_ENSURE (!Batches.empty ());
261
262
return Batches.back ();
262
263
}
263
264
264
265
TBatch THead::ExtractFirstBatch () {
265
- Y_ABORT_UNLESS (!Batches.empty ());
266
+ AFL_ENSURE (!Batches.empty ());
266
267
auto batch = std::move (Batches.front ());
267
268
InternalPartsCount -= batch.GetInternalPartsCount ();
268
269
Batches.pop_front ();
269
270
return batch;
270
271
}
271
272
272
273
void THead::AddBlob (const TClientBlob& blob) {
273
- Y_ABORT_UNLESS (!Batches.empty ());
274
+ AFL_ENSURE (!Batches.empty ());
274
275
auto & batch = Batches.back ();
275
276
InternalPartsCount -= batch.GetInternalPartsCount ();
276
277
batch.AddBlob (blob);
@@ -299,9 +300,7 @@ ui32 THead::GetCount() const
299
300
return 0 ;
300
301
301
302
// 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);
305
304
306
305
return Batches.back ().GetOffset () - Offset + Batches.back ().GetCount ();
307
306
}
@@ -312,12 +311,12 @@ ui32 THead::GetCount() const
312
311
//
313
312
314
313
THead::TBatchAccessor THead::MutableBatch (ui32 idx) {
315
- Y_ABORT_UNLESS (idx < Batches.size ());
314
+ AFL_ENSURE (idx < Batches.size ());
316
315
return TBatchAccessor (Batches[idx]);
317
316
}
318
317
319
318
THead::TBatchAccessor THead::MutableLastBatch () {
320
- Y_ABORT_UNLESS (!Batches.empty ());
319
+ AFL_ENSURE (!Batches.empty ());
321
320
return TBatchAccessor (Batches.back ());
322
321
}
323
322
@@ -437,7 +436,7 @@ TPartitionedBlob::TPartitionedBlob(const TPartitionId& partition, const ui64 off
437
436
, MaxBlobSize(maxBlobSize)
438
437
, FastWrite(fastWrite)
439
438
{
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
441
440
if (!headCleared) {
442
441
HeadSize = Head.PackedSize + NewHead.PackedSize ;
443
442
InternalPartsCount = Head.GetInternalPartsCount () + NewHead.GetInternalPartsCount ();
@@ -452,7 +451,7 @@ TPartitionedBlob::TPartitionedBlob(const TPartitionId& partition, const ui64 off
452
451
if (HeadSize == 0 ) {
453
452
StartOffset = offset;
454
453
NewHead.Offset = offset;
455
- // Y_ABORT_UNLESS (StartPartNo == 0);
454
+ // AFL_ENSURE (StartPartNo == 0);
456
455
}
457
456
}
458
457
@@ -462,7 +461,7 @@ TString TPartitionedBlob::CompactHead(bool glueHead, THead& head, bool glueNewHe
462
461
valueD.reserve (estimatedSize);
463
462
if (glueHead) {
464
463
for (ui32 pp = 0 ; pp < head.Batches .size (); ++pp) {
465
- Y_ABORT_UNLESS (head.Batches [pp].Packed );
464
+ AFL_ENSURE (head.Batches [pp].Packed );
466
465
head.Batches [pp].SerializeTo (valueD);
467
466
}
468
467
}
@@ -471,12 +470,12 @@ TString TPartitionedBlob::CompactHead(bool glueHead, THead& head, bool glueNewHe
471
470
TBatch *b = &newHead.Batches [pp];
472
471
TBatch batch;
473
472
if (!b->Packed ) {
474
- Y_ABORT_UNLESS (pp + 1 == newHead.Batches .size ());
473
+ AFL_ENSURE (pp + 1 == newHead.Batches .size ());
475
474
batch = newHead.Batches [pp];
476
475
batch.Pack ();
477
476
b = &batch;
478
477
}
479
- Y_ABORT_UNLESS (b->Packed );
478
+ AFL_ENSURE (b->Packed );
480
479
b->SerializeTo (valueD);
481
480
}
482
481
}
@@ -488,9 +487,9 @@ auto TPartitionedBlob::CreateFormedBlob(ui32 size, bool useRename) -> std::optio
488
487
HeadPartNo = NextPartNo;
489
488
ui32 count = (GlueHead ? Head.GetCount () : 0 ) + (GlueNewHead ? NewHead.GetCount () : 0 );
490
489
491
- Y_ABORT_UNLESS (Offset >= (GlueHead ? Head.Offset : NewHead.Offset ));
490
+ AFL_ENSURE (Offset >= (GlueHead ? Head.Offset : NewHead.Offset ));
492
491
493
- Y_ABORT_UNLESS (NewHead.GetNextOffset () >= (GlueHead ? Head.Offset : NewHead.Offset ));
492
+ AFL_ENSURE (NewHead.GetNextOffset () >= (GlueHead ? Head.Offset : NewHead.Offset ));
494
493
495
494
TKey tmpKey, dataKey;
496
495
@@ -513,11 +512,11 @@ auto TPartitionedBlob::CreateFormedBlob(ui32 size, bool useRename) -> std::optio
513
512
auto batch = TBatch::FromBlobs (Offset, std::move (Blobs));
514
513
Blobs.clear ();
515
514
batch.Pack ();
516
- Y_ABORT_UNLESS (batch.Packed );
515
+ AFL_ENSURE (batch.Packed );
517
516
batch.SerializeTo (valueD);
518
517
}
519
518
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));
521
520
HeadSize = 0 ;
522
521
BlobsSize = 0 ;
523
522
TClientBlob::CheckBlob (tmpKey, valueD);
@@ -531,11 +530,9 @@ auto TPartitionedBlob::CreateFormedBlob(ui32 size, bool useRename) -> std::optio
531
530
532
531
auto TPartitionedBlob::Add (TClientBlob&& blob) -> std::optional<TFormedBlobInfo>
533
532
{
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 );
537
534
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
539
536
if (HeadSize + BlobsSize + size + GetMaxHeaderSize () > MaxBlobSize) {
540
537
NeedCompactHead = true ;
541
538
}
@@ -617,22 +614,20 @@ TBlobIterator::TBlobIterator(const TKey& key, const TString& blob)
617
614
, Count(0 )
618
615
, InternalPartsCount(0 )
619
616
{
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 ());
623
618
ParseBatch ();
624
- Y_ABORT_UNLESS (Header.GetPartNo () == Key.GetPartNo ());
619
+ AFL_ENSURE (Header.GetPartNo () == Key.GetPartNo ());
625
620
}
626
621
627
622
void TBlobIterator::ParseBatch () {
628
- Y_ABORT_UNLESS (Data < End);
623
+ AFL_ENSURE (Data < End);
629
624
Header = ExtractHeader (Data, End - Data);
630
- // Y_ABORT_UNLESS (Header.GetOffset() == Offset);
625
+ // AFL_ENSURE (Header.GetOffset() == Offset);
631
626
Count += Header.GetCount ();
632
627
Offset += Header.GetCount ();
633
628
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 ());
636
631
}
637
632
638
633
bool TBlobIterator::IsValid ()
@@ -642,11 +637,11 @@ bool TBlobIterator::IsValid()
642
637
643
638
bool TBlobIterator::Next ()
644
639
{
645
- Y_ABORT_UNLESS (IsValid ());
640
+ AFL_ENSURE (IsValid ());
646
641
Data += Header.GetPayloadSize () + sizeof (ui16) + Header.ByteSize ();
647
642
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 ());
650
645
return false ;
651
646
}
652
647
ParseBatch ();
@@ -655,7 +650,7 @@ bool TBlobIterator::Next()
655
650
656
651
TBatch TBlobIterator::GetBatch ()
657
652
{
658
- Y_ABORT_UNLESS (IsValid ());
653
+ AFL_ENSURE (IsValid ());
659
654
660
655
return TBatch (Header, Data + sizeof (ui16) + Header.ByteSize ());
661
656
}
0 commit comments