ClickHouse / ClickHouse/clickhouse-java

[client-v2] Resource release

Đang mở
#2,649 1 bình luận 1 reaction 0 người được giao Xem trên GitHub
client-api-v2
Ngôn ngữ chính
Java
Star
1.6k
Fork
637
Merge trung bình
2 ngày 23 giờ
Pull request đã merge (30 ngày)
29

Mô tả

## Description
Recently we have found that while using `queryRecords` leads to error when user forget to close `Records` object what leads to a connection leaking. We need to review and put some guard rails even this a misuse problem.

We need to:
- Think about detecting orphan response objects somehow
- We need to put more information into ConnectionRequestTimeoutException because it indicates that pool is empty
- We need to review Insert/Command operation code to make sure resource are release as soon as they can.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu bằng cách lần theo luồng queryRecords của client-v2 và vòng đời đóng của Records. Sau đó kiểm tra ConnectionRequestTimeoutException và các đường dẫn thao tác Insert/Command về hành vi giải phóng tài nguyên. Công việc được xem là hoàn tất khi các biện pháp bảo vệ được yêu cầu đối với phản hồi mồ côi, chẩn đoán cạn kiệt pool và việc giải phóng tài nguyên kịp thời đã được xác định và được kiểm thử.

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
databases
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.