ClickHouse / ClickHouse/clickhouse-java
[jdbc-v2, client-v2] MAX_NUM_OF_CONNECTIONS doesn't limit connection.
- Langage dominant
- Java
- Étoiles
- 1.6k
- Forks
- 636
- Merge moyen
- 2 j 23 h
- PR mergées (30 j)
- 29
Description
## Description
There was an issue https://github.com/ClickHouse/clickhouse-java/issues/1705
The problem still exists: https://github.com/ClickHouse/clickhouse-java/issues/1705#issuecomment-2898237536
> Hi @Paultagoras, I have taken some new tests - I tried to re-run both my old tests and the project @f1llon provided - with clickhouse-jdbc version 0.8.6 and using JDBC-v2 classes (for example DataSourceImpl instead of the old ClickHouseDataSource).
On one hand, I don't see anymore the Hikari CP issue I first submitted, so many thanks! But on the other hand, I still have some issues:
> running @f1llon 's test project, I still have the old logs "route allocated: 1 of N; total allocated: 1 of N"
using the "default" connection pool and running my own tests of concurrent reading, property ClientConfigProperties.HTTP_MAX_OPEN_CONNECTIONS is ignored: when I run a netstat command on my PC, the number of connections opened toward ClickHouse can be well above the one I set with the ClientConfigProperties.HTTP_MAX_OPEN_CONNECTIONS property.
> Is it enough to initialize my DataSourceImpl with
baseProperties.setProperty(ClientConfigProperties.HTTP_MAX_OPEN_CONNECTIONS.getKey(), "5");
and then use
datasource.getConnection()
to make this configuration effective or do I need to do anything else?
> Still, thank you for your help!
### Steps to reproduce
1.
2.
3.
### Error Log or Exception StackTrace
```
```
### Expected Behaviour
### Code Example
```java
```
### Configuration
#### Client Configuration
```java
```
#### Environment
* [ ] Cloud
* Client version:
* Language version:
* OS:
#### ClickHouse Server
* ClickHouse Server version:
* ClickHouse Server non-default settings, if any:
* `CREATE TABLE` statements for tables involved:
* Sample data for all these tables, use [clickhouse-obfuscator](https://github.com/ClickHouse/ClickHouse/blob/master/programs/obfuscator/Obfuscator.cpp#L42-L80) if necessary
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par DataSourceImpl et suivez la manière dont ClientConfigProperties.HTTP_MAX_OPEN_CONNECTIONS est utilisé lorsque datasource.getConnection() est appelé. Reproduisez le scénario de lectures concurrentes et examinez le comportement d’allocation des connexions. La tâche est terminée lorsque la limite maximale configurée est respectée et couverte par un test de régression ciblé.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- database
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100