Override SuccessAfter for non-regular objects in EC containers #1303
Labels
No labels
P0
P1
P2
P3
badger
frostfs-adm
frostfs-cli
frostfs-ir
frostfs-lens
frostfs-node
good first issue
triage
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
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: TrueCloudLab/frostfs-node#1303
Loading…
Reference in a new issue
No description provided.
Delete branch "dstepanov-yadro/frostfs-node:fix/ec_put_linking"
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?
For linking objects, tombstones or locks it is required to save only
parity + 1
replicas, but notdata + parity
.5da2dbfe14
toc985b1198f
@ -230,2 +231,4 @@
result.placementOptions = append(result.placementOptions, placement.WithCopyNumbers(copiesNumber))
}
if container.IsECContainer(cnrInfo.Value) && !object.IsECSupported(obj) && !localOnly {
result.placementOptions = append(result.placementOptions, placement.SuccessAfter(uint32(policy.ECParityCount(cnrInfo.Value.PlacementPolicy())+1)))
Why wasn't this option needed for non-ec containers?
For non-EC containers it works by default:
REP 2 SELECT 4
means that non-regular object will be saved to at least 2 nodes.I mean don't we need
SuccessAfter
too?No. For REP containers SuccessAfter equals REP value. But for EC containers SuccessAfter equals
Data+Parity
by default.