selector: Add agent synchronization in Oneshot
mode #158
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
4 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: TrueCloudLab/xk6-frostfs#158
Loading…
Reference in a new issue
No description provided.
Delete branch "achuprov/xk6-frostfs:bugfix/153"
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?
Close #153
Oneshot
mode1766e88839
to62c69f4afd
@ -31,3 +33,3 @@
// NewObjSelector creates a new instance of object selector that can iterate over
// objects in the specified registry.
func NewObjSelector(registry *ObjRegistry, selectionSize int, kind SelectorKind, filter *ObjFilter) *ObjSelector {
// countAgents specifies the number of agents involved in data selection.
It seems to be the wrong level of abstraction. Selector's job is to select data and provide a stream irregardless of how it is used.
The problem is in scenario (because that is where
abort
is called).You're right. But I think the
selector
should provide the functionality to synchronizeVU
.62c69f4afd
tobecacd4251
becacd4251
tod15f6550b2
@ -23,6 +24,7 @@ type ObjSelector struct {
filter *ObjFilter
cacheSize int
kind SelectorKind
sinc sync.WaitGroup
What is
sinc
? I knowsync
andsink
only.@ -106,2 +108,4 @@
}
// SetCountVU sets the number of VUs that will work with this selector
func (o *ObjSelector) SetCountVU(count int) {
It is a basic waitgroup, why is the field attached to an
ObjSelector
?@ -108,0 +113,4 @@
o.sinc.Add(count)
}
// SincVU allows synchronizing VUs that use this selector
Please, make this comment (and above one) end with dot
.
d15f6550b2
to117afd5f7c
117afd5f7c
to104aa5ef96
104aa5ef96
to2b4d12dc91
@ -44,6 +47,7 @@ func NewObjSelector(registry *ObjRegistry, selectionSize int, kind SelectorKind,
objChan: make(chan *ObjectInfo, selectionSize*2),
cacheSize: selectionSize,
kind: kind,
Sync: sync.WaitGroup{},
It is not a pointer, so the default value is ok, can omit this line
2b4d12dc91
tobede693470
New commits pushed, approval review dismissed automatically according to repository settings