Commit Graph

90 Commits

Author SHA1 Message Date
tangdeyi
77979034f5 fix(objectnode): add range get check
with #23042024

Signed-off-by: tangdeyi <tangdeyi@oppo.com>
2025-08-07 16:00:25 +08:00
chihe
347208f189 refactor(clientmetanode): hybrid cloud check inode/vol storage class when checking vol type
Signed-off-by: chihe <chi.he@oppo.com>
2024-12-26 09:24:22 +08:00
slasher
5c7898354f style(all): format all codes with golangci tools
closes #3371

@formatter:off

Signed-off-by: slasher <shenjie1@oppo.com>
2024-05-14 09:54:13 +08:00
yhjiango
611ef3263e fix(object): fix tagging valid verification
Signed-off-by: yhjiango <jiangyunhua@oppo.com>
2024-03-13 15:54:54 +08:00
slasher
1d84f74acd chore(format): format all code with gofumpt
Signed-off-by: slasher <shenjie1@oppo.com>
2024-01-12 14:21:16 +08:00
yhjiango
abdb0f2d9d enhance(object): add time-consuming tracking in object access
Signed-off-by: yhjiango <jiangyunhua@oppo.com>
2023-11-22 15:15:06 +08:00
yhjiango
4860f6de65 fix(object): fixed original errorcode being modified
Signed-off-by: yhjiango <jiangyunhua@oppo.com>
2023-11-09 11:34:08 +08:00
yhjiango
e669e7b42f fix(object): xml tagging data in post object
Signed-off-by: yhjiango <jiangyunhua@oppo.com>
2023-11-09 11:34:08 +08:00
tangdeyi
9b14adf492 fix(object): fix content length limit
Signed-off-by: tangdeyi <tangdeyi@oppo.com>
2023-10-31 19:21:10 +08:00
yhjiango
5f3c8e3a25 fix(objectnode): fix error response with object lock in postobject
Signed-off-by: yhjiango <jiangyunhua@oppo.com>
2023-10-31 18:56:31 +08:00
yhjiango
9eb43bb51c feat(objectnode): support post object
Signed-off-by: yhjiango <jiangyunhua@oppo.com>
2023-10-31 15:25:28 +08:00
yhjiango
26f6923afd feat(objectnode): support post object
Signed-off-by: yhjiango <jiangyunhua@oppo.com>
2023-10-31 11:03:49 +08:00
tangdeyi
831d9103fb fix(objectnode): fix delete object 5xx error
Signed-off-by: tangdeyi <tangdeyi@oppo.com>
2023-10-24 17:44:01 +08:00
tangdeyi
dd46c24873 fix(objectnode): fix read body entirely into memory and without an upper boundary
Signed-off-by: tangdeyi <tangdeyi@oppo.com>
2023-10-20 17:06:26 +08:00
tangdeyi
fcdeaebb69 fix(objectnode): lifecycle skip locked object
Signed-off-by: tangdeyi <tangdeyi@oppo.com>
2023-10-13 15:30:37 +08:00
tangdeyi
b24525a027 fix(objectnode): fix superfluous writeheader
Signed-off-by: tangdeyi <tangdeyi@oppo.com>
2023-08-31 16:36:14 +08:00
tangdeyi
14f0f67c73 feat(objnode): s3 api qos
Signed-off-by: tangdeyi <tangdeyi@oppo.com>
2023-08-31 16:36:14 +08:00
tangdeyi
adb37a02ee fix(objectnode): fix listobjectv1 err with delimiter
Signed-off-by: tangdeyi <tangdeyi@oppo.com>
2023-08-30 20:05:32 +08:00
yhjiango
4401624f96 feat(objectnode): s3 sts and signature auth
1. sts federation token
2. signature auth code refactor

Signed-off-by: yhjiango <jiangyunhua@oppo.com>
2023-08-30 20:05:32 +08:00
tangdeyi
d11e9142a2 feat(objectnode): object lock
Signed-off-by: tangdeyi <tangdeyi@oppo.com>
2023-08-30 20:05:32 +08:00
yhjiango
13dfb462f3 fix(objectnode): save the ACL of the object uploaded by the non-volume owner
Signed-off-by: yhjiango <jiangyunhua@oppo.com>
2023-08-09 14:01:52 +08:00
tangdeyi
7613a0fadb refactor(objectnode): refactor some redundant code
Signed-off-by: tangdeyi <deyitang94@gmail.com>
2023-08-09 14:01:52 +08:00
yhjiango
7339d6a6d7 feat(objectnode): reduce acl meta storage space usage
Signed-off-by: yhjiango <jiangyunhua@oppo.com>
2023-08-09 14:01:52 +08:00
tangdeyi
b036d1fa7c fix(objnode): fix code scan error
Signed-off-by: tangdeyi <tangdeyi@oppo.com>
2023-08-04 18:08:38 +08:00
tangdeyi
7df19f730a fix(objectnode): volume view cache
Signed-off-by: tangdeyi <tangdeyi@oppo.com>
2023-05-18 10:48:57 +08:00
tangdeyi
b27a7c4ba0 fix(objectnode): listobject bugfix
Signed-off-by: tangdeyi <tangdeyi@oppo.com>
2023-05-18 10:48:57 +08:00
yhjiango
2b6b00126a fix(objectnode): error adjustment in complete multipart
Signed-off-by: yhjiango <jiangyunhua@oppo.com>
2023-05-18 10:48:57 +08:00
yhjiango
0a4830dd93 fix(objectnode): fix the list multipart uploads and dir object inaccessible
Signed-off-by: yhjiango <jiangyunhua@oppo.com>
2023-05-18 10:48:57 +08:00
yhjiango
a56250817d fix(objectnode): fix the volume load call and error return
Signed-off-by: yhjiango <jiangyunhua@oppo.com>
2023-05-18 10:48:57 +08:00
tangdeyi
862fde677a fix(objectnode):
1. MultipartUpload with nonexistent uploadId return NoSuchUploadID
2. NoSuchBucket err handle

