[#xx] Add general sanity tests for object stores #671
No reviewers
Labels
No labels
P0
P1
P2
P3
badger
frostfs-adm
frostfs-cli
frostfs-ir
frostfs-lens
frostfs-node
good first issue
triage
Infrastructure
blocked
bug
config
discussion
documentation
duplicate
enhancement
go
help wanted
internal
invalid
kludge
observability
perfomance
question
refactoring
wontfix
No milestone
No project
No assignees
4 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: TrueCloudLab/frostfs-node#671
Loading…
Reference in a new issue
No description provided.
Delete branch "ale64bit/frostfs-node:feature/store-basic-sanity-test"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Signed-off-by: Alejandro Lopez a.lopez@yadro.com
6cceca4239
to98744aa5e1
@ -0,0 +15,4 @@
// ObjectStore is the general interface of implementations of object storage.
//
// It can be used to wrap other storages and execute generic sanity tests on them.
type ObjectStore interface {
Where is it intended to be used? Wouldn't it be better to put in
blobstor/internal/blobstortest
?Not sure there's an actual difference for us between a "blob" and an "object" from the storage viewpoint. Why to move it there?
Anyway, it's intended to be used everywhere it can be plugged in. For example:
ObjectStore
.ObjectStore
.common.Storage
implementations can be wrapped and used almost verbatim.memstore
as blobstor and metabase, to test that the interaction between writecache and backing storage is correct.I would like these generic tests suites to have specific purpose, not scattered around the codebase.
Does it make sense to use these tests for common.Storage or they are already covered in another suite?
Why not just use
common.Storage
as an interface and store somewhere close to blobstortest?Cool. Note that "generic" means that the purpose might not be "specific".
These tests make sense for anything that implements
ObjectStore
or is conceptually close to it.Because it's bloated as hell.
Generic over the implementation, specific in functional purpose.
Adding yet another suite of tests (similar in spirit but with different interface) doesn't improve the situation, and likely, makes it even worse.
Pull request closed