ClickHouse / ClickHouse/clickhouse-cpp

Automatic reconnect ignores settings applied for the connection

Abierto
#371 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

bug
Lenguaje dominante
C
Estrellas
382
Forks
208
Merge medio
2 d 19 h
PR fusionados (30 d)
14

Descripción

`Client::Impl::RetryGuard` performs automatic connection resets so the application code doesn't have a chance to restore expected connection settings applied before executing the current request.

For example, `SET mutations_sync=2`, automatic reconnect, `ALTER TABLE` sequence causes mutations to be executed asynchronously when the application assumes synchronous execution of the mutation.

It looks like connection settings should be stored in the Client::Impl and they should be re-applied in case of such reconnect before executing the client query.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

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.

Línea de trabajo

Comience con Client::Impl::RetryGuard y Client::Impl para rastrear cómo se producen los restablecimientos automáticos de la conexión antes de la consulta actual del cliente. Determine cómo se conservan y se vuelven a aplicar las configuraciones de conexión, como SET mutations_sync=2, después de una reconexión. Se considera terminado cuando las configuraciones se restauran antes de que continúe la consulta, incluido el escenario de ALTER TABLE descrito.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
cpp
Área
databases
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.