Closed bluesky-ca closed 2 years ago
I have done more testing, and looks to me like the problem is with the files_external app for webdav/Nextcloud connections . I will look some more to understand the issue - here is the log in case somebody spots something interesting - for now I will keep the issue open until further confirmation. The log is from trying to upload the file from my desktop, to local nextcloud that mounts the remote nextcloud using different methods - see the original post for all the methods. If I upload the file directly to the remote site, it works fine, but uploading to anything mounted using http protocol seems to have an issue.
[PHP] Error: Error: Cannot modify header information - headers already sent by (output started at /var/nextcloud/3rdparty/sabre/http/lib/Sapi.php:132) at /var/nextcloud/apps/dav/lib/Connector/Sabre/File.php#691 at <
PUT /remote.php/webdav/Storage/Nextcloud/junk2.gz
I have satisfied myself that the issue is in another part of NC - when I upload small files, I can uncompress them on webdav or Nextcloud mounted shares - my original test file was 98MB and somehow something is coming into play - since I can upload the file fine to either Nextcloud site directly it should not be upload limits - I am using php-fpm on my local site ( the one that does the remote mount ) and regular php on the target system ( the one that exports its local disk as Webdav or Nextcloud ).
I tried to extract the same file in 5 locations
If indeed it is not possible to extract files on some External Mounts like S3 Webdav, etc it would be good to do a check ( if the API allows for that ) and return an error to the user - even better the ... context menu for the archive should not show 'Extract Here' option if the file system is not supported or should give the user an option to place the files in another location - this would be good, as it would work with R/O mounted file systems.
Unrelated to this problem I have been doing performance benchmarks on NC external file systems, and just looking at the depth of the call stack tells us why some of the External Mounts are as slow as they are - again nothing to do with this app, and thanks to Paul for creating and maintaining it !!!
For those interested to copy the same file using fuse.sshfs took 7 sec. vs 35 sec. for sftp which in theory is the same protocol - of course one uses a binary (fuse.sshfs) the other PHP library to access the files. Pure scp took 5.679 sec.
System details: NC v21.0.4 php 7.3.29 Apache 2.4 CentOS 7
[no app in context] Warning: GuzzleHttp\Exception\ConnectException: cURL error 28: Operation timed out after 30000 milliseconds with 0 out of -1 bytes received (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://host.example.com/remote.php/webdav/junk2/junk2 at <>
POST /index.php/apps/extract/ajax/extract.php