nextcloud / nextcloud/logreader
Display Filtering is very slow and results in extreme CPU usage spikes on server
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 69
- Forks
- 30
- Avg merge
- 10h 28m
- Merged PRs (30d)
- 57
Description
How to use GitHub
- Please use the 👍 reaction to show that you are affected by the same issue.
- Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
- Subscribe to receive notifications on status change and new comments.
Steps to reproduce
- Use Nextcloud 34.0.4
- Go to log reader in admin settings
- Set "Filter logging levels" to only display warning, error, fatal (backend log is set to the same settings by default)
- refresh the reader
- loads for more than 10 seconds
When the filtering is applied after initial load (without any filtering) the filtering happens instantly.
Before we used Nextcloud 32.0.8 - the problem did not exist there.
Expected behaviour
- Logs typically load within one second
- No notable CPU spike
- Logs refresh automatically
Actual behaviour
- Logs take upwards of 10 seconds to load
- Extreme CPU usage (in kubernetes from 0.1 CPU to 3.0 CPU)
- The automatic refresh does not work anymore
Server configuration
Web server: Apache
Database: PostgreSQL
PHP version: 8.4
Nextcloud version: 34.0.4
List of activated apps
- activity: 6.0.0
- app_api: 33.0.0
- assistant: 3.4.3
- bruteforcesettings: 6.0.0
- calendar: 6.4.2
- circles: 33.0.0
- cloud_federation_api: 1.17.0
- comments: 1.23.0
- contacts: 8.5.1
- contactsinteraction: 1.14.1
- dav: 1.36.0
- deck: 1.17.1
- federatedfilesharing: 1.23.0
- federation: 1.23.0
- files: 2.5.0
- files_downloadlimit: 5.1.0
- files_pdfviewer: 6.0.0
- files_reminders: 1.6.0
- files_sharing: 1.25.2
- files_trashbin: 1.23.0
- files_versions: 1.26.0
- firstrunwizard: 6.0.0
- groupfolders: 21.0.7
- integration_openai: 4.5.1
- logreader: 6.0.0
- lookup_server_connector: 1.21.0
- notes: 5.0.0
- notifications: 6.0.0
- notify_push: 1.3.3
- oauth2: 1.21.0
- password_policy: 5.0.0
- photos: 6.0.0
- polls: 9.1.4
- privacy: 5.0.0
- profile: 1.2.0
- provisioning_api: 1.23.0
- recommendations: 6.0.0
- related_resources: 4.0.0
- richdocuments: 10.1.3
- serverinfo: 5.0.0
- settings: 1.16.0
- sharebymail: 1.23.0
- systemtags: 1.23.0
- tables: 2.1.1
- tasks: 0.17.1
- text: 7.0.1
- theming: 2.8.0
- twofactor_backupcodes: 1.22.0
- twofactor_totp: 15.0.0
- user_oidc: 8.10.1
- viewer: 6.0.0
- webhook_listeners: 1.5.0
- whiteboard: 1.5.9
- workflowengine: 2.15.0
Nextcloud configuration
"system": {
"installed": true,
"instanceid": "REMOVED SENSITIVE VALUE",
"passwordsalt": "REMOVED SENSITIVE VALUE",
"secret": "REMOVED SENSITIVE VALUE",
"dbtype": "pgsql",
"dbhost": "REMOVED SENSITIVE VALUE",
"dbname": "REMOVED SENSITIVE VALUE",
"dbuser": "REMOVED SENSITIVE VALUE",
"dbpassword": "REMOVED SENSITIVE VALUE",
"mysql.utf8mb4": true,
"dbtableprefix": "oc_",
"version": "33.0.4.1",
"trusted_domains": [
"localhost",
"REMOVED SENSITIVE VALUE",
"REMOVED SENSITIVE VALUE"
],
"trashbin_retention_obligation": "7,14",
"htaccess.RewriteBase": "/",
"memcache.local": "\OC\Memcache\APCu",
"apps_paths": [
{
"path": "/var/www/html/apps",
"url": "/apps",
"writable": false
},
{
"path": "/var/www/html/custom_apps",
"url": "/custom_apps",
"writable": true
}
],
"lost_password_link": "disabled",
"allow_user_to_change_display_name": true,
"skeletondirectory": "",
"templatedirectory": "",
"default_language": "de",
"default_locale": "de_DE",
"default_phone_region": "DE",
"default_timezone": "Europe/Berlin",
"maintenance_window_start": 1,
"trusted_proxies": "REMOVED SENSITIVE VALUE",
"overwriteprotocol": "https",
"forwarded_for_headers": [
"HTTP_X_FORWARDED_FOR"
],
"memcache.distributed": "\OC\Memcache\Redis",
"memcache.locking": "\OC\Memcache\Redis",
"redis": {
"host": "REMOVED SENSITIVE VALUE",
"password": "REMOVED SENSITIVE VALUE",
"port": 6379
},
"mail_smtpmode": "smtp",
"mail_smtphost": "REMOVED SENSITIVE VALUE",
"mail_smtpport": "25",
"mail_smtpsecure": "",
"mail_smtpauth": true,
"mail_smtpauthtype": "false",
"mail_smtpname": "REMOVED SENSITIVE VALUE",
"mail_from_address": "REMOVED SENSITIVE VALUE",
"mail_domain": "REMOVED SENSITIVE VALUE",
"mail_smtppassword": "REMOVED SENSITIVE VALUE",
"upgrade.disable-web": true,
"maintenance": false,
"overwrite.cli.url": "REMOVED SENSITIVE VALUE",
"loglevel": "2",
"enable_previews": true,
"allow_local_remote_servers": true,
"files.chunked_upload.max_size": 0,
"appstoreurl": "REMOVED SENSITIVE VALUE",
"forbidden_filename_basenames": [
"con",
"prn",
"aux",
"nul",
"com0",
"com1",
"com2",
"com3",
"com4",
"com5",
"com6",
"com7",
"com8",
"com9",
"com\u00b9",
"com\u00b2",
"com\u00b3",
"lpt0",
"lpt1",
"lpt2",
"lpt3",
"lpt4",
"lpt5",
"lpt6",
"lpt7",
"lpt8",
"lpt9",
"lpt\u00b9",
"lpt\u00b2",
"lpt\u00b3"
],
"forbidden_filename_characters": [
"<",
">",
":",
""",
"|",
"?",
"*",
"\",
"/"
],
"forbidden_filename_extensions": [
" ",
".",
".filepart",
".part"
],
"app_install_overwrite": [],
"twofactor_enforced": "true",
"twofactor_enforced_groups": [
"2faenabled"
],
"twofactor_enforced_excluded_groups": [],
"simpleSignUpLink.shown": false,
"openmetrics_allowed_clients": [
"127.0.0.1",
"10.42.0.0/16",
"10.43.0.0/16"
]
}
Browser
Browser name: Chrome
Browser version: 148
Operating system: -
Browser log
Insert your browser log here, this could for example include:
a) The javascript console log
b) The network log
c) ...
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the log reader's display-filtering flow and reproduce the issue on Nextcloud 34.0.4 using warning, error, and fatal levels. Compare initial filtered loading with filtering after an unfiltered load, and investigate the automatic refresh path. Done means filtered logs load within about one second without a notable CPU spike and automatic refresh works again.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100