@@ -53,12 +53,11 @@ type DocsFilter struct {
5353 createDirOnce * sync.Once
5454}
5555
56- func Start (
56+ func New (
5757 ctx context.Context ,
5858 cfg Config ,
5959 params []Params ,
6060 mp MappingProvider ,
61- fracs fracmanager.List ,
6261) * DocsFilter {
6362 workers := cfg .Workers
6463 if workers <= 0 {
@@ -72,7 +71,7 @@ func Start(
7271 filtersMap [string (f .Hash ())] = f
7372 }
7473
75- df := & DocsFilter {
74+ return & DocsFilter {
7675 ctx : ctx ,
7776 config : cfg ,
7877 filters : filtersMap ,
@@ -82,7 +81,9 @@ func Start(
8281 rateLimit : make (chan struct {}, workers ),
8382 createDirOnce : & sync.Once {},
8483 }
84+ }
8585
86+ func (df * DocsFilter ) Start (fracs fracmanager.List ) {
8687 df .createDataDir ()
8788
8889 err := df .loadFilters ()
@@ -106,8 +107,6 @@ func Start(
106107
107108 df .processFilter (f , fracs .FilterInRange (seq .MID (f .params .From ), seq .MID (f .params .To )))
108109 }
109-
110- return df
111110}
112111
113112func (df * DocsFilter ) GetFilteredLIDsByFrac (fracName string ) ([]seq.LID , error ) {
@@ -122,9 +121,15 @@ func (df *DocsFilter) GetFilteredLIDsByFrac(fracName string) ([]seq.LID, error)
122121 var lids []seq.LID
123122
124123 for _ , f := range fracFiles {
125- rawLIDs , err := os .ReadFile (f )
124+ compressedLIDs , err := os .ReadFile (f )
125+ if err != nil {
126+ logger .Error ("can't read filtered lids from file" , zap .String ("path" , f ), zap .Error (err ))
127+ return nil , err
128+ }
129+
130+ rawLIDs , err := zstd .Decompress (compressedLIDs , nil )
126131 if err != nil {
127- logger .Error ("can't open filtered lids file" , zap .String ("path" , f ), zap .Error (err ))
132+ logger .Error ("can't decompress filtered lids from file" , zap .String ("path" , f ), zap .Error (err ))
128133 return nil , err
129134 }
130135
@@ -145,7 +150,7 @@ func (df *DocsFilter) GetFilteredLIDsByFrac(fracName string) ([]seq.LID, error)
145150 return lids , nil
146151}
147152
148- func (df * DocsFilter ) addDoneFrac (fracName string , fracPath string ) {
153+ func (df * DocsFilter ) addDoneFrac (fracName , fracPath string ) {
149154 df .fracsMu .Lock ()
150155 defer df .fracsMu .Unlock ()
151156
0 commit comments