[#487] Support Range header in object PUT #487
No reviewers
TrueCloudLab/storage-services-committers
TrueCloudLab/storage-services-developers
Labels
No labels
P0
P1
P2
P3
good first issue
Infrastructure
blocked
bug
config
discussion
documentation
duplicate
enhancement
go
help wanted
internal
invalid
kludge
observability
perfomance
question
refactoring
wontfix
No project
No assignees
4 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: TrueCloudLab/frostfs-s3-gw#487
Loading…
Reference in a new issue
No description provided.
Delete branch "mbiryukova/frostfs-s3-gw:feature/put_range"
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?
Signed-off-by: Marina Biryukova m.biryukova@yadro.com
3f1c423844
to5467f44e08
[#xxx] Support Range header in object PUTto [#487] Support Range header in object PUTIt would be nice to check this PR compatibility with Dell ECS. Therefore I put v0.32.0 milestone for this feature.
@ -313,0 +459,4 @@
return nil, overwrite, fmt.Errorf("invalid range: %s", rangeStr)
}
}
I think it would be better to write
if
statement instead ofswitch
, e.g.:5467f44e08
tod6c031ca23
@ -313,0 +400,4 @@
return
}
extendedObjInfo, err := h.obj.PatchObject(ctx, params)
I would try to introduce new method
h.patchObject
that contains common logic forh.putObjectWithRange
andh.PatchObjectHandler
@ -313,0 +448,4 @@
if start == -1 && len(endStr) == 0 {
return &layer.RangeParams{
Start: objSize,
End: objSize + contentLen - 1,
Why do we use contentLen to find out end of range to patch?
@ -21,6 +21,7 @@ type PatchObjectParams struct {
Range *RangeParams
VersioningEnabled bool
CopiesNumbers []uint32
Overwrite bool
Why do we need this field? It seems we can just provide correct
Range
field.View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.