feat(core)!: implement write returns metadata#5562
Conversation
8591861 to
5c98d37
Compare
Well, well, well... Let's do our best to permit this since it's not harmful. Technically, we don't allow users to parse the ETag value; instead, they should store it and compare it with values from the same source. I'm guessing the issue lies in part of our code assuming that the ETag must contain |
No. The issue is that I compare the Etag from |
That's really surprising. Let's disable the Ceph RADOS test and create an issue to track it. I believe such a bug isn't worth our workaround. |
The results are the same across Ceph RADOS, Minio and S3 |
81aeb13 to
ddc3de5
Compare
I still created a workaround by adding prefix and suffix " for Etag in the test if they are not included. I think this approach is simpler, what do you think ? |
|
Perhaps we should introduce |
Would
if a service returns
Make sense ! Making it explicit is better. |
Wow, they've already had a PR for this issue: ceph/ceph#60477 |
|
Gently push. Hi, @Xuanwo I've provided some replies, do you have any suggestions ? |
I prefer to align with exists
That's nice, maybe we can disable ceph test for now... |
ddc3de5 to
a1e0b0a
Compare
|
Hi, @Xuanwo Would you mind taking some time to review this PR at your convenience? since it involves a lot of files, it may become difficult to merge if it takes too long. |
1773dd4 to
ffcecb4
Compare
Xuanwo
left a comment
There was a problem hiding this comment.
Mostly LGTM! Only some small polishment changes to do.
…e_returns_metadata logic for fs
…nderlying services don't return content_length
dae34cb to
742c1e7
Compare
Xuanwo
left a comment
There was a problem hiding this comment.
Thank you @meteorgan for this great work!
Xuanwo
left a comment
There was a problem hiding this comment.
Thank you @meteorgan for this great work!


Which issue does this PR close?
Part of #5557
Rationale for this change
What changes are included in this PR?
write returns metadataforOperatorandBlockingOperatorwrite_has_content_lengthfor all services and implement the logic for themwrite returns metadatalogic for serviceS3,fs,monoiofs,hdfsandwebhdfsMetadataafter writingAre there any user-facing changes?
Yes.
write,write_withinOperatorreturnsResult<Metadata>instead ofReturn<()>Writer.close()returnsReturn<Metadata>instead ofReturn<()>writeinBlockingOperatorreturnsReturn<Metadata>instead ofReturn<()>FunctionWrite.call()used byBlockingOperatorreturnsReturn<Metadata>instead ofReturn<()>