New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
oracleobjectstorage: Use ChunkWriter Interfaces #7240
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a couple of quick comments inline.
Can you rebase on the multithread2
branch please?
I had to change the ChunkWriter
interface - it needed a ctx parameter on WriteChunk otherwise we can't cancel pending uploads properly.
I fixed the bug in multithread
too but in a different way so you won't need the fs/operations/multithread.go
fix.
Once you've rebased I'll give it a more thorough review.
Thank you.
6a3edc5
to
fb3de81
Compare
fb3de81
to
56d2cc4
Compare
@ncw rebased with multithread2 branch. please review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks very nice :-)
I put 2 minor points inline.
Do the integration tests all pass still?
Thank you :-)
56d2cc4
to
c6929e9
Compare
@ncw many tests are failing with
|
found the problem fixed it, I had to return |
Let me know when you want me to take another look :-) |
c6929e9
to
faf1a2b
Compare
@ncw please review again. all tests have passed. I have ignored a test case of uploading a stream of 0 length (i guess we are unable to determine its size prior to reading the stream) that results in multipart upload which doesn't accept empty list of parts to commit. A fix will be to fall back to PutObject for such empty stream later. Ok for now as I have seen it fail in TestS3 compatible way as well. Some other s3 providers have it in exception too. |
faf1a2b
to
d9afac9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you this looks great now.
Don't worry about the 0 byte putstream this will never happen in practice as rclone buffers streams less than --streaming-upload-cutoff
in memory and uploads then normally.
I'll merge this onto the multithread2 branch now and I'll merge that branch to master very soon.
Thank you :-)
I've merged this to master now - thank you :-) |
What is the purpose of this change?
Use the new ChunkWriter interfaces for multi part uploads introduced in #7154
Was the change discussed in an issue or in the forum before?
Yes, in #7154 and in #7056
Checklist