diff --git a/cmd/jaeger/internal/extension/remotesampling/extension.go b/cmd/jaeger/internal/extension/remotesampling/extension.go index 3caa071595e..fb3294e6d80 100644 --- a/cmd/jaeger/internal/extension/remotesampling/extension.go +++ b/cmd/jaeger/internal/extension/remotesampling/extension.go @@ -184,7 +184,7 @@ func (ext *rsExtension) startFileBasedStrategyProvider(_ context.Context) error func (ext *rsExtension) startAdaptiveStrategyProvider(host component.Host) error { storageName := ext.cfg.Adaptive.SamplingStore - f, err := jaegerstorage.GetStorageFactory(storageName, host) + f, err := jaegerstorage.GetTraceStoreFactory(storageName, host) if err != nil { return fmt.Errorf("cannot find storage factory: %w", err) } diff --git a/cmd/jaeger/internal/integration/storagecleaner/extension.go b/cmd/jaeger/internal/integration/storagecleaner/extension.go index 8d2a8f7bf2b..c8d1142537a 100644 --- a/cmd/jaeger/internal/integration/storagecleaner/extension.go +++ b/cmd/jaeger/internal/integration/storagecleaner/extension.go @@ -45,7 +45,7 @@ func newStorageCleaner(config *Config, telset component.TelemetrySettings) *stor } func (c *storageCleaner) Start(_ context.Context, host component.Host) error { - storageFactory, err := jaegerstorage.GetStorageFactory(c.config.TraceStorage, host) + storageFactory, err := jaegerstorage.GetTraceStoreFactory(c.config.TraceStorage, host) if err != nil { return fmt.Errorf("cannot find storage factory '%s': %w", c.config.TraceStorage, err) } diff --git a/storage_v2/v1adapter/factory.go b/storage_v2/v1adapter/factory.go index 243fccebf65..11392c78ed3 100644 --- a/storage_v2/v1adapter/factory.go +++ b/storage_v2/v1adapter/factory.go @@ -5,9 +5,12 @@ package v1adapter import ( "context" + "errors" "io" + "github.com/jaegertracing/jaeger/pkg/distributedlock" storage_v1 "github.com/jaegertracing/jaeger/storage" + "github.com/jaegertracing/jaeger/storage/samplingstore" "github.com/jaegertracing/jaeger/storage_v2/depstore" "github.com/jaegertracing/jaeger/storage_v2/tracestore" ) @@ -61,3 +64,33 @@ func (f *Factory) CreateDependencyReader() (depstore.Reader, error) { } return NewDependencyReader(dr), nil } + +// CreateLock implements storage_v1.SamplingStoreFactory +func (f *Factory) CreateLock() (distributedlock.Lock, error) { + ss, ok := f.ss.(storage_v1.SamplingStoreFactory) + if !ok { + return nil, errors.New("storage backend does not support sampling store") + } + lock, err := ss.CreateLock() + return lock, err +} + +// CreateSamplingStore implements storage_v1.SamplingStoreFactory +func (f *Factory) CreateSamplingStore(maxBuckets int) (samplingstore.Store, error) { + ss, ok := f.ss.(storage_v1.SamplingStoreFactory) + if !ok { + return nil, errors.New("storage backend does not support sampling store") + } + store, err := ss.CreateSamplingStore(maxBuckets) + return store, err +} + +// Purge implements storage_v1.Purger +func (f *Factory) Purge(ctx context.Context) error { + p, ok := f.ss.(storage_v1.Purger) + if !ok { + return errors.New("storage backend does not support Purger") + } + err := p.Purge(ctx) + return err +}