Override SuccessAfter for non-regular objects in EC containers #1303

Merged
fyrchik merged 1 commit from dstepanov-yadro/frostfs-node:fix/ec_put_linking into master 2024-08-09 09:01:54 +00:00

For linking objects, tombstones or locks it is required to save only parity + 1 replicas, but not data + parity.

For linking objects, tombstones or locks it is required to save only `parity + 1` replicas, but not `data + parity`.
dstepanov-yadro force-pushed fix/ec_put_linking from 5da2dbfe14 to c985b1198f 2024-08-09 07:43:32 +00:00 Compare
dstepanov-yadro requested review from storage-core-committers 2024-08-09 08:20:13 +00:00
dstepanov-yadro requested review from storage-core-developers 2024-08-09 08:20:22 +00:00
fyrchik reviewed 2024-08-09 08:28:37 +00:00
@ -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)))
Owner

Why wasn't this option needed for non-ec containers?

Why wasn't this option needed for non-ec containers?
Author
Member

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.

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.
Owner

I mean don't we need SuccessAfter too?

I mean don't we need `SuccessAfter` too?
Author
Member

No. For REP containers SuccessAfter equals REP value. But for EC containers SuccessAfter equals Data+Parity by default.

No. For REP containers SuccessAfter equals REP value. But for EC containers SuccessAfter equals `Data+Parity` by default.
fyrchik approved these changes 2024-08-09 08:33:02 +00:00
acid-ant approved these changes 2024-08-09 08:58:07 +00:00
fyrchik merged commit c985b1198f into master 2024-08-09 09:01:54 +00:00
Sign in to join this conversation.
No reviewers
TrueCloudLab/storage-core-developers
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: TrueCloudLab/frostfs-node#1303
No description provided.