Signed-off-by: tangdeyi <tangdeyi@oppo.com>
2023-05-18 10:48:57 +08:00
yhjiango
e2112e892a fix(objectnode): fix the copy object
Signed-off-by: yhjiango <jiangyunhua@oppo.com>
2023-05-18 10:48:57 +08:00
yhjiango
e5989dec41 fix(objectnode): fix md5 check failure when uploading keys with all empty characters
Signed-off-by: yhjiango <jiangyunhua@oppo.com>
2023-05-18 10:48:57 +08:00
yhjiango
2011f3d4b1 fix(objectnode): fix the delete objects
Signed-off-by: yhjiango <jiangyunhua@oppo.com>
2023-05-18 10:48:57 +08:00
yhjiango
0affc88413 fix(objectnode): fully compatible with s3
Signed-off-by: yhjiango <jiangyunhua@oppo.com>
2023-05-18 10:48:57 +08:00
tangdeyi
831ea00d5d fix(objectnode): enhance s3 compatibility
1.CORS supports preflight request;
2.S3-compatible err reply;
3.Small parts upload bugfix;
4.Specific status code when panic;
5.UploadPartCopy;

Signed-off-by: tangdeyi <tangdeyi@oppo.com>
2023-05-18 10:48:57 +08:00
tangdeyi
9f0d7810a0 feature: bucket policy fully compatible with s3
Signed-off-by: tangdeyi <tangdeyi@oppo.com>
2023-05-18 10:48:57 +08:00
Patrick Wu
4e61b2801c fix: fix problem when copying object between different buckets
Signed-off-by: Patrick Wu <wuchunhuan@oppo.com>
2023-03-16 19:43:27 +08:00
Patrick Wu
c8bf55ae69 S3 bugfix
Signed-off-by: Patrick Wu <wuchunhuan@oppo.com>
2023-03-04 16:13:35 +08:00
Patrick Wu
6dfb9380c6 add meta cache for objectnode
Signed-off-by: Patrick Wu <wuchunhuan@oppo.com>
2023-03-04 16:13:35 +08:00
Huweicai
d116b7081b fix: header 'x-amz-copy-source' may be url encoded
Signed-off-by: Huweicai <i@huweicai.com>
2022-12-08 10:38:05 +08:00
leonrayang
9a30b9f884 update: update to CubeFS
Signed-off-by: leonrayang <chl696@sina.com>
2022-08-22 18:16:09 +08:00
leonrayang
2970e2c3d1 update. go import path change from chubaofs to cubefs
Signed-off-by: leonrayang <chl696@sina.com>
2022-01-25 18:17:02 +08:00
justice
10ebbd6760 fix: fix objectnode get object range 0-
Signed-off-by: justice <justice_103@126.com>
2022-01-04 11:42:29 +08:00
Shuoran Liu
1cb6e0bbbd fix: s3 get range zero to zero EOF
Signed-off-by: Shuoran Liu <shuoranliu@gmail.com>
2021-12-24 11:37:58 +08:00
Belhorma Bendebiche
972aa4cfcf fix: handle bytes=0- correctly in objectnode
Some clients (e.g. docker registry) send a get to fetch the whole file
by specifying `bytes=0-` as the range. In this case, ChubaoFS will set
the range to 0-0 and the `Content-Length` to 1 (upper - lower + 1). It
will then error out when writing the object, since it will write more
than the specified `Content-Length`.

As a simple fix, we can treat a rangeUpper of 0 the same as max, which
should result in correct behavior.

Signed-off-by: Belhorma Bendebiche <amro@bndb.sh>
2021-12-23 16:43:59 +08:00
zhuzhengyi001
4875a7009a Enhancement: add subdir authorized check for objectnode
Signed-off-by: zhuzhengyi001 <zhuzhengyi001@ke.com>
2021-08-27 19:29:23 +08:00
Mofei Zhang
fb9750c480 Fix: key encoding issue of S3 ListObjects API.
Parse parameter 'encoding-type' from request. It this parameter
specified and match with 'url', then encode content keys by using url
encoding function.

Signed-off-by: Mofei Zhang <mofei2816@gmail.com>
2020-09-27 18:20:27 +08:00
Shuoran Liu
1054c00fd8 feature: introduce subdir permissions
Originally the permission control for users are on volume level. This
commit introduces subdir level permission control.

Signed-off-by: Shuoran Liu <shuoranliu@gmail.com>
2020-08-14 20:48:05 +08:00
Mofei Zhang
dd45cd8ac5
Enhancement: error handling of ObjectNode
- Response Http400 after got unexpected EOF error when reading data from
  request connection.
- Fix ldflag issue from 'cli/build.sh'.
- Do not write failure status code if request connect closed by peer.

Signed-off-by: Mofei Zhang <mofei2816@gmail.com>
2020-08-06 12:12:50 +08:00
yuboLee
ce4f466f0f Fix: some bugs about object tagging and bucket tagging
Signed-off-by: yuboLee <pangbolee@gmail.com>
2020-07-10 12:17:40 +08:00