You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If a user downloads a large file (let's say, > 10GB) then immediately interrupts the download, Nextcloud will continue to read and send the served file, which causes unnecessary I/O. If the user repeats the action, the server will be overwhelmed and download speed is low due to busy I/O. (Unfortunately, this is common when using Nextcloud dav as the media streaming backend)
After investigation, I found this issue is caused by ignore_user_abort(true) function calls in those files:
After changing to ignore_user_abort(false), this problem will not persist.
But, my assumption is that Nextcloud uses ignore_user_abort(true) to do some cleanups, so naively changing it to false could cause some resource leaks.
Is there any graceful way to solve this?
Steps to reproduce
Download a large file with dav, then immediately interrupt the download.
Check I/O operation on the server
Expected behaviour
Tell us what should happen
The server should stop reading the served file from storage.
Actual behaviour
Tell us what happens instead
The server continue to read the served file from storage.
Server configuration
Operating system:
CentOS 7.6 in container Web server:
apache Database:
postgresql 9.6 PHP version:
7.2 Nextcloud version: (see Nextcloud admin page)
15 Updated from an older Nextcloud/ownCloud or fresh install:
fresh Where did you install Nextcloud from:
nextcloud/docker Signing status:
Signing status
Login as admin user into your Nextcloud and access
http://example.com/index.php/settings/integrity/failed
paste the results here.
List of activated apps:
App list
If you have access to your command line run e.g.:
sudo -u www-data php occ app:list
from within your Nextcloud installation folder
Nextcloud configuration:
Config report
If you have access to your command line run e.g.:
sudo -u www-data php occ config:list system
from within your Nextcloud installation folder
or
Insert your config.php content here.
Make sure to remove all sensitive content such as passwords. (e.g. database password, passwordsalt, secret, smtp password, …)
Are you using external storage, if yes which one: local/smb/sftp/...
Are you using encryption: yes/no
Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/...
LDAP configuration (delete this part if not used)
LDAP config
With access to your command line run e.g.:
sudo -u www-data php occ ldap:show-config
from within your Nextcloud installation folder
Without access to your command line download the data/owncloud.db to your local
computer or access your SQL server remotely and run the select query:
SELECT * FROM `oc_appconfig` WHERE `appid` = 'user_ldap';
Eventually replace sensitive data as the name/IP-address of your LDAP server or groups.
Client configuration
Browser:
Operating system:
Logs
Web server error log
Web server error log
Insert your webserver log here
Nextcloud log (data/nextcloud.log)
Nextcloud log
Insert your Nextcloud log here
Browser log
Browser log
Insert your browser log here, this could for example include:
a) The javascript console log
b) The network log
c) ...
The text was updated successfully, but these errors were encountered:
#interrupteddown
As the version of the software you've reported this for has reached end of life, I will close this ticket. If this is still happening after an upgrade to the latest version, feel free to reopen
If a user downloads a large file (let's say, > 10GB) then immediately interrupts the download, Nextcloud will continue to read and send the served file, which causes unnecessary I/O. If the user repeats the action, the server will be overwhelmed and download speed is low due to busy I/O. (Unfortunately, this is common when using Nextcloud dav as the media streaming backend)
After investigation, I found this issue is caused by
ignore_user_abort(true)
function calls in those files:After changing to
ignore_user_abort(false)
, this problem will not persist.But, my assumption is that Nextcloud uses
ignore_user_abort(true)
to do some cleanups, so naively changing it tofalse
could cause some resource leaks.Is there any graceful way to solve this?
Steps to reproduce
Expected behaviour
Tell us what should happen
The server should stop reading the served file from storage.
Actual behaviour
Tell us what happens instead
The server continue to read the served file from storage.
Server configuration
Operating system:
CentOS 7.6 in container
Web server:
apache
Database:
postgresql 9.6
PHP version:
7.2
Nextcloud version: (see Nextcloud admin page)
15
Updated from an older Nextcloud/ownCloud or fresh install:
fresh
Where did you install Nextcloud from:
nextcloud/docker
Signing status:
Signing status
List of activated apps:
App list
Nextcloud configuration:
Config report
Are you using external storage, if yes which one: local/smb/sftp/...
Are you using encryption: yes/no
Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/...
LDAP configuration (delete this part if not used)
LDAP config
Client configuration
Browser:
Operating system:
Logs
Web server error log
Web server error log
Nextcloud log (data/nextcloud.log)
Nextcloud log
Browser log
Browser log
The text was updated successfully, but these errors were encountered: