-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
MultipartUpload for uploading chunks to s3 may break other object store implementations #39088
Comments
Please update your comment to use our usual template for bug reports: https://github.com/nextcloud/server/issues/new?assignees=&labels=bug%2C0.+Needs+triage&projects=&template=BUG_REPORT.yml&title=%5BBug%5D%3A+ Also provide more details about your StorJ setup. The error is emitted here: server/lib/private/Files/ObjectStore/ObjectStoreStorage.php Lines 660 to 662 in 83eb6c3
That means, the provided object store instance does not implement the given interface. But our default object store backend for s3 does implement it, and therefore we need to know which object store you are using? |
I am using the native StorJ app in the store. Currently not able to link it here from mobile. The issue doesn't happen in Nextcloud 25 and it does happen in Nextcloud 26 just in the web interface. I am using the object store from its extension. Related to the issue, I created it using the GitHub feature of creating an issue quoting other directly which didn't show me the default template. I already reported the issue time before in another issue but it seems that got hidden because the original author had an issue with their web server config and was determined to not be the same. |
I already filled it. |
https://apps.nextcloud.com/apps/storj is not released for Nextcloud 26. Please append the configuration report (don't forget to remove sensitive data). |
ObjectStoreStorage implements IChunkedFileWrite and therefore provides startChunkedWrite, putChunkedWritePart, completeChunkedWrite and cancelChunkedWrite. But ObjectStoreStorage checks, if the concrect object store backend (Azure, S3 or Swift) implements IObjectStoreMultiPartUpload, which is only the case for S3. Isn't there something missing to route requests to the default chunking plugin if IObjectStoreMultiPartUpload is not implemented? |
I understand the implications but two things first:
Given the first implication, I thought that the second was not something to be taken into account since StorJ (based on what I expected) should not be dependent on client support. If a client change is causing the issue and this affects the way files in background are uploaded, why is a plugin issue? That was my first motivation to make the report. I apologize for the initial format and not re-checking the template. I tried to provide what I considered basic information (and failed on it). If there is a scope issue of what should be from app upstream development and what Nextcloud upstream development, I would like to know as it is not very clear for me. |
Don't worry ;) Thank you for your bug report. We have the required information now. The main point for reporting a bug is to provide a clear path how to reproduce a problem. This might be a stack trace (the best option when available) or a description. For UI bugs, screenshots are often helpful. The template is there to make it easier. Too bad it won't work in "Reference in new issue". |
BTW, I forgot to mention that the error is not showed in screen to the user end in the web client. Just nothing happens. I found the error while digging the error in real time and checking the log. I remember seeing a web console error but could not reproduce it last time. |
@EchedeyLR mind to try the patch? |
As far as I can see, this only adds a check to throw a previous exception to the error I have (I mean, is a previous part of the code) (I would change the message or would integrate it with the previous statement creating a more complex one in the official code). Would this fallback to the default chunked mode or how? |
That's the plan, please let me know if it works for your setup as well. |
@kesselb it is working as far as I could test. Upload is now allowed from the web client. Let me see it it finishes properly to confirm that there is nothing wrong. |
The patch seems reasonable. @kesselb Would you be up for opening a PR once confirmed? |
Hello, I'm facing the issue on Swift Object Storage. I'm trying to a upload a 530Mo ISO image from my web browser. Let me know if you want more details occ config:list system
Logging
php-fpm log
|
Any updates on this issue with Swift object store ? |
Fixed in: Nextcloud 27.0.2 |
Bug description
Currently, it is not possible to upload large files through the web interface (more than 10 MiB) using the web client starting by Nextcloud 26.
Other clients work. Everything works in Nextcloud 25.
An error is showed as the ObjectStore not supporting MultiPartUploads.
Steps to reproduce
Expected behavior
Being able to upload big files.
Installation method
Community Manual installation with Archive
Nextcloud Server version
26
Operating system
Debian/Ubuntu
PHP engine version
PHP 8.1
Web server
Apache (supported)
Database engine version
MariaDB
Is this bug present after an update or on a fresh install?
Fresh Nextcloud Server install
Are you using the Nextcloud Server Encryption module?
Encryption is Disabled
What user-backends are you using?
Configuration report
No response
List of activated Apps
No response
Nextcloud Signing status
Nextcloud Logs
No response
Additional info
PR: #27034
The text was updated successfully, but these errors were encountered: