ClickHouse retry logs print CLICKHOUSE_URL with its password
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 1/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 92/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- observability-sre, security
Línea de trabajo
Empieza por el registro de reintentos en packages/db/src/clickhouse/round-robin.ts y revisa maskUrlCredentials en client.ts. Las dos llamadas de registro de mentioned deben usar una URL enmascarada en lugar de slot.url. Verifícalo con la reproducción de reintentos que los registros de API y worker conserven la URL del nodo y omitan sus credenciales.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- TypeScript
- Estrellas
- 7.1k
- Forks
- 516
- Merge medio
- 1 d 2 h
- PR fusionados (30 d)
- 18
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Openpanel-dev/openpanel
-
Self-hosted missing op1-replay.jsQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Openpanel-dev/openpanel#512 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
login page needs refinementQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Openpanel-dev/openpanel#495 ·
Los mantenedores suelen responder en 1 día
-
Help reproducing the 100k/27s benchmark in #560: ingestion throughput and Redis CPU saturationAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 36/100
Openpanel-dev/openpanel#564 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
Openpanel-dev/openpanel#563 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
Openpanel-dev/openpanel#562 ·
Los mantenedores suelen responder en 1 día
Todos los issues de Openpanel-dev/openpanel
Issues similares
-
Edit: Travel Mix (RO)Abiertocheck:failed streams:edit
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
iptv-org/iptv#55901 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 2 días
-
package:ios ships XCFrameworks with absolute symlinks, which SwiftPM refuses to extractPosiblemente ocupada @cusnirvladislav la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
callstackincubator/rock#740 ·
-
S: triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 2 días
-
RED ladder stopped @ 4db4ed91Abiertoarea:workflow bug ready-for-human
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
fil-donadoni/tolaria#6108 ·
Los mantenedores suelen responder en 1 día