[Bug]: Admin overview itself significantly increases Select_full_join
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 30/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- mariadb, sql
調査の方向性
Start with the schema inspection queries the reporter captured in the slow query log, which join information_schema.TABLES, COLUMNS, key_column_usage and referential_constraints. Reproduce by reading the global Select_full_join counter before and after opening the Administration Overview, then decide how the health check should exclude or account for its own queries. Done means the warning no longer rises from opening the page, and the maintainers agree on the approach, since the issue offers two alternatives.
索引モデルが issue の本文から書いたものです。
説明
⚠️ This issue respects the following points: ⚠️
- This is not a troubleshooting question, general support matter, or webserver/proxy problem, but likely a bug (if unsure, ask the Community Help Forum).
- This issue is not already reported on Github OR solved at the Community Help Forum (I've searched!).
- I'm using a maintained major version of Nextcloud Server and tested against the latest patch level. (Supported major versions and current patch levels).
- I agree to follow Nextcloud's Code of Conduct.
- I've tried my best to provide clear reproduction steps that someone unfamiliar with this bug could use to reproduce it.
Bug description
Admin overview itself significantly increases Select_full_join
Description
The Nextcloud Administration Overview reports:
Joins without indexes
WarningSelect_full_join
Some joins are scanning entire tables because no usable index exists on the join column.
While investigating this warning, I observed that opening the Nextcloud Administration Overview itself significantly increases MariaDB's global Select_full_join counter.
Reproduction
Immediately before opening the Administration Overview:
Select_full_join | 75
After opening the Administration Overview exactly once:
Select_full_join | 87
A single execution of the Administration Overview therefore increased Select_full_join by 12.
Additional investigation
occ db:add-missing-indices completes without reporting or adding any missing Nextcloud indexes.
For further analysis, I temporarily enabled:
slow_query_log = ON
log_queries_not_using_indexes = ON
During a 10-minute test, Select_full_join increased from 47 to 74.
The slow query log contained several schema inspection queries executed by Nextcloud against information_schema, including joins involving:
information_schema.TABLES
information_schema.COLUMNS
information_schema.COLLATION_CHARACTER_SET_APPLICABILITY
information_schema.key_column_usage
information_schema.referential_constraints
Several of these schema inspection queries were executed repeatedly while accessing the Administration Overview.
Impact
On a lightly used Nextcloud instance, the Select_full_join health check appears to influence the metric it evaluates:
- Opening the Administration Overview executes database schema inspection queries.
- These queries appear to increase MariaDB's global
Select_full_joincounter. - The Administration Overview evaluates this global counter.
- The health check itself may therefore contribute to the warning being displayed.
After approximately 47 hours of uptime, my instance showed:
Select_full_join = 47
Questions = 160371
This corresponds to approximately 0.029%.
Opening the Administration Overview once subsequently increased Select_full_join by another 12.
Expected behavior
Queries executed as part of the Administration Overview / health checks should ideally not materially influence the database metric used to determine the health-check result.
Alternatively, the health check could account for its own database inspection queries when evaluating Select_full_join.
Environment
- Nextcloud: 34.0.1
- MariaDB: 11.8.6
- OS: Debian 13 (x86_64)
- Database backend: MariaDB
occ db:add-missing-indices: no missing indexes reported
Steps to reproduce
Expected behavior
Queries executed as part of the Administration Overview / health checks should ideally not materially influence the database metric used to determine the health-check result.
Alternatively, the health check could account for its own database inspection queries when evaluating Select_full_join.
Nextcloud Server version
35
Operating system
Debian/Ubuntu
PHP engine version
PHP 8.5
Web server
Nginx
Database engine version
MariaDB
Is this bug present after an update or on a fresh install?
Upgraded to a MAJOR version (ex. 31 to 32)
Are you using the Nextcloud Server Encryption module?
None
What user-backends are you using?
- Default user-backend (database)
- LDAP/ Active Directory
- SSO - SAML
- Other
Configuration report
List of activated Apps
Nextcloud Signing status
Nextcloud Logs
Additional info
No response
- 主要言語
- JavaScript
- スター
- 133
- フォーク
- 67
- 平均マージ
- 21時間 28分
- マージ済み PR(30日)
- 53
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
nextcloud/serverinfo のほかの issue
-
0. Needs triage bug
難易度 4/5 3〜5日 初心者へのやさしさ 42/100
nextcloud/serverinfo#1266 ·
メンテナーはふだん 1 日以内に返信
-
Database checks: ∞% reported as Failing when counter is zero; no way to acknowledge/mute a checkオープン0. Needs triage bug
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
nextcloud/serverinfo#1231 ·
メンテナーはふだん 1 日以内に返信
-
0. Needs triage enhancement
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
nextcloud/serverinfo#1248 ·
メンテナーはふだん 1 日以内に返信
-
1. to develop bug
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
nextcloud/serverinfo#1224 · コメント 6 件 · リアクション 2 件 ·
メンテナーはふだん 1 日以内に返信
-
0. Needs triage bug
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
nextcloud/serverinfo#1223 ·
メンテナーはふだん 1 日以内に返信
nextcloud/serverinfo の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
riverqueue/river#1576 ·
メンテナーはふだん 1 日以内に返信
-
documentation good first issue
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
good first issue help wanted
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
modrollstudio/Modroll-Studio-Website#80 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
good first issue help wanted
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
mafzalkalwardev/mailforge#21 ·
-
good first issue help wanted
難易度 1/5 1時間未満 初心者へのやさしさ 82/100