storj/satellite/repair/repairer
Márton Elek 9ddc8b4ca3 satellite/repair: piecescheck.OutOfPlacementPiecesSet should not contain offline nodes
When we check the availability of the pieces, we do:

```
result.NumUnhealthyRetrievable = len(result.ClumpedPiecesSet) + len(result.OutOfPlacementPiecesSet)
// + some magic if there are overlaps between them
numHealthy := len(pieces) - len(piecesCheck.MissingPiecesSet) - piecesCheck.NumUnhealthyRetrievable
```

This works only if OutOfPlacementPieceSet doesn't contain the offline nodes (which are already included in MissingPieceSet).

But `result.OutOfPlacementPieces.Set` should include all the nodes (even offline), as in case of lucky conditions, we are able to remove those pieces from DB.

The solution is to remove all offline nodes from `NumUnhealthyRetrievable`.

Change-Id: I90baa0396352dd040e1e1516314b3271f8712034
2023-08-16 17:35:10 +00:00
..
ec.go satellite/repair/repairer: make DialTimeout configurable 2023-06-16 12:23:25 +00:00
repairer.go satellite/repair: enable declumping by default 2023-07-17 15:02:35 +00:00
segments_test.go satellite/{repair,rangedloop,overlay}: fix node tag placement selection for repair 2023-08-16 15:45:41 +00:00
segments_unit_test.go satellite/repair: piecescheck.OutOfPlacementPiecesSet should not contain offline nodes 2023-08-16 17:35:10 +00:00
segments.go satellite/repair: piecescheck.OutOfPlacementPiecesSet should not contain offline nodes 2023-08-16 17:35:10 +00:00
stats.go satellite/repair/repairer: a new set of rs_scheme tagged metrics 2021-02-09 14:19:22 +00:00