forked from TrueCloudLab/frostfs-sdk-go
[#102] netmap: properly process multiple REP
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
This commit is contained in:
parent
c359a7465a
commit
998fe1a7ab
2 changed files with 74 additions and 21 deletions
|
@ -188,30 +188,16 @@ func (m NetMap) ContainerNodes(p PlacementPolicy, pivot []byte) ([][]NodeInfo, e
|
|||
for i := range p.replicas {
|
||||
sName := p.replicas[i].GetSelector()
|
||||
if sName == "" {
|
||||
if len(p.selectors) == 0 {
|
||||
var s netmap.Selector
|
||||
s.SetCount(p.replicas[i].GetCount())
|
||||
s.SetFilter(mainFilterName)
|
||||
var s netmap.Selector
|
||||
s.SetCount(p.replicas[i].GetCount())
|
||||
s.SetFilter(mainFilterName)
|
||||
|
||||
nodes, err := c.getSelection(s)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
result[i] = flattenNodes(nodes)
|
||||
nodes, err := c.getSelection(s)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
for i := range p.selectors {
|
||||
if p.unique {
|
||||
nodes, err := c.getSelection(p.selectors[i])
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
result[i] = append(result[i], flattenNodes(nodes)...)
|
||||
} else {
|
||||
result[i] = append(result[i], flattenNodes(c.selections[p.selectors[i].GetName()])...)
|
||||
}
|
||||
}
|
||||
result[i] = append(result[i], flattenNodes(nodes)...)
|
||||
|
||||
if p.unique {
|
||||
c.addUsedNodes(result[i]...)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue