@@ -13,8 +13,6 @@ import (
13
13
14
14
ds "github.com/ipfs/go-datastore"
15
15
"github.com/ipfs/go-datastore/query"
16
-
17
- "go.uber.org/multierr"
18
16
)
19
17
20
18
var (
@@ -236,22 +234,19 @@ func (d *Datastore) Put(ctx context.Context, key ds.Key, value []byte) error {
236
234
237
235
// Sync implements Datastore.Sync
238
236
func (d * Datastore ) Sync (ctx context.Context , prefix ds.Key ) error {
239
- var merr error
237
+ var errs [] error
240
238
241
239
// Sync all mount points below the prefix
242
240
// Sync the mount point right at (or above) the prefix
243
241
dstores , prefixes , rest := d .lookupAll (prefix )
244
242
for i , suffix := range rest {
245
243
if err := dstores [i ].Sync (ctx , suffix ); err != nil {
246
- merr = multierr .Append (merr , fmt .Errorf (
247
- "syncing datastore at %s: %w" ,
248
- prefixes [i ].String (),
249
- err ,
250
- ))
244
+ err = fmt .Errorf ("syncing datastore at %s: %w" , prefixes [i ].String (), err )
245
+ errs = append (errs , err )
251
246
}
252
247
}
253
248
254
- return merr
249
+ return errors . Join ( errs ... )
255
250
}
256
251
257
252
// Get returns the value associated with the key from the appropriate datastore.
@@ -357,39 +352,33 @@ func (d *Datastore) Query(ctx context.Context, master query.Query) (query.Result
357
352
358
353
// Close closes all mounted datastores.
359
354
func (d * Datastore ) Close () error {
360
- var merr error
355
+ var errs [] error
361
356
for _ , d := range d .mounts {
362
357
err := d .Datastore .Close ()
363
358
if err != nil {
364
- merr = multierr .Append (merr , fmt .Errorf (
365
- "closing datastore at %s: %w" ,
366
- d .Prefix .String (),
367
- err ,
368
- ))
359
+ err = fmt .Errorf ("closing datastore at %s: %w" , d .Prefix .String (), err )
360
+ errs = append (errs , err )
369
361
}
370
362
}
371
- return merr
363
+ return errors . Join ( errs ... )
372
364
}
373
365
374
366
// DiskUsage returns the sum of DiskUsages for the mounted datastores.
375
367
// Non PersistentDatastores will not be accounted.
376
368
func (d * Datastore ) DiskUsage (ctx context.Context ) (uint64 , error ) {
377
369
var (
378
- merr error
370
+ errs [] error
379
371
duTotal uint64 = 0
380
372
)
381
373
for _ , d := range d .mounts {
382
374
du , err := ds .DiskUsage (ctx , d .Datastore )
383
375
duTotal += du
384
376
if err != nil {
385
- merr = multierr .Append (merr , fmt .Errorf (
386
- "getting disk usage at %s: %w" ,
387
- d .Prefix .String (),
388
- err ,
389
- ))
377
+ err = fmt .Errorf ("getting disk usage at %s: %w" , d .Prefix .String (), err )
378
+ errs = append (errs , err )
390
379
}
391
380
}
392
- return duTotal , merr
381
+ return duTotal , errors . Join ( errs ... )
393
382
}
394
383
395
384
type mountBatch struct {
@@ -452,62 +441,51 @@ func (mt *mountBatch) Commit(ctx context.Context) error {
452
441
mt .lk .Lock ()
453
442
defer mt .lk .Unlock ()
454
443
455
- var merr error
444
+ var errs [] error
456
445
for p , t := range mt .mounts {
457
446
if err := t .Commit (ctx ); err != nil {
458
- merr = multierr .Append (merr , fmt .Errorf (
459
- "committing batch to datastore at %s: %w" ,
460
- p , err ,
461
- ))
447
+ err = fmt .Errorf ("committing batch to datastore at %s: %w" , p , err )
448
+ errs = append (errs , err )
462
449
}
463
450
}
464
- return merr
451
+ return errors . Join ( errs ... )
465
452
}
466
453
467
454
func (d * Datastore ) Check (ctx context.Context ) error {
468
- var merr error
455
+ var errs [] error
469
456
for _ , m := range d .mounts {
470
457
if c , ok := m .Datastore .(ds.CheckedDatastore ); ok {
471
458
if err := c .Check (ctx ); err != nil {
472
- merr = multierr .Append (merr , fmt .Errorf (
473
- "checking datastore at %s: %w" ,
474
- m .Prefix .String (),
475
- err ,
476
- ))
459
+ err = fmt .Errorf ("checking datastore at %s: %w" , m .Prefix .String (), err )
460
+ errs = append (errs , err )
477
461
}
478
462
}
479
463
}
480
- return merr
464
+ return errors . Join ( errs ... )
481
465
}
482
466
483
467
func (d * Datastore ) Scrub (ctx context.Context ) error {
484
- var merr error
468
+ var errs [] error
485
469
for _ , m := range d .mounts {
486
470
if c , ok := m .Datastore .(ds.ScrubbedDatastore ); ok {
487
471
if err := c .Scrub (ctx ); err != nil {
488
- merr = multierr .Append (merr , fmt .Errorf (
489
- "scrubbing datastore at %s: %w" ,
490
- m .Prefix .String (),
491
- err ,
492
- ))
472
+ err = fmt .Errorf ("scrubbing datastore at %s: %w" , m .Prefix .String (), err )
473
+ errs = append (errs , err )
493
474
}
494
475
}
495
476
}
496
- return merr
477
+ return errors . Join ( errs ... )
497
478
}
498
479
499
480
func (d * Datastore ) CollectGarbage (ctx context.Context ) error {
500
- var merr error
481
+ var errs [] error
501
482
for _ , m := range d .mounts {
502
483
if c , ok := m .Datastore .(ds.GCDatastore ); ok {
503
484
if err := c .CollectGarbage (ctx ); err != nil {
504
- merr = multierr .Append (merr , fmt .Errorf (
505
- "gc on datastore at %s: %w" ,
506
- m .Prefix .String (),
507
- err ,
508
- ))
485
+ err = fmt .Errorf ("gc on datastore at %s: %w" , m .Prefix .String (), err )
486
+ errs = append (errs , err )
509
487
}
510
488
}
511
489
}
512
- return merr
490
+ return errors . Join ( errs ... )
513
491
}
0 commit comments