MCPcopy
hub / github.com/grafana/tempo / ClearBlock

Method ClearBlock

tempodb/backend/s3/compactor.go:50–76  ·  view source on GitHub ↗
(blockID uuid.UUID, tenantID string)

Source from the content-addressed store, hash-verified

48}
49
50func (rw *readerWriter) ClearBlock(blockID uuid.UUID, tenantID string) error {
51 if len(tenantID) == 0 {
52 return backend.ErrEmptyTenantID
53 }
54 if blockID == uuid.Nil {
55 return backend.ErrEmptyBlockID
56 }
57
58 path := backend.RootPath(blockID, tenantID, rw.cfg.Prefix) + "/"
59 level.Debug(rw.logger).Log("msg", "deleting block", "block path", path)
60
61 // ListObjects(bucket, prefix, marker, delimiter string, maxKeys int)
62 res, err := rw.core.ListObjects(rw.cfg.Bucket, path, "", "/", 0)
63 if err != nil {
64 return fmt.Errorf("error listing objects in bucket %s: %w", rw.cfg.Bucket, err)
65 }
66
67 level.Debug(rw.logger).Log("msg", "listing objects", "found", len(res.Contents))
68 for _, obj := range res.Contents {
69 err = rw.core.RemoveObject(context.TODO(), rw.cfg.Bucket, obj.Key, minio.RemoveObjectOptions{})
70 if err != nil {
71 return fmt.Errorf("error deleting obj from s3: %s: %w", obj.Key, err)
72 }
73 }
74
75 return nil
76}
77
78func (rw *readerWriter) CompactedBlockMeta(blockID uuid.UUID, tenantID string) (*backend.CompactedBlockMeta, error) {
79 if len(tenantID) == 0 {

Callers

nothing calls this directly

Calls 2

RootPathFunction · 0.92
LogMethod · 0.65

Tested by

no test coverage detected