cleanup
This commit is contained in:
39
s3/s3.go
39
s3/s3.go
@@ -570,10 +570,10 @@ func (r *Replica) snapshot(ctx context.Context, generation string, index int) er
|
||||
if err != nil {
|
||||
return err
|
||||
} else if _, err := tx.ExecContext(ctx, `SELECT COUNT(1) FROM _litestream_seq;`); err != nil {
|
||||
tx.Rollback()
|
||||
_ = tx.Rollback()
|
||||
return err
|
||||
}
|
||||
defer tx.Rollback()
|
||||
defer func() { _ = tx.Rollback() }()
|
||||
|
||||
// Open database file handle.
|
||||
f, err := os.Open(r.db.Path())
|
||||
@@ -681,6 +681,7 @@ func (r *Replica) findBucketRegion(ctx context.Context, bucket string) (string,
|
||||
return "us-east-1", nil
|
||||
}
|
||||
|
||||
// Sync replays data from the shadow WAL and uploads it to S3.
|
||||
func (r *Replica) Sync(ctx context.Context) (err error) {
|
||||
// Clear last position if if an error occurs during sync.
|
||||
defer func() {
|
||||
@@ -1012,40 +1013,6 @@ func (r *Replica) deleteGenerationBefore(ctx context.Context, generation string,
|
||||
return nil
|
||||
}
|
||||
|
||||
type multiReadCloser struct {
|
||||
readers []io.ReadCloser
|
||||
}
|
||||
|
||||
func (mr *multiReadCloser) Read(p []byte) (n int, err error) {
|
||||
for len(mr.readers) > 0 {
|
||||
n, err = mr.readers[0].Read(p)
|
||||
if err == io.EOF {
|
||||
if e := mr.readers[0].Close(); e != nil {
|
||||
return n, e
|
||||
}
|
||||
mr.readers[0] = nil
|
||||
mr.readers = mr.readers[1:]
|
||||
}
|
||||
|
||||
if n > 0 || err != io.EOF {
|
||||
if err == io.EOF && len(mr.readers) > 0 {
|
||||
err = nil
|
||||
}
|
||||
return
|
||||
}
|
||||
}
|
||||
return 0, io.EOF
|
||||
}
|
||||
|
||||
func (mr *multiReadCloser) Close() (err error) {
|
||||
for _, r := range mr.readers {
|
||||
if e := r.Close(); e != nil && err == nil {
|
||||
err = e
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
// S3 metrics.
|
||||
var (
|
||||
operationTotalCounterVec = promauto.NewCounterVec(prometheus.CounterOpts{
|
||||
|
||||
Reference in New Issue
Block a user