Comments (8)
Hi @rkomandu
Right, cosbench is using put object, not multi part upload (intel-cloud/cosbench#138).
awscli does use multipart above an object size threshold that can be configured.
The size of each part in a multipart upload is 8M by default but can also be configured - see multipart_chunksize.
I know that some clients will be easily configured to overcome this issue in the meanwhile, such as awscli that exposes many options to the user, but other applications that use s3 as a client could be less accessible to configure these settings and therefore will have to use multipart, which could hit this issue during the final complete-multipart-upload request. In that case, we can try to configure the timeout to allow the server to complete the parts copy on time.
Does this clarifies a bit more?
from noobaa-core.
What's the timeline for this fixes?
This problem is critical for the client B4RESTORE .
We need a timeline when the fix can be expected that I can communicate to the client.
from noobaa-core.
@cxhong I don't know, it requires initial effort to implement the suggestion, but then also the question is if there is a path to backport this code, because this will not be a small fix. FYI @nimrod-becker.
For an immediate workaround, we better explore disabling multiparts in the client configuration (for example see aws cli multipart_threshold config option that can be used to increase the size threshold), or alternatively try to keep the multipart but increase the timeout (for example in aws cli there is the --cli-read-timeout flag).
from noobaa-core.
Thanks @guymguym , let me update to customer
from noobaa-core.
@guymguym the current chunks is 8M correct or this is configured differently ? also it is less if we have 8G file to have too much time and deleting this in the .nsfs directory of the directory?
I am trying to run 20GB file via cosbench hence asking (Fyre cluster though), what is the definition of large file here is 8GB ?
from noobaa-core.
Every client application is performing this thing of upload and S3 cli did it with 8M chunks, whereas cosbench or any other application will do on its own the chunk size as it looks like.
-- s3 client (showed to @romayalon in the interlock call)
when a 2M file is uploaded then there is no multi-part upload directory in the .noobaa-nsfs
when a 20G file is uploaded then there is multi-part upload directory in the .noobaa-nfs
-- Running via cosbench the directory created is upload in the .noobaa-nsfs and not multi-part upload for obj sizes of 2GB or 4GB or 8GB. This indicates that the upload depends on the client.
Is my understanding correct w/r/t application level chunks (not shown) and upload directory is created and not a multi-part ?
from noobaa-core.
@guymguym feedback from customer:
We have tested uploading without multipart several times and that seems to fix the issue.. but as we rely on applications to handle the data streams towards our S3 API we can not always disable it as it is an inbuilt feature of the products.
AWS cli we only use for manual labor which is less than 1% of the work...
if you need me to run these test for internal value i will happily do it but it does not solve anything for us to use these parameters as a workaround seen as we do not use AWS cli.
let me know if its meant as a workaround or for further information for development.
they are asking if there is any workaround that can be implemented or when will a fix be available? @nimrod-becker
from noobaa-core.
@guymguym and @nimrod-becker , any timeline? customer is waiting and like to know when this fixes will be available.
from noobaa-core.
Related Issues (20)
- Put of a small object(1KB) by `s3cat --size` does not stop
- [GAP]: Read from pre-existing file handler in `_read_block`
- `npm run pkg` command failed due to an AssertionError
- Put Bucket Versioning Error Using NooBaa Endpoint Is Different than AWS
- s3cat incorrectly changes file size when object name is `--` HOT 1
- Delete Objects Reply of Same Key Objects Using Noobaa Endpoint Is Different than AWS
- Azure NS: We don't support MD5 calculation correct in multipart upload
- Run storage agent on local volume HOT 2
- Improve versions_dir_cache for NSFS
- Delete Objects Reply of Azure Using S3 Is Different than AWS
- S3 delete object should always return success even if not exists HOT 7
- Delete Object Version ID Should Be Allowed Only by Bucket Owner
- GAP | NSFS | Versioning | List Object Version - Always Returns `IsLatest` true HOT 1
- Namespace Monitor of Noobaa as S3-Compatible Namespace Resource Sends Wrong Error
- NSFS | TypeError [ERR_INVALID_CHAR]: Invalid character in header content ["x-amz-meta-security.selinux"] HOT 1
- Intermittent restart of Noobaa-db pod observed. HOT 4
- When uploading file of 10GB, there is difference between the size of file uploaded and size returned in DasS3Proxy.log HOT 1
- NSFS update content-type from cyberduck fails HOT 3
- NSFS should return content-type application/x-directory for dirs HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from noobaa-core.