ClickHouse / ClickHouse/clickhouse-java

`socket_keepalive` doesn't work with shaded clickhouse-jdbc

Abierto
#3,092 4 comentarios 0 reacciones 0 asignados Ver en GitHub
bug
Lenguaje dominante
Java
Estrellas
1.6k
Forks
636
Merge medio
2 d 23 h
PR fusionados (30 d)
29

Descripción

## `socket_keepalive` doesnt' applied

### Steps to reproduce
Note: I would expect that instruction from official site[1] should end up with the same result.

1. Specify following option for apache/cloudberry-pxf:
```

jdbc.connection.property.socket_keepalive
true

```
or in JDBC URL `&socket_keepalive=true`
2. expect that `SO_KEEPALIVE=true`. However it is not.
Actual:
```
# ss -Otnpio state established | grep -F '8123'
0 0 [::ffff:10.1.0.9]:44198 [::ffff:10.1.0.20]:8123 users:(("java",pid=2731285,fd=34)) ts sack illinois wscale:10,4 rto:201 rtt:0.343/0.188
```
Expected (spot the `timer` section!):
```
0 0 [::ffff:10.1.0.29]:15938 [::ffff:10.1.0.20]:8123 users:(("java",pid=514753,fd=36)) timer:(keepalive,10sec,0) ts sack illinois wscale:10,4 rto:201 rtt:0.249/0.123
```

#### Environment
* Cloud
* Client version: 0.9.8 and 0.10.0
* OS: Ubuntu 22.04

#### ClickHouse Server
* ClickHouse Server version: 26.7.5.10
* `CREATE TABLE` statements for tables involved:
```
SELECT toInt32(sleep(600)) AS slept
SETTINGS
function_sleep_max_microseconds_per_block = 600000000,
max_execution_time = 0
```

[1] https://clickhouse.com/docs/integrations/language-clients/java/jdbc#linux

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Start by reproducing the JDBC property and URL forms on Ubuntu 22.04 with ClickHouse Server 26.7.5.10, then compare socket behavior for the shaded clickhouse-jdbc client. Done means enabling socket_keepalive produces the expected keepalive timer in ss output for the affected client versions.

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

Evaluación

Stack tecnológico
java, linux
Área
databases
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Activo
Claridad
Bastante claro
Aptitud para principiantes
52/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.