forked from TrueCloudLab/frostfs-node
[#1129] policer: Refactor shortage
Drop override inside method. Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
This commit is contained in:
parent
4ab6c404f7
commit
1cd8562db8
2 changed files with 11 additions and 14 deletions
|
@ -64,7 +64,16 @@ func (p *Policer) processRepContainerObject(ctx context.Context, objInfo objectc
|
|||
default:
|
||||
}
|
||||
|
||||
p.processRepNodes(ctx, c, objInfo, nn[i], policy.ReplicaDescriptor(i).NumberOfObjects(), checkedNodes)
|
||||
shortage := policy.ReplicaDescriptor(i).NumberOfObjects()
|
||||
if objInfo.Type == objectSDK.TypeLock || objInfo.Type == objectSDK.TypeTombstone || objInfo.IsLinkingObject {
|
||||
// all nodes of a container must store the `LOCK`, `TOMBSTONE` and linking objects
|
||||
// for correct object removal protection:
|
||||
// - `LOCK`, `TOMBSTONE` and linking objects are broadcast on their PUT requests;
|
||||
// - `LOCK` object removal is a prohibited action in the GC.
|
||||
shortage = uint32(len(nn[i]))
|
||||
}
|
||||
|
||||
p.processRepNodes(ctx, c, objInfo, nn[i], shortage, checkedNodes)
|
||||
}
|
||||
|
||||
if !c.needLocalCopy && c.removeLocalCopy {
|
||||
|
@ -89,19 +98,9 @@ func (p *Policer) processRepNodes(ctx context.Context, requirements *placementRe
|
|||
nodes []netmap.NodeInfo, shortage uint32, checkedNodes nodeCache,
|
||||
) {
|
||||
addr := objInfo.Address
|
||||
typ := objInfo.Type
|
||||
|
||||
// Number of copies that are stored on maintenance nodes.
|
||||
var uncheckedCopies int
|
||||
|
||||
if typ == objectSDK.TypeLock || typ == objectSDK.TypeTombstone || objInfo.IsLinkingObject {
|
||||
// all nodes of a container must store the `LOCK`, `TOMBSTONE` and linking objects
|
||||
// for correct object removal protection:
|
||||
// - `LOCK`, `TOMBSTONE` and linking objects are broadcast on their PUT requests;
|
||||
// - `LOCK` object removal is a prohibited action in the GC.
|
||||
shortage = uint32(len(nodes))
|
||||
}
|
||||
|
||||
for i := 0; shortage > 0 && i < len(nodes); i++ {
|
||||
select {
|
||||
case <-ctx.Done():
|
||||
|
|
|
@ -52,9 +52,7 @@ func (p *Policer) processECContainerRepObject(ctx context.Context, objInfo objec
|
|||
default:
|
||||
}
|
||||
|
||||
rd := policy.ReplicaDescriptor(0)
|
||||
// processNodes replaces rd.GetECDataCount() + rd.GetECParityCount() for len(nn[0]) for locks, tomstones and linking objects.
|
||||
p.processRepNodes(ctx, c, objInfo, nn[0], rd.GetECDataCount()+rd.GetECParityCount(), checkedNodes)
|
||||
p.processRepNodes(ctx, c, objInfo, nn[0], uint32(len(nn[0])), checkedNodes)
|
||||
|
||||
if !c.needLocalCopy && c.removeLocalCopy {
|
||||
p.log.Info(logs.PolicerRedundantLocalObjectCopyDetected,
|
||||
|
|
Loading…
Reference in a new issue