`cloudflare` feature: hrana streams are never closed
Maintainer thường phản hồi trong vòng 11 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 72/100
Hướng nghiên cứu
Đọc libsql/src/hrana/stream.rs và so sánh điều kiện biên dịch của phần triển khai Drop của RawStream với cấu hình feature cloudflare. Xác nhận hành vi với default-features = false, features = ["cloudflare"] bằng cách kiểm tra xem khi bỏ một stream thì có gửi yêu cầu đóng hay không. Hoàn tất khi các stream được mở bằng cấu hình đó sẽ được đóng khi bị bỏ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
With default-features = false, features = ["cloudflare"], the client never sends a close request for the hrana streams it opens. The Drop impl that sends it is compiled only with the remote feature.
Where
libsql/src/hrana/stream.rs. The code is identical in 0.9.30, 0.10.0 and current main:
#[cfg(feature = "remote")]
impl<T> Drop for RawStream<T>
where
T: HttpSend,
{
fn drop(&mut self) {
let baton = self.baton.get_mut().take();
if let Some(baton) = baton {
// ... sends StreamRequest::Close via self.client.oneshot(...)
}
}
}
With only cloudflare enabled, this impl does not exist, so dropping a RawStream sends nothing.
What we observed
Setup:
libsql0.9.30 (default-features = false, features = ["cloudflare"])worker0.6.7,wrangler dev4.105.0- local
sqld0.24.31 with default settings
We sent a few dozen sequential requests to the worker; each request runs several statements. Every query after that failed. sqld logged:
ERROR libsql_server::hrana::http: hrana server: Timed out while opening database connection
ERROR libsql_server::error: HTTP API: 429 Too Many Requests, DbCreateTimeout
The client got:
Hrana: `api error: `{"error":"Timed out while opening database connection"}``
After restarting sqld with --max-concurrent-connections 4096 --max-concurrent-requests 4096, the same requests (over 200 sequential ones) succeeded.
- Ngôn ngữ chính
- C
- Star
- 17.3k
- Fork
- 557
- Merge trung bình
- 10 ngày 15 giờ
- Pull request đã merge (30 ngày)
- 1
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của tursodatabase/libsql
-
bottomless: finished S3 upload tasks are never reaped, so sqld memory grows by ~10 KB per WAL batchCó thể đã có người làm @pavanmanishd đã nhận 19 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
tursodatabase/libsql#2298 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 11 ngày
-
Rust local Row::get_value truncates embedded NUL TEXT and panics on malformed UTF-8 (0.9.30)Có thể đã có người làm @Sanjays2402 đã nhận 29 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
tursodatabase/libsql#2285 ·
Maintainer thường phản hồi trong vòng 11 ngày
-
libsql-ffi: broken builds under Nix on macOSCó thể đã có người làm @frectonz đã nhận 79 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
tursodatabase/libsql#2275 ·
Maintainer thường phản hồi trong vòng 11 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
tursodatabase/libsql#2226 ·
Maintainer thường phản hồi trong vòng 11 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 65/100
tursodatabase/libsql#1925 ·
Maintainer thường phản hồi trong vòng 11 ngày
Tất cả issue của tursodatabase/libsql
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
hil-contract: a background hil_remote.py launch is killed at the Bash default 10 min timeoutĐang mởfollow-up Prio 📌
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 84/100
Maintainer thường phản hồi trong vòng 1 ngày
-
area: test kind: bug preview-effort: small priority: low
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
Maintainer thường phản hồi trong vòng 1 ngày
-
[BUG] MXF: update_tid_lut() writes past tracks[32] onto nb_tracks, turning a file-supplied track id into the write offsetCó thể đã có người làm @pranayr710 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
CCExtractor/ccextractor#2457 ·
Maintainer thường phản hồi trong vòng 7 ngày