diff --git a/tempodb/backend/gcs/gcs.go b/tempodb/backend/gcs/gcs.go index 90297a2738d..32871d53426 100644 --- a/tempodb/backend/gcs/gcs.go +++ b/tempodb/backend/gcs/gcs.go @@ -132,6 +132,10 @@ func (rw *readerWriter) Append(ctx context.Context, name string, blockID uuid.UU // CloseAppend implements backend.Writer func (rw *readerWriter) CloseAppend(_ context.Context, tracker backend.AppendTracker) error { + if tracker == nil { + return nil + } + w := tracker.(*storage.Writer) return w.Close() } diff --git a/tempodb/backend/local/local.go b/tempodb/backend/local/local.go index f0022f9fea3..1c71bc2d254 100644 --- a/tempodb/backend/local/local.go +++ b/tempodb/backend/local/local.go @@ -112,6 +112,10 @@ func (rw *readerWriter) Append(ctx context.Context, name string, blockID uuid.UU // CloseAppend implements backend.Writer func (rw *readerWriter) CloseAppend(ctx context.Context, tracker backend.AppendTracker) error { + if tracker == nil { + return nil + } + var dst *os.File = tracker.(*os.File) return dst.Close() } diff --git a/tempodb/backend/s3/s3.go b/tempodb/backend/s3/s3.go index 4e3b7cb378b..875067ae86e 100644 --- a/tempodb/backend/s3/s3.go +++ b/tempodb/backend/s3/s3.go @@ -226,6 +226,10 @@ func (rw *readerWriter) Append(ctx context.Context, name string, blockID uuid.UU // CloseAppend implements backend.Writer func (rw *readerWriter) CloseAppend(ctx context.Context, tracker backend.AppendTracker) error { + if tracker == nil { + return nil + } + a := tracker.(appendTracker) completeParts := make([]minio.CompletePart, 0) for _, p := range a.parts { diff --git a/tempodb/encoding/compactor_block.go b/tempodb/encoding/compactor_block.go index 6431add9c24..611523fd282 100644 --- a/tempodb/encoding/compactor_block.go +++ b/tempodb/encoding/compactor_block.go @@ -100,7 +100,7 @@ func (c *CompactorBlock) Complete(ctx context.Context, tracker backend.AppendTra } // one final flush - _, bytesFlushed, err := c.FlushBuffer(ctx, tracker, w) + tracker, bytesFlushed, err := c.FlushBuffer(ctx, tracker, w) if err != nil { return 0, err }