ClickHouse / ClickHouse/clickhouse-java
`socket_keepalive` doesn't work with shaded clickhouse-jdbc
- 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
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