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
storage: Fix big layer uploads for Ceph/RADOS driver (PROJQUAY-6586) #2601
Conversation
Current uploads of large images usually fail on Ceph/RADOS compatible implementations (including Noobaa) because during the last assembly, copy is done all at once. For large layers, this takes a long while and Boto times out. With this patch, we limit the size of the used chunk to 32 MB so the final copy is done in parts of up to 32 MB each. The size can be overridden by specifying the parameter `maximum_chunk_size_mb` in the driver settings, for example: ~~~ DISTRIBUTED_STORAGE_CONFIG: default: - RadosGWStorage - ... maximum_chunk_size_mb: 100 ~~~
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## master #2601 +/- ##
==========================================
+ Coverage 70.59% 70.67% +0.08%
==========================================
Files 434 435 +1
Lines 39856 40091 +235
Branches 5166 5212 +46
==========================================
+ Hits 28135 28336 +201
- Misses 10102 10105 +3
- Partials 1619 1650 +31
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
For backward compatibility, a new parameter has been added to the a) if Example configuration:
If |
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.
LGTM
Current uploads of large images usually fail on Ceph/RADOS compatible implementations (including Noobaa) because during the last assembly, copy is done all at once. For large layers, this takes a long while and Boto times out. With this patch, we limit the size of the used chunk to 32 MB so the final copy is done in parts of up to 32 MB each. The size can be overridden by specifying the parameter
maximum_chunk_size_mb
in the driver settings, for example: