Roman Loginov
6f9ee3da76
All checks were successful
/ Vulncheck (pull_request) Successful in 1m13s
/ DCO (pull_request) Successful in 1m43s
/ Builds (1.20) (pull_request) Successful in 2m49s
/ Builds (1.21) (pull_request) Successful in 1m36s
/ Lint (pull_request) Successful in 3m33s
/ Tests (1.20) (pull_request) Successful in 2m34s
/ Tests (1.21) (pull_request) Successful in 2m29s
In order not to accidentally take outdated information about downloaded parts from other nodes, now when the multipart is abort or complete, the root node of the multipart upload with the finish flag remains in the tree. Signed-off-by: Roman Loginov <r.loginov@yadro.com>
6.5 KiB
6.5 KiB
Changelog
This document outlines major changes between releases.
Unreleased
Fixed
- Fix marshaling errors in
DeleteObjects
method (#222) - Fix status code in GET/HEAD delete marker (#226)
- Fix
NextVersionIDMarker
inlist-object-versions
(#248)
Added
- Add new
frostfs.buffer_max_size_for_put
config param and sync TZ hash for PUT operations (#197) - Add
X-Amz-Version-Id
header after complete multipart upload (#227) - Add handling of
X-Amz-Copy-Source-Server-Side-Encryption-Customer-*
headers during copy (#217) - Add new
logger.destination
config param (#236) - Add
X-Amz-Content-Sha256
header validation (#218) - Support frostfsid contract. See
frostfsid
config section (#260) - Support per namespace placement policies configuration (see
namespaces.config
config param) (#266) - Support control api to manage policies. See
control
config section (#258) - Add
namespace
label to billing metrics (#271) - Support policy-engine (#257)
- Support
policy
contract (#259) - Support
proxy
contract (#287)
Changed
- Generalise config param
use_default_xmlns_for_complete_multipart
touse_default_xmlns
so that use default xmlns for all requests (#221) - Set server IdleTimeout and ReadHeaderTimeout to
30s
and allow to configure them (#220) - Return
ETag
value in quotes (#219) - Use tombstone when delete multipart upload (#275)
Removed
- Drop sending whitespace characters during complete multipart upload and related config param
kludge.complete_multipart_keepalive
(#227)
0.28.0 - Academy of Sciences - 2023-12-07
Fixed
- Handle negative
Content-Length
on put (#125) - Use
DisableURIPathEscaping
to presign urls (#125) - Use specific s3 errors instead of
InternalError
where possible (#143) grpc
schemas in tree configuration (#166)- Return appropriate 404 code when object missed in storage but there is in gate cache (#158)
- Replace part on re-upload when use multipart upload (#176)
- Fix goroutine leak on put object error (#178)
- Fix parsing signed headers in presigned urls (#182)
- Fix url escaping (#188)
- Use correct keys in
list-multipart-uploads
response (#185) - Fix parsing
key-marker
for object list versions (#237) GetSubTree
failures (#179)- Unexpected EOF during multipart download (#210)
- Produce clean version in debian build (#245)
Added
- Add
trace_id
value into log record when tracing is enabled (#142) - Add basic error types and exit codes to
frostfs-s3-authmate
(#152) - Add a metric with addresses of nodes of the same and highest priority that are currently healthy (#186)
- Support dump metrics descriptions (#80)
- Add
copies_numbers
section toplacement_policy
in config file and support vectors of copies numbers (#70, #101) - Support impersonate bearer token (#81, #105)
- Reload default and custom copies numbers on SIGHUP (#104)
- Tracing support (#84, #140)
- Return bearer token in
s3-authmate obtain-secret
result (#132) - Support multiple version credentials using GSet (#135)
- Implement chunk uploading (#106)
- Add new
kludge.bypass_content_encoding_check_in_chunks
config param (#146) - Add new
frostfs.client_cut
config param (#192) - Add selection of the node of the latest version of the object (#231)
- Soft memory limit with
runtime.soft_memory_limit
(#196) server_health
metric for every S3 endpoint status (#199)
Changed
- Update prometheus to v1.15.0 (#94)
- Update go version to go1.19 (#118)
- Remove object from tree and reset its cache on object deletion when it is already removed from storage (#78)
- Finish rebranding (#2)
- Timeout errors has code 504 now (#103)
- Use request scope logger (#111)
- Add
s3-authmate update-secret
command (#131) - Use default registerer for app metrics (#155)
- Use chi router instead of archived gorlilla/mux (#149, #174, #188)
- Complete multipart upload doesn't unnecessary copy now. Thus, the total time of multipart upload was reduced by 2 times (#63)
- Use gate key to form object owner (#175)
- Apply placement policies and copies if there is at least one valid value (#168)
statistic_tx_bytes_total
andstatistic_rx_bytes_total
metric tostatistic_bytes_total
metric withdirection
label (#153)- Refactor of context-stored data receivers (#137)
- Refactor fetch/parse config parameters functions (#117)
- Move all log messages to constants (#96)
- Allow zero value of
part-number-marker
(#207) - Clean tag node in the tree service instead of removal (#233)
Removed
- Drop
tree.service
param (now endpoints frompeers
section are used) (#133)
0.27.0 - Karpinsky - 2023-07-12
This is a first FrostFS S3 Gateway release named after Karpinsky glacier.
Fixed
- Using multiple servers require only one healthy (#12)
- Renew token before it expires (#20)
- Add generated deb builder files to .gitignore, and fix typo (#28)
- Get empty bucket CORS from frostfs (#36)
- Don't count pool error on client abort (#35)
- Handle request cancelling (#69)
- Clean up List and Name caches when object is missing in Tree service (#57)
- Don't create unnecessary delete-markers (#83)
Too many pings
error (#145)
Added
- Billing metrics (#5, #26, #29)
- Return container name in
head-bucket
response (#18) - Multiple configs support (#21)
- Bucket name resolving policy (#25)
- Support string
Action
andResource
fields inbucketPolicy.Statement
(#32) - Add new
kludge.use_default_xmlns_for_complete_multipart
config param (#40) - Return
X-Owner-Id
inhead-bucket
response (#79) - Support multiple tree service endpoints (#74, #110, #114)
Changed
- Repository rebranding (#1)
- Update neo-go to v0.101.0 (#14)
- Update viper to v1.15.0 (#14)
- Update go version to go1.18 (#16)
- Return error on invalid LocationConstraint (#23)
- Limit number of objects to delete at one time (#37)
- CompleteMultipartUpload handler now sends whitespace characters to keep alive client's connection (#60)
- Support new system attributes (#64)
- Abstract network communication in TreeClient (#59, #75)
- Changed values for
frostfs_s3_gw_state_health
metric (#91)
Older versions
This project is a fork of NeoFS S3 Gateway from version v0.26.0. To see CHANGELOG for older versions, refer to https://github.com/nspcc-dev/neofs-s3-gw/blob/master/CHANGELOG.md.