admin metrics fails against RustFS 1.0.1 stable with 501 NotImplemented — wrong admin route (/metrics instead of /realtime)
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 1/5
- Tempo stimato
- Meno di un'ora
- Idoneità per principianti
- 90/100
Direzione di ricerca
Inizia da realtime_metrics() in crates/s3/src/admin.rs, dove l'URL è costruito con self.admin_url("/metrics"); cambialo in /realtime per corrispondere alla route registrata in rustfs/src/admin/handlers/system.rs. Ricostruisci e verifica con rc admin metrics <alias> --json contro un server RustFS 1.0.1 (finito quando restituisce status: success con samples). Facoltativamente, proseguisci con gli helper di controllo versione add_known_server_capabilities / is_rustfs_beta_10 nello stesso file, in modo che le stringhe stabili 1.0.x siano considerate note e compatibili.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
rc admin metrics fails against a RustFS 1.0.1 (stable) server with:
{
"status": "error",
"error": {
"type": "unsupported_feature",
"message": "Failed to query realtime metrics: Unsupported feature: A header you provided implies functionality that is not implemented.",
"capability": "admin.metrics",
"suggestion": "Upgrade RustFS to beta.10 or later."
}
}
This happens even with no extra flags (rc admin metrics <alias> --json), not just --by-disk.
Root cause: crates/s3/src/admin.rs, realtime_metrics(), builds the request URL via:
let mut url = self.admin_url("/metrics");
which resolves to /rustfs/admin/v3/metrics. The server (rustfs/rustfs) registers this handler at a different path — see rustfs/src/admin/handlers/system.rs:
r.insert(
Method::GET,
format!("{}{}", ADMIN_PREFIX, "/v3/realtime").as_str(),
AdminOperation(&realtime::MetricsHandler {}),
)?;
i.e. /rustfs/admin/v3/realtime, not /v3/metrics. The mismatched path falls through to a generic NotImplemented response instead of a 404, which is what made this confusing to diagnose.
Fix: change the one line to:
let mut url = self.admin_url("/realtime");
Confirmed: after this one-line change and rebuilding, rc admin metrics works correctly against RustFS 1.0.1 (verified against a live server, status: success, samples returned, including --by-disk).
Side note (separate, lower-priority observation): the capability-discovery version gate in the same file (add_known_server_capabilities, is_rustfs_beta_10 / is_rustfs_rc_series) only recognizes beta.10-family and rc-prerelease version strings as "known capable" — a stable 1.0.1 version string doesn't match either pattern, so rc admin capabilities likely under-reports capabilities for any stable 1.0.x+ release. Didn't turn out to be the actual cause of the bug above, but probably worth a version-gate update too.
- Lingua principale
- Rust
- Stelle
- 159
- Fork
- 23
- Merge medio
- 7h 4m
- PR unite (30g)
- 10
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di rustfs/cli
-
Cannot install and update with brewForse già presa @overtrue l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
rustfs/cli#387 · 2 assegnatari ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
Issue simili
-
test(executor_l0): assert execute() TaskOutcome, not only bus events / 断言 execute() 返回的 TaskOutcomeApertatype:debt
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
skaiy/wild_agentos#425 ·
I maintainer di solito rispondono entro 1 giorno
-
Default-import note suggests `import * as process` for velt:process, which does not name the builtinAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
bug ticket
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
cratestack/cratestack#1154 ·
I maintainer di solito rispondono entro 1 giorno
-
status:needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
agentic-os-org/ANOLISA#6742 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno