This PR adds an error join to help with handling multiple errors
from snapshot file writers.
(cherry picked from commit 4ad5e2aba7
)
pull/26025/head
parent
5149774e22
commit
982ae57f22
|
@ -890,12 +890,12 @@ func (c *Compactor) WriteSnapshot(cache *Cache, logger *zap.Logger) ([]string, e
|
|||
}(splits[i])
|
||||
}
|
||||
|
||||
var err error
|
||||
var errs []error
|
||||
files := make([]string, 0, concurrency)
|
||||
for i := 0; i < concurrency; i++ {
|
||||
result := <-resC
|
||||
if result.err != nil {
|
||||
err = result.err
|
||||
errs = append(errs, result.err)
|
||||
}
|
||||
files = append(files, result.files...)
|
||||
}
|
||||
|
@ -914,7 +914,7 @@ func (c *Compactor) WriteSnapshot(cache *Cache, logger *zap.Logger) ([]string, e
|
|||
return nil, errSnapshotsDisabled
|
||||
}
|
||||
|
||||
return files, err
|
||||
return files, errors.Join(errs...)
|
||||
}
|
||||
|
||||
// compact writes multiple smaller TSM files into 1 or more larger files.
|
||||
|
|
Loading…
Reference in New Issue