@@ -320,15 +320,15 @@ func deleteMergeFile(dirtyFiles *btree2.BTreeG[*FilesItem], outs []*FilesItem, f
320320 }
321321}
322322
323- func (d * Domain ) openDirtyFiles () (err error ) {
323+ func (d * Domain ) openDirtyFiles (dirEntries [] string ) (err error ) {
324324 invalidFileItems := make ([]* FilesItem , 0 )
325325 invalidFileItemsLock := sync.Mutex {}
326326 d .dirtyFiles .Walk (func (items []* FilesItem ) bool {
327327 for _ , item := range items {
328328 fromStep , toStep := item .StepRange (d .stepSize )
329329 if item .decompressor == nil {
330- fPathMask := d .kvFilePathMask (fromStep , toStep )
331- fPath , fileVer , ok , err := version .FindFilesWithVersionsByPattern ( fPathMask )
330+ fNameMask := d .kvFileNameMask (fromStep , toStep )
331+ fPath , fileVer , ok , err := version .FindFilesWithVersionsByPatternInList ( fNameMask , dirEntries , d . dirs . SnapDomain )
332332 if err != nil {
333333 _ , fName := filepath .Split (fPath )
334334 d .logger .Debug ("[agg] Domain.openDirtyFiles: FileExist err" , "f" , fName , "err" , err )
@@ -338,7 +338,7 @@ func (d *Domain) openDirtyFiles() (err error) {
338338 continue
339339 }
340340 if ! ok {
341- _ , fName := filepath . Split ( fPath )
341+ fName := fNameMask
342342 d .logger .Debug ("[agg] Domain.openDirtyFiles: file does not exists" , "f" , fName )
343343 invalidFileItemsLock .Lock ()
344344 invalidFileItems = append (invalidFileItems , item )
@@ -367,8 +367,8 @@ func (d *Domain) openDirtyFiles() (err error) {
367367 }
368368
369369 if item .index == nil && d .Accessors .Has (statecfg .AccessorHashMap ) {
370- fPathMask := d .kviAccessorFilePathMask (fromStep , toStep )
371- fPath , fileVer , ok , err := version .FindFilesWithVersionsByPattern ( fPathMask )
370+ fNameMask := d .kviAccessorFileNameMask (fromStep , toStep )
371+ fPath , fileVer , ok , err := version .FindFilesWithVersionsByPatternInList ( fNameMask , dirEntries , d . dirs . SnapDomain )
372372 if err != nil {
373373 _ , fName := filepath .Split (fPath )
374374 d .logger .Warn ("[agg] Domain.openDirtyFiles" , "err" , err , "f" , fName )
@@ -386,8 +386,8 @@ func (d *Domain) openDirtyFiles() (err error) {
386386 }
387387 }
388388 if item .bindex == nil && d .Accessors .Has (statecfg .AccessorBTree ) {
389- fPathMask := d .kvBtAccessorFilePathMask (fromStep , toStep )
390- fPath , fileVer , ok , err := version .FindFilesWithVersionsByPattern ( fPathMask )
389+ fNameMask := d .kvBtAccessorFileNameMask (fromStep , toStep )
390+ fPath , fileVer , ok , err := version .FindFilesWithVersionsByPatternInList ( fNameMask , dirEntries , d . dirs . SnapDomain )
391391 if err != nil {
392392 _ , fName := filepath .Split (fPath )
393393 d .logger .Warn ("[agg] Domain.openDirtyFiles" , "err" , err , "f" , fName )
@@ -405,8 +405,8 @@ func (d *Domain) openDirtyFiles() (err error) {
405405 }
406406 }
407407 if item .existence == nil && d .Accessors .Has (statecfg .AccessorExistence ) {
408- fPathMask := d .kvExistenceIdxFilePathMask (fromStep , toStep )
409- fPath , fileVer , ok , err := version .FindFilesWithVersionsByPattern ( fPathMask )
408+ fNameMask := d .kvExistenceIdxFileNameMask (fromStep , toStep )
409+ fPath , fileVer , ok , err := version .FindFilesWithVersionsByPatternInList ( fNameMask , dirEntries , d . dirs . SnapDomain )
410410 if err != nil {
411411 _ , fName := filepath .Split (fPath )
412412 d .logger .Warn ("[agg] Domain.openDirtyFiles" , "err" , err , "f" , fName )
@@ -435,15 +435,15 @@ func (d *Domain) openDirtyFiles() (err error) {
435435 return nil
436436}
437437
438- func (h * History ) openDirtyFiles () error {
438+ func (h * History ) openDirtyFiles (dataEntries , accessorEntries [] string ) error {
439439 invalidFilesMu := sync.Mutex {}
440440 invalidFileItems := make ([]* FilesItem , 0 )
441441 h .dirtyFiles .Walk (func (items []* FilesItem ) bool {
442442 for _ , item := range items {
443443 fromStep , toStep := item .StepRange (h .stepSize )
444444 if item .decompressor == nil {
445- fPathMask := h .vFilePathMask (fromStep , toStep )
446- fPath , fileVer , ok , err := version .FindFilesWithVersionsByPattern ( fPathMask )
445+ fNameMask := h .vFileNameMask (fromStep , toStep )
446+ fPath , fileVer , ok , err := version .FindFilesWithVersionsByPatternInList ( fNameMask , dataEntries , h . dirs . SnapHistory )
447447 if err != nil {
448448 _ , fName := filepath .Split (fPath )
449449 h .logger .Debug ("[agg] History.openDirtyFiles: FileExist" , "f" , fName , "err" , err )
@@ -453,7 +453,7 @@ func (h *History) openDirtyFiles() error {
453453 continue
454454 }
455455 if ! ok {
456- _ , fName := filepath . Split ( fPath )
456+ fName := fNameMask
457457 h .logger .Debug ("[agg] History.openDirtyFiles: file does not exists" , "f" , fName )
458458 invalidFilesMu .Lock ()
459459 invalidFileItems = append (invalidFileItems , item )
@@ -494,8 +494,8 @@ func (h *History) openDirtyFiles() error {
494494 }
495495
496496 if item .index == nil {
497- fPathMask := h .vAccessorFilePathMask (fromStep , toStep )
498- fPath , fileVer , ok , err := version .FindFilesWithVersionsByPattern ( fPathMask )
497+ fNameMask := h .vAccessorFileNameMask (fromStep , toStep )
498+ fPath , fileVer , ok , err := version .FindFilesWithVersionsByPatternInList ( fNameMask , accessorEntries , h . dirs . SnapAccessors )
499499 if err != nil {
500500 _ , fName := filepath .Split (fPath )
501501 h .logger .Warn ("[agg] History.openDirtyFiles" , "err" , err , "f" , fName )
@@ -523,26 +523,26 @@ func (h *History) openDirtyFiles() error {
523523 return nil
524524}
525525
526- func (ii * InvertedIndex ) openDirtyFiles () error {
526+ func (ii * InvertedIndex ) openDirtyFiles (dataEntries , accessorEntries [] string ) error {
527527 var invalidFileItems []* FilesItem
528528 invalidFileItemsLock := sync.Mutex {}
529529 ii .dirtyFiles .Walk (func (items []* FilesItem ) bool {
530530 for _ , item := range items {
531531 fromStep , toStep := item .StepRange (ii .stepSize )
532532 if item .decompressor == nil {
533- fPathPattern := ii .efFilePathMask (fromStep , toStep )
534- fPath , fileVer , ok , err := version .FindFilesWithVersionsByPattern ( fPathPattern )
533+ fNameMask := ii .efFileNameMask (fromStep , toStep )
534+ fPath , fileVer , ok , err := version .FindFilesWithVersionsByPatternInList ( fNameMask , dataEntries , ii . dirs . SnapIdx )
535535 if err != nil {
536536 _ , fName := filepath .Split (fPath )
537- ii .logger .Debug ("[agg] InvertedIndex.openDirtyFiles: FindFilesWithVersionsByPattern error" , "f" , fName , "err" , err )
537+ ii .logger .Debug ("[agg] InvertedIndex.openDirtyFiles: FindFilesWithVersionsByPatternInList error" , "f" , fName , "err" , err )
538538 invalidFileItemsLock .Lock ()
539539 invalidFileItems = append (invalidFileItems , item )
540540 invalidFileItemsLock .Unlock ()
541541 continue
542542 }
543543
544544 if ! ok {
545- _ , fName := filepath . Split ( fPath )
545+ fName := fNameMask
546546 ii .logger .Debug ("[agg] InvertedIndex.openDirtyFiles: file does not exists" , "f" , fName )
547547 invalidFileItemsLock .Lock ()
548548 invalidFileItems = append (invalidFileItems , item )
@@ -571,8 +571,8 @@ func (ii *InvertedIndex) openDirtyFiles() error {
571571 }
572572
573573 if item .index == nil {
574- fPathPattern := ii .efAccessorFilePathMask (fromStep , toStep )
575- fPath , fileVer , ok , err := version .FindFilesWithVersionsByPattern ( fPathPattern )
574+ fNameMask := ii .efAccessorFileNameMask (fromStep , toStep )
575+ fPath , fileVer , ok , err := version .FindFilesWithVersionsByPatternInList ( fNameMask , accessorEntries , ii . dirs . SnapAccessors )
576576 if err != nil {
577577 _ , fName := filepath .Split (fPath )
578578 ii .logger .Warn ("[agg] InvertedIndex.openDirtyFiles" , "err" , err , "f" , fName )
0 commit comments