Add local targets #14
Labels
No labels
P0
P1
P2
P3
good first issue
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
3 participants
Notifications
Due date
No due date set.
Blocks
#18 Simplify/modify/refactor
Blobovniczas
}
TrueCloudLab/frostfs-node
Reference: TrueCloudLab/xk6-frostfs#14
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Sometimes we want to perform benchmark on a filled cluster. Filling it with gRPC is fast, but not enough: we are talking about weeks, not hours. Writing a separate utility for this is a dead-end scenario IMO: it has only 1 use-case, maintenance costs are non-negligible, users need to learn yet another CLI interface (and, of course, inevitable bugs in the implementation).
The proposal is to use implement local client:
engine
fromfrostfs-node
.local.js
scenario.Pros:
frostfs-node
are not suitable for this: they are usually not long/big enough.Cons:
frostfs-node
here is not aestethically pleasing IMO.cc @anikeev-yadro @realloc @carpawell @alexvanin
Could you please clarify here a bit? Do you mean handling both tree service calls and storage engine calls in "S3-local" case?
Yes. Tree service is just a wrapper over the engine, we can work with pilorama directly.
The only difficulty is knowing the tree structure for a bucket, but our bench is simple enough (flat structure, single version).
There is one more benchmark for versioned objects case where we put a loooong chain of versions for an object.
Ok. LGTM =)
Blobovniczas
It would be nice to allow setting
NoSync
for all subcomponents too.While we could change the configuration (and then forget to change it back), a flag can make it easier.
Blobovniczas
#18Closed by accident, S3 still left.
@fyrchik Could you clarify how much of S3 would you like to actually run in the local S3 scenario? I see the following possibilities:
local
client, by directly invoking the tree service methods. This seems error prone and needs to be kept in sync.frostfs.FrostFS
along with a tree service implementation based onengine
. This also seems error prone.pool.Pool
instance somehow.Neither seems quite optimal to me, so hoping to hear your thoughts.
/cc @alexvanin @dkirillov
To me (2) is ok: we do not use a lot of methods, just PUT/GET and the hardest part here is to copy the logic for a tree service.
@fyrchik Should we close now after #48?
Closed via #35, #48.