unified-storage: move rvmanager into its own package (#115445)

* unified-storage: move rvmanager into its own package so it can be reused with sqlkv later
This commit is contained in:
Will Assis
2025-12-18 18:35:32 -05:00
committed by GitHub
parent 606a59584a
commit 99f5f14de7
15 changed files with 186 additions and 112 deletions
+5 -4
View File
@@ -31,6 +31,7 @@ import (
"github.com/grafana/grafana/pkg/storage/unified/resourcepb"
"github.com/grafana/grafana/pkg/storage/unified/sql/db"
"github.com/grafana/grafana/pkg/storage/unified/sql/dbutil"
"github.com/grafana/grafana/pkg/storage/unified/sql/rvmanager"
"github.com/grafana/grafana/pkg/storage/unified/sql/sqltemplate"
"github.com/grafana/grafana/pkg/util/debouncer"
)
@@ -126,7 +127,7 @@ type backend struct {
notifier eventNotifier
// resource version manager
rvManager *resourceVersionManager
rvManager *rvmanager.ResourceVersionManager
// testing
simulatedNetworkLatency time.Duration
@@ -163,7 +164,7 @@ func (b *backend) initLocked(ctx context.Context) error {
}
// Initialize ResourceVersionManager
rvManager, err := NewResourceVersionManager(ResourceManagerOptions{
rvManager, err := rvmanager.NewResourceVersionManager(rvmanager.ResourceManagerOptions{
Dialect: b.dialect,
DB: b.db,
})
@@ -928,12 +929,12 @@ func (b *backend) listLatestRVs(ctx context.Context) (groupResourceRV, error) {
func (b *backend) fetchLatestRV(ctx context.Context, x db.ContextExecer, d sqltemplate.Dialect, group, resource string) (int64, error) {
ctx, span := tracer.Start(ctx, "sql.backend.fetchLatestRV")
defer span.End()
res, err := dbutil.QueryRow(ctx, x, sqlResourceVersionGet, sqlResourceVersionGetRequest{
res, err := dbutil.QueryRow(ctx, x, rvmanager.SqlResourceVersionGet, rvmanager.SqlResourceVersionGetRequest{
SQLTemplate: sqltemplate.New(d),
Group: group,
Resource: resource,
ReadOnly: true,
Response: new(resourceVersionResponse),
Response: new(rvmanager.ResourceVersionResponse),
})
if errors.Is(err, sql.ErrNoRows) {
return 1, nil