Skip to content

Conversation

sravotto
Copy link
Collaborator

@sravotto sravotto commented Aug 22, 2025

Introduces a Validator component to verify backup/restore functionality
against storage providers. It:

  • Creates source and restored databases/tables
  • Runs workloads to generate and mutate data
  • Executes full + incremental backups
  • Validates backup metadata (1 full, 1 incremental)
  • Restores into a new database and compares fingerprints
  • Cleans up resources after validation

@sravotto sravotto changed the title store: add initial S3 store implementation validate: add Validator for backup/restore compatibility checks Aug 22, 2025
Introduces a Validator component to verify backup/restore functionality
against storage providers. It:

- Creates source and restored databases/tables
- Runs workloads to generate and mutate data
- Executes full + incremental backups
- Validates backup metadata (1 full, 1 incremental)
- Restores into a new database and compares fingerprints
- Cleans up resources after validation

It also introduce a simple workload that adds rows into
a kv style table.
@sravotto sravotto marked this pull request as ready for review August 22, 2025 15:51
@sravotto sravotto requested a review from BramGruneir August 22, 2025 15:51
Copy link
Collaborator

@BramGruneir BramGruneir left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

// to asses minimum compatibility at the functional level.
// This does not imply that a storage provider passing the test is supported.
func (v *Validator) Validate(ctx *stopper.Context) (*Report, error) {
conn, err := v.pool.Acquire(ctx)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is quite rough, as you mentioned, but a good first step.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, I'll clean it up - hopefully we get some feedback from some testers.

@sravotto
Copy link
Collaborator Author

Thank you.

@sravotto sravotto merged commit 6b377f9 into main Aug 22, 2025
5 checks passed
@sravotto sravotto deleted the sr8_validate branch August 22, 2025 18:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants