ClickHouse / ClickHouse/clickhouse-java
Socket closed
- Ngôn ngữ chính
- Java
- Star
- 1.6k
- Fork
- 636
- Merge trung bình
- 2 ngày 23 giờ
- Pull request đã merge (30 ngày)
- 29
Mô tả
### Describe the bug
This happens intermittently every now and then.
### Expected behaviour
Error when processing batch of inserts, the list doesn't contain more than 1000 items.
### Code example
```
var statement = connection.createStatement(INSERT);
for (Iterator iterator = items.iterator(); iterator.hasNext();) {
var item = iterator.next();
statement.bind("id", item.id())
.bind("itemId", datasetId)
.bind("input", item.input().toString())
.bind("source", item.source().getValue());
if (iterator.hasNext()) {
statement.add();
}
}
statement.fetchSize(items.size());
return statement.execute();
}
```
### Error log
```
! java.net.ConnectException: Socket closed
! at com.clickhouse.client.http.ApacheHttpConnectionImpl.post(ApacheHttpConnectionImpl.java:276)
! at com.clickhouse.client.http.ClickHouseHttpClient.send(ClickHouseHttpClient.java:195)
! at com.clickhouse.client.AbstractClient.sendAsync(AbstractClient.java:161)
! at com.clickhouse.client.AbstractClient.lambda$execute$0(AbstractClient.java:273)
! ... 4 common frames omitted
! Causing: com.clickhouse.client.ClickHouseException: Socket closed
! at com.clickhouse.client.ClickHouseException.of(ClickHouseException.java:149)
! at com.clickhouse.client.AbstractClient.lambda$execute$0(AbstractClient.java:275)
! at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
! at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
! at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
! ... 1 common frames omitted
! Causing: reactor.core.Exceptions$ReactiveException: com.clickhouse.client.ClickHouseException: Socket closed
! at reactor.core.Exceptions.propagate(Exceptions.java:408)
! at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:101)
! at reactor.core.publisher.Mono.block(Mono.java:1728)
```
### Configuration
#### Environment
* Client version: 0.6.4
* Language version: Java 21
* OS: MAC
#### ClickHouse server
* ClickHouse Server version: :23.8.15.35-alpine
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu với các điểm vào của stack trace trong ApacheHttpConnectionImpl.java, ClickHouseHttpClient.java và AbstractClient.java. Tái hiện lỗi xảy ra không liên tục bằng ví dụ chèn theo lô đã nêu với không quá 1000 mục, sau đó theo dõi thời điểm socket HTTP đóng. Công việc được coi là hoàn tất khi lỗi đã được giải thích và được bao phủ bởi một regression test hoặc một giới hạn được ghi lại.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- java
- Lĩnh vực
- api, database
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100