ClickHouse retry logs print CLICKHOUSE_URL with its password
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 1/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 92/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- observability-sre, security
Direzione di ricerca
Inizia con la registrazione dei retry in packages/db/src/clickhouse/round-robin.ts ed esamina maskUrlCredentials in client.ts. Le due chiamate di log indicate devono usare un URL mascherato anziché slot.url. Verifica con la riproduzione del retry che i log di API e worker preservino l’URL del nodo omettendone le credenziali.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
When a ClickHouse request is retried, the round-robin client logs the node's URL exactly as configured. If CLICKHOUSE_URL carries credentials (http://user:password@host:8123/db, the form the self-hosting docs use), the password ends up in the logs of the api and the worker.
Where (main, a887576): packages/db/src/clickhouse/round-robin.ts
logger.info({ url: slot.url, attempt }, 'CH operation succeeded after retry')(~line 305)logger.warn({ ..., url: slot.url, ... }, 'CH node unreachable; ...')(~line 340)
slot.url comes from new RoundRobinPicker(clients, clickhouseUrls, ...) in client.ts (line 192), which gets the raw URLs. maskUrlCredentials already exists in client.ts but is only applied to the urls reported at line 217.
To reproduce: set CLICKHOUSE_URL=http://openpanel:secret@clickhouse:8123/openpanel and restart ClickHouse while the worker is running. The worker logs "url":"http://openpanel:secret@clickhouse:8123/openpanel" on each retry.
Suggested fix: give the picker masked URLs for logging (or mask slot.url in those two log calls), as redactConnectionUrls now does for the migration banner.
On 2.3.0 (the current Docker Hub release) the migration banner also prints DATABASE_URL and CLICKHOUSE_URL unredacted. That is already fixed on main, but self-hosters on 2.3.0 are exposed until a release ships it.
- Lingua principale
- TypeScript
- Stelle
- 7.1k
- Fork
- 516
- Merge medio
- 1g 2h
- PR unite (30g)
- 18
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 Openpanel-dev/openpanel
-
Self-hosted missing op1-replay.jsForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
Openpanel-dev/openpanel#512 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
login page needs refinementForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Openpanel-dev/openpanel#495 ·
I maintainer di solito rispondono entro 1 giorno
-
Help reproducing the 100k/27s benchmark in #560: ingestion throughput and Redis CPU saturationAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 36/100
Openpanel-dev/openpanel#564 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
Openpanel-dev/openpanel#563 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
Openpanel-dev/openpanel#562 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Openpanel-dev/openpanel
Issue simili
-
area: app type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
ExpidetGames/code-reviewer#585 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 83/100
module-federation/core#5205 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
LanternOps/breeze#9392 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
engine-rs P3 review-deferral wasm
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
maniator/verticopolis#1154 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno