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

Function internalNew

tempodb/backend/gcs/gcs.go:86–114  ·  view source on GitHub ↗
(cfg *Config, confirm bool)

Source from the content-addressed store, hash-verified

84}
85
86func internalNew(cfg *Config, confirm bool) (*readerWriter, error) {
87 ctx := context.Background()
88
89 bucket, err := createBucket(ctx, cfg, false)
90 if err != nil {
91 return nil, fmt.Errorf("creating bucket: %w", err)
92 }
93
94 hedgedBucket, err := createBucket(ctx, cfg, true)
95 if err != nil {
96 return nil, fmt.Errorf("creating hedged bucket: %w", err)
97 }
98
99 // Check bucket exists by getting attrs
100 if confirm {
101 if _, err = bucket.Attrs(ctx); err != nil {
102 return nil, fmt.Errorf("getting bucket attrs: %w", err)
103 }
104 }
105
106 rw := &readerWriter{
107 logger: log.Logger,
108 cfg: cfg,
109 bucket: bucket,
110 hedgedBucket: hedgedBucket,
111 }
112
113 return rw, nil
114}
115
116// Write implements backend.Writer
117func (rw *readerWriter) Write(ctx context.Context, name string, keypath backend.KeyPath, data io.Reader, _ int64, _ *backend.CacheInfo) error {

Callers 3

NewNoConfirmFunction · 0.70
NewFunction · 0.70
NewVersionedReaderWriterFunction · 0.70

Calls 1

createBucketFunction · 0.85

Tested by

no test coverage detected