Skip to content

Upgrade storage integration tests to Storage v2 API #6366

@yurishkuro

Description

@yurishkuro

Currently our storage integration tests (plugin/storage/integration/ and cmd/jaeger/internal/integration/) operate in the existing v1 storage APIs. We want to migrate them to use V2 api from storage_v2/.

The way these tests operate is each storage backend has its own entry point to the tests and that entry point is responsible for initializing various storage reader/write APIs

type StorageIntegration struct {
SpanWriter spanstore.Writer
SpanReader spanstore.Reader
ArchiveSpanReader spanstore.Reader
ArchiveSpanWriter spanstore.Writer
DependencyWriter dependencystore.Writer
DependencyReader dependencystore.Reader
SamplingStore samplingstore.Store

We can begin upgrading to v2 API by incrementally swapping these fields to have the corresponding v2 interfaces, e.g. replacing SpanReader spanstore.Reader field with TraceReader tracestore.Reader and adjusting the test functions using that interface accordingly. The backend entry points then can provide TraceReader from the existing v1 SpanReader by wrapping it in storage_v2/v1adapter.

Then in the following PRs we can upgrade the remaining interfaces

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/storagegood first issueGood for beginnershelp wantedFeatures that maintainers are willing to accept but do not have cycles to implementv2

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions