Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

ClickHouse retry logs print CLICKHOUSE_URL with its password

Abierto Apto para principiantes
#551 0 comentarios 0 reacciones 0 asignados Ver en GitHub

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

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

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Openpanel-dev/openpanel

Todos los issues de Openpanel-dev/openpanel

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.