@@ -91,7 +91,7 @@ func TestCheckDetachedFiles(t *testing.T) {
91
91
92
92
require .Equal (t , 4 * 100 , int (sh .rowCount ))
93
93
detachedInfo := NewDetachedMetaInfo ()
94
- err = detachedInfo .checkAndTruncateDetachedFiles (sh .filesPath , defaultMeasurementName , bfColumn )
94
+ err = detachedInfo .checkAndTruncateDetachedFiles (sh .filesPath , defaultMeasurementName , bfColumn , false )
95
95
if err != nil {
96
96
t .Fatal (err )
97
97
}
@@ -153,7 +153,7 @@ func TestTestCheckDetachedFilesV2(t *testing.T) {
153
153
mutable .SetWriteChunk (msInfo , rec )
154
154
sh .commitSnapshot (sh .activeTbl )
155
155
detachedInfo := NewDetachedMetaInfo ()
156
- err = detachedInfo .checkAndTruncateDetachedFiles (sh .filesPath , defaultMeasurementName , bfColumn )
156
+ err = detachedInfo .checkAndTruncateDetachedFiles (sh .filesPath , defaultMeasurementName , bfColumn , false )
157
157
if err != nil {
158
158
t .Fatal (err )
159
159
}
@@ -168,7 +168,7 @@ func TestTestCheckDetachedFilesV2(t *testing.T) {
168
168
func TestCheckMetaIndexFile (t * testing.T ) {
169
169
testDir := t .TempDir ()
170
170
detachedInfo := NewDetachedMetaInfo ()
171
- err := detachedInfo .checkAndTruncateDetachedFiles ("unknownPath" , "cpu" , nil )
171
+ err := detachedInfo .checkAndTruncateDetachedFiles ("unknownPath" , "cpu" , nil , false )
172
172
if err == nil {
173
173
t .Fatal ("should return open metaIndex file path error" )
174
174
}
@@ -349,7 +349,7 @@ func TestCheckBloomFilterFiles(t *testing.T) {
349
349
testDir := t .TempDir ()
350
350
detachedInfo := NewDetachedMetaInfo ()
351
351
bfCols := []string {"tags" }
352
- err := detachedInfo .checkAndTruncateBfFiles ("unknownPath" , "" , bfCols )
352
+ err := detachedInfo .checkAndTruncateBfFiles ("unknownPath" , "" , bfCols , false )
353
353
if err == nil {
354
354
t .Fatal ("should return open bloom filter file path error" )
355
355
}
@@ -372,7 +372,7 @@ func TestCheckBloomFilterFiles(t *testing.T) {
372
372
if err != nil {
373
373
t .Fatal (err )
374
374
}
375
- err = detachedInfo .checkAndTruncateBfFiles (testDir , "" , bfCols )
375
+ err = detachedInfo .checkAndTruncateBfFiles (testDir , "" , bfCols , false )
376
376
if err != nil {
377
377
t .Fatal (err )
378
378
}
@@ -382,7 +382,51 @@ func TestCheckBloomFilterFiles(t *testing.T) {
382
382
if err != nil {
383
383
t .Fatal (err )
384
384
}
385
- err = detachedInfo .checkAndTruncateBfFiles (testDir , "" , bfCols )
385
+ err = detachedInfo .checkAndTruncateBfFiles (testDir , "" , bfCols , false )
386
+ if err != nil {
387
+ t .Fatal (err )
388
+ }
389
+ _ = os .RemoveAll (testDir )
390
+ }
391
+
392
+ func TestCheckFullTextBfFiles (t * testing.T ) {
393
+ testDir := t .TempDir ()
394
+ detachedInfo := NewDetachedMetaInfo ()
395
+ err := detachedInfo .checkAndTruncateBfFiles ("unknownPath" , "" , nil , true )
396
+ if err == nil {
397
+ t .Fatal ("should return open bloom filter file path error" )
398
+ }
399
+ constant := logstore .GetConstant (logstore .CurrentLogTokenizerVersion )
400
+ buf := make ([]byte , constant .FilterDataDiskSize * 2 )
401
+ lock := fileops .FileLockOption ("" )
402
+ pri := fileops .FilePriorityOption (fileops .IO_PRIORITY_NORMAL )
403
+ bfCols := []string {sparseindex .FullTextIndex }
404
+ filePath := sparseindex .GetBloomFilterFilePath (testDir , "" , bfCols [0 ])
405
+
406
+ fd , err := fileops .OpenFile (filePath , os .O_CREATE | os .O_RDWR , 0640 , lock , pri )
407
+ if err != nil {
408
+ log .Error ("open detached bloom filter file fail" , zap .String ("name" , testDir ), zap .Error (err ))
409
+ t .Fatal (err )
410
+ }
411
+ defer func () {
412
+ _ = fd .Close ()
413
+ }()
414
+
415
+ _ , err = fd .Write (buf )
416
+ if err != nil {
417
+ t .Fatal (err )
418
+ }
419
+ err = detachedInfo .checkAndTruncateBfFiles (testDir , "" , bfCols , true )
420
+ if err != nil {
421
+ t .Fatal (err )
422
+ }
423
+
424
+ detachedInfo .lastPkMetaEndBlockId = 3
425
+ _ , err = fd .Write (buf )
426
+ if err != nil {
427
+ t .Fatal (err )
428
+ }
429
+ err = detachedInfo .checkAndTruncateBfFiles (testDir , "" , bfCols , true )
386
430
if err != nil {
387
431
t .Fatal (err )
388
432
}
0 commit comments