httpstan fails to give a response for large outputs
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 30/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- python
- Lĩnh vực
- api, backend, networking
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện yêu cầu có đầu ra lớn bằng curl tới python -m httpstan, sử dụng endpoint /v1/models/.../fits/... được mô tả trong issue. So sánh Content-Length được khai báo với số byte nhận được và xác định lý do kết nối bị đóng; hoàn tất khi toàn bộ response chứa kết quả mô hình được gửi thành công.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
This is following on from stan-dev/pystan#396, which ultimately seems to root from an httpstan issue. I'm working on an MWE, but the case I've identified so far seems to happen with a very large dataset. I used curl to interact with httpstan, to isolate whether it was a Pystan or httpstan error.
In the case I've identified, I'm able to compile and sample a large model, which appears to complete successfully according to the operation endpoint. However, when I do the final GET request to retrieve the model results, httpstan sends a header for the response, but then closes the connection without sending any data. There's no visible error on the console running httpstan (which I started using python -m httpstan), but the curl request fails:
$ curl localhost:8080/v1/models/ex6bdm7x/fits/wxft2x3c
curl: (18) transfer closed with 3144360709 bytes remaining to read
and packet sniffing suggests that httpstan is closing the connection:
12 5.048341 127.0.0.1 127.0.0.1 TCP 68 54876 → 8080 [SYN] Seq=0 Win=65535 Len=0 MSS=16344 WS=64 TSval=3703300602 TSecr=0 SACK_PERM
13 5.048735 127.0.0.1 127.0.0.1 TCP 68 8080 → 54876 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=16344 WS=64 TSval=157578390 TSecr=3703300602 SACK_PERM
14 5.048759 127.0.0.1 127.0.0.1 TCP 56 54876 → 8080 [ACK] Seq=1 Ack=1 Win=408256 Len=0 TSval=3703300602 TSecr=157578390
15 5.048771 127.0.0.1 127.0.0.1 TCP 56 [TCP Window Update] 8080 → 54876 [ACK] Seq=1 Ack=1 Win=408256 Len=0 TSval=157578390 TSecr=3703300602
16 5.048832 127.0.0.1 127.0.0.1 HTTP 165 GET /v1/models/ex6bdm7x/fits/wxft2x3c HTTP/1.1
17 5.048851 127.0.0.1 127.0.0.1 TCP 56 8080 → 54876 [ACK] Seq=1 Ack=110 Win=408128 Len=0 TSval=157578390 TSecr=3703300602
34 17.511368 127.0.0.1 127.0.0.1 TCP 216 8080 → 54876 [PSH, ACK] Seq=1 Ack=110 Win=408128 Len=160 TSval=157590864 TSecr=3703300602 [TCP segment of a reassembled PDU]
35 17.511463 127.0.0.1 127.0.0.1 TCP 56 54876 → 8080 [ACK] Seq=110 Ack=161 Win=408128 Len=0 TSval=3703313076 TSecr=157590864
36 17.513067 127.0.0.1 127.0.0.1 HTTP 56 HTTP/1.1 200 OK
37 17.513113 127.0.0.1 127.0.0.1 TCP 56 54876 → 8080 [ACK] Seq=110 Ack=162 Win=408128 Len=0 TSval=3703313077 TSecr=157590865
38 17.513293 127.0.0.1 127.0.0.1 TCP 56 54876 → 8080 [FIN, ACK] Seq=110 Ack=162 Win=408128 Len=0 TSval=3703313077 TSecr=157590865
39 17.513350 127.0.0.1 127.0.0.1 TCP 56 8080 → 54876 [ACK] Seq=162 Ack=111 Win=408128 Len=0 TSval=157590865 TSecr=3703313077
Packet 36 has [FIN, ACK] set.
The corresponding TCP stream is
GET /v1/models/ex6bdm7x/fits/wxft2x3c HTTP/1.1
Host: localhost:8080
User-Agent: curl/8.1.2
Accept: */*
HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8
Content-Length: 3144360709
Date: Wed, 06 Dec 2023 16:26:16 GMT
Server: Python/3.10 aiohttp/3.8.4
- Ngôn ngữ chính
- Python
- Star
- 42
- Fork
- 14
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
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 stan-dev/httpstan
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 52/100
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 52/100
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 58/100
-
Expose PathfinderĐang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 35/100
Tất cả issue của stan-dev/httpstan
Issue tương tự
-
Action calls retired claude-3-5-haiku-20241022, generating failing API requests for every userĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 91/100
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 92/100
-
enhancement P2
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Toloka/tolokaforge#1776 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
TencentCloud/Octop#1622 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[arch] gate_sync.sh: stale remote tmp files on install failure; overlapping cron runs unguardedĐang mởarch area:fleet priority:p3 severity:low track:hosted-product
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày