Commit Graph

37 Commits

Author SHA1 Message Date
zhumingze
b74b3fa74e fix(objectnode): fix incorrect statusCode when creating volume in objectnode. #1000146602
Signed-off-by: zhumingze <zhumingze@oppo.com>
2025-08-08 14:59:30 +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
tangdeyi
9388fc02b3 feat(objectnode): disable createBucket by s3
Signed-off-by: tangdeyi <tangdeyi@oppo.com>
2023-12-06 14:10:49 +08:00
yhjiango
f1cfca0be5 fix(object): partNumber of multipart must be greater than 0
Signed-off-by: yhjiango <jiangyunhua@oppo.com>
2023-11-15 15:18:47 +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
2493347023 enhance(object): remove '\n' of error response body to avoid line wrap in auditlog
Signed-off-by: yhjiango <jiangyunhua@oppo.com>
2023-11-09 11:34:08 +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
14f0f67c73 feat(objnode): s3 api qos
Signed-off-by: tangdeyi <tangdeyi@oppo.com>
2023-08-31 16:36:14 +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
zhaochenyang
a6d125f5ce feat(lcnode/master): lcnode support bucket lifecycle and vol snapshot delete
Signed-off-by: zhaochenyang <zhaochenyang@oppo.com>
2023-08-30 20:05:32 +08:00
Patrick Wu
29e3110a93 S3 lifecycle
Signed-off-by: Patrick Wu <wuchunhuan@gmail.com>
2023-08-30 20:05:32 +08:00
tangdeyi
50fc530c80 fix(objnode): file delete lock
Signed-off-by: tangdeyi <tangdeyi@oppo.com>
2023-08-11 16:39:13 +08:00
tangdeyi
9184d6fcd3 perf(objectnode): improve metadata operation performance
Signed-off-by: tangdeyi <deyitang94@gmail.com>
2023-07-20 10:58:50 +08:00
yhjiango
1434374d51 fix(metanode): The same partInode must not be overwritten
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
c8bf55ae69 S3 bugfix
Signed-off-by: Patrick Wu <wuchunhuan@oppo.com>
2023-03-04 16:13:35 +08:00
leonrayang
9a30b9f884 update: update to CubeFS
Signed-off-by: leonrayang <chl696@sina.com>
2022-08-22 18:16:09 +08:00
yuboLee
12b9f5385f Enhancement: add ump monitor log
Signed-off-by: yuboLee <pangbolee@gmail.com>
2020-07-22 10:36:09 +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
yuboLee
8152e7690c Enhancement: Add exception request monitor via status code, such as 400, 403 and 500
Signed-off-by: yuboLee <pangbolee@gmail.com>
2020-06-12 14:20:58 +08:00
yuboLee
fcc3fadc80
Merge branch 'master' into fix_list_multiuploads 2020-06-02 08:53:16 +08:00
yuboLee
41ae6707a5 Fix: fix the bug of listing multipart uploads, and add check for request part info
Enhancement: add test case for listMultipartUploads and copyObject

Signed-off-by: yuboLee <pangbolee@gmail.com>
2020-06-01 17:56:15 +08:00
wenjia322
5b587bf0ce enhancement: add 'Expires' and 'Cache-Control' when putObject/copyObject/getObject/headObject
Signed-off-by: wenjia322 <buaa1214wwj@126.com>
2020-05-29 10:57:13 +08:00
Mofei Zhang
df4b7f9a42
Fix: parallel-safe issue in conn pool and metanode conn serve
1. Fix: parallel-safe issue in conn pool and metanode conn serve
2. Fix: nil pointer issue when list parts for non-exist uploadId
3. Enhancement: validate read size while read from connnect.
4. Enhancement: clean up useless data on failure while upload part.
5. Enhancement: generate ETag if do not exist when listing.
6. Enhancement: include error message when formatting packet to string.
7. Enhancement: improve compatile with old version SDK.
8. Enhancement:  success when retry add exist multipart part.

Signed-off-by: Mofei Zhang <mofei2816@gmail.com>
Signed-off-by: 张墨飞 <zhangmofei@jd.com>
2020-05-21 12:28:18 +08:00
yuboLee
b74bf88b2f Fix: rewrite copy object function
Signed-off-by: yuboLee <pangbolee@gmail.com>
2020-05-19 11:19:02 +08:00
Mofei Zhang
323e529ee0
Enhancement: make ETag versioned
When ETag is stored, it is versioned by encoding, which can make
the file system interface and object storage interface more closely
integrated.

Referring to the Amazon AWS S3 Developer Guide:
"Amazon S3 response includes an ETag that uniquely identifies the
combined object data. This ETag will not necessarily be an MD5 hash
of the object data."

When a new object is written to ChubaoFS through the object storage
interface, ChubaoFS calculates the ETag value for it, and uses the
modification time of the object as its version information when
encoding and storing.

If this file is modified by the file system interface, the ETag of
this file will be invalid because the version information will be
inconsistent with modification time.

After the object storage interface finds that the ETag is invalid,
it will automatically generate a new ETag matching its modification
time.

Signed-off-by: Mofei Zhang <mofei2816@gmail.com>
2020-05-05 12:56:00 +08:00
Mofei Zhang
7a57837f74
Fix: third-party license information
Adjust the format of the license header information of the third-party
code used to make the format more compliant. The NOTICE file supplements
the third-party code NOTIC information and explains the use of the code.

Signed-off-by: Mofei Zhang <mofei2816@gmail.com>
2020-04-14 19:29:39 +08:00
yuboLee
c28e4a8b0c Enhancement: add conditional parameter support
Implemented the following conditional parameters in the GetObject
and HeadObject interfaces:
- If-Match
- If-Modified-Since
- If-None-Match
- If-Unmodified-Since

Signed-off-by: yuboLee <pangbolee@gmail.com>
2020-04-10 15:17:49 +08:00
Mofei Zhang
509d96c3d1
Enhancement: folder operations in S3 APIs
Supports folder operations in the same way as Amazon AWS S3.
  - Get folder meta info by HeadObject interface.
  - Create folder when header specifies Content-Type as
    application/directory and Content-Length as 0 on PutObject interface.
  - Delete an empty folder by DeleteObject interface.
  - The GetObject interface responds normally when the target is an
    existing directory.
  - Differentiate folders and files on the ListObject interface through the
    CommonPrefix property (already supported).

Following object storage interface haven been implemented folder operations:
  - HeadObject
  - GetObject
  - DeleteObject
  - DeleteObjects
  - ListObjects
  - ListObjectsV2

Signed-off-by: Mofei Zhang <mofei2816@gmail.com>
2020-03-30 17:01:45 +08:00
Mervin
40d01f0661
Enhancement: support dot character in volume name
Signed-off-by: Mervin <mofei2816@gmail.com>
2020-03-10 20:33:14 +08:00
Mofei Zhang
4979d728b2 Add: configuration for signature ignore actions
Signed-off-by: Mofei Zhang <mofei2816@gmail.com>
2020-02-26 00:00:32 +08:00
wenjia322
2eb8e841de feature: add api ListBucket
Signed-off-by: wenjia322 <buaa1214wwj@126.com>
2020-01-14 15:54:16 +08:00
Mofei Zhang
d609fedb5c feature: object storage interface
Add ObjectNode provides S3-compatibile APIs.
Fusion Storage interface expose two interface (POSIX and S3-compatible) for file operation.

Signed-off-by: Mofei Zhang <mofei2816@gmail.com>
2019-12-17 17:36:53 +08:00