satellite/repair/repairer: use placement to select nodes for repair upload

We missed to set placement as a part of selection request. It can case
uploading repaired data out of specified placement.

I will provide test as a separate change.

Change-Id: I4efe67f2d5f545a1d70e831e5d297f0977a4eed1
This commit is contained in:
Michal Niewrzal 2023-06-10 20:50:03 +02:00
parent 3fff61f04a
commit 7c33521ace
2 changed files with 2 additions and 1 deletions

View File

@ -400,6 +400,7 @@ func (repairer *SegmentRepairer) Repair(ctx context.Context, queueSegment *queue
request := overlay.FindStorageNodesRequest{ request := overlay.FindStorageNodesRequest{
RequestedCount: requestCount, RequestedCount: requestCount,
ExcludedIDs: excludeNodeIDs, ExcludedIDs: excludeNodeIDs,
Placement: segment.Placement,
} }
newNodes, err := repairer.overlay.FindStorageNodesForUpload(ctx, request) newNodes, err := repairer.overlay.FindStorageNodesForUpload(ctx, request)
if err != nil { if err != nil {

View File

@ -27,7 +27,7 @@ import (
func TestSegmentRepairPlacement(t *testing.T) { func TestSegmentRepairPlacement(t *testing.T) {
piecesCount := 4 piecesCount := 4
testplanet.Run(t, testplanet.Config{ testplanet.Run(t, testplanet.Config{
SatelliteCount: 1, StorageNodeCount: 8, UplinkCount: 1, SatelliteCount: 1, StorageNodeCount: 10, UplinkCount: 1,
Reconfigure: testplanet.Reconfigure{ Reconfigure: testplanet.Reconfigure{
Satellite: testplanet.ReconfigureRS(1, 2, piecesCount, piecesCount), Satellite: testplanet.ReconfigureRS(1, 2, piecesCount, piecesCount),
}, },