@@ -3,7 +3,6 @@ package badger
3
3
import (
4
4
"bufio"
5
5
"bytes"
6
- "compress/gzip"
7
6
"context"
8
7
"encoding/binary"
9
8
"errors"
@@ -24,7 +23,6 @@ import (
24
23
"github.com/rudderlabs/rudder-go-kit/config"
25
24
"github.com/rudderlabs/rudder-go-kit/logger"
26
25
kitsync "github.com/rudderlabs/rudder-go-kit/sync"
27
- obskit "github.com/rudderlabs/rudder-observability-kit/go/labels"
28
26
)
29
27
30
28
var ErrSnapshotInProgress = errors .New ("snapshotting already in progress" )
@@ -76,8 +74,13 @@ func New(h hasher, conf *config.Config, log logger.Logger) (*Cache, error) {
76
74
WithValueThreshold (conf .GetInt64Var (10 * bytesize .B , 1 , "BadgerDB.Dedup.valueThreshold" , "BadgerDB.valueThreshold" )).
77
75
WithSyncWrites (conf .GetBoolVar (false , "BadgerDB.Dedup.syncWrites" , "BadgerDB.syncWrites" )).
78
76
WithBlockCacheSize (conf .GetInt64Var (0 , 1 , "BadgerDB.Dedup.blockCacheSize" , "BadgerDB.blockCacheSize" )).
79
- WithDetectConflicts (conf .GetBoolVar (false , "BadgerDB.Dedup.detectConflicts" , "BadgerDB.detectConflicts" )).
80
- WithLogger (loggerForBadger {log })
77
+ WithDetectConflicts (conf .GetBoolVar (false , "BadgerDB.Dedup.detectConflicts" , "BadgerDB.detectConflicts" ))
78
+
79
+ if conf .GetBool ("BadgerDB.Dedup.NopLogger" , false ) {
80
+ opts = opts .WithLogger (loggerForBadger {logger .NOP })
81
+ } else {
82
+ opts = opts .WithLogger (loggerForBadger {log })
83
+ }
81
84
82
85
compress := conf .GetBool ("BadgerDB.Dedup.Compress" , true )
83
86
if compress {
@@ -176,17 +179,18 @@ func (c *Cache) CreateSnapshots(ctx context.Context, w map[uint32]io.Writer) (ui
176
179
177
180
// TODO gzip should be configurable, maybe we want to use another algorithm with a different compression level
178
181
if c .compress {
179
- for hashRange , writer := range w {
180
- w [hashRange ] = gzip .NewWriter (writer )
181
- }
182
- defer func () {
183
- for _ , writer := range w {
184
- err := writer .(* gzip.Writer ).Close ()
185
- if err != nil {
186
- c .logger .Errorn ("failed to close gzip writer" , obskit .Error (err ))
187
- }
188
- }
189
- }()
182
+ // TODO implement but check other algos as well, possibly zstd
183
+ //for hashRange, writer := range w {
184
+ // w[hashRange] = gzip.NewWriter(writer)
185
+ //}
186
+ //defer func() {
187
+ // for _, writer := range w {
188
+ // err := writer.(*gzip.Writer).Close()
189
+ // if err != nil {
190
+ // c.logger.Errorn("failed to close gzip writer", obskit.Error(err))
191
+ // }
192
+ // }
193
+ //}()
190
194
}
191
195
192
196
hashRangesMap := make (map [uint32 ]struct {})
@@ -319,21 +323,22 @@ func (c *Cache) CreateSnapshots(ctx context.Context, w map[uint32]io.Writer) (ui
319
323
func (c * Cache ) LoadSnapshots (ctx context.Context , r ... io.Reader ) error {
320
324
// TODO gzip should be configurable, maybe we want to use another algorithm with a different compression level
321
325
if c .compress {
322
- var err error
323
- for i , rdr := range r {
324
- r [i ], err = gzip .NewReader (rdr )
325
- if err != nil {
326
- return fmt .Errorf ("failed to create gzip reader: %w" , err )
327
- }
328
- }
329
- defer func () {
330
- for _ , rdr := range r {
331
- err := rdr .(* gzip.Reader ).Close ()
332
- if err != nil {
333
- c .logger .Errorn ("failed to close gzip reader" , obskit .Error (err ))
334
- }
335
- }
336
- }()
326
+ // TODO implement but check other algos as well, possibly zstd
327
+ //var err error
328
+ //for i, rdr := range r {
329
+ // r[i], err = gzip.NewReader(rdr)
330
+ // if err != nil {
331
+ // return fmt.Errorf("failed to create gzip reader: %w", err)
332
+ // }
333
+ //}
334
+ //defer func() {
335
+ // for _, rdr := range r {
336
+ // err := rdr.(*gzip.Reader).Close()
337
+ // if err != nil {
338
+ // c.logger.Errorn("failed to close gzip reader", obskit.Error(err))
339
+ // }
340
+ // }
341
+ //}()
337
342
}
338
343
339
344
// Create KVLoader for batch writing entries
0 commit comments