[coverage] Conformance findings: CLOUDFETCH-018
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
- 62/100
Hướng nghiên cứu
Bắt đầu với TestLinkFetchFailureSurfacesATerminalError trong coverage PR dưới tests/, sau đó tái hiện kịch bản CloudFetch nhiều chunk với lỗi fetch link kéo dài. Theo dõi lỗi CloudFetch và đường dẫn drain của Go driver. Được xem là hoàn tất khi drain đầu tiên phát sinh lỗi trong vòng 180 giây, drain lặp lại trả về trong vòng 30 giây và giao thức xác nhận đã xảy ra một lần fetch chunk.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
Surfaced by the multi-language coverage fan-out while conformance-testing these SPEC-IDs against databricks/databricks-sql-go. Each finding is committed as an expected-failure (xfail) test in the coverage PR — the test asserts the CORRECT (post-fix) behavior and stays red until THIS driver (databricks/databricks-sql-go) is fixed, then flips green as a tripwire.
Findings
- CLOUDFETCH-018 [sea]: A permanently-failing CloudFetch link fetch (403 on GET .../result/chunks/{n}) never returns: after 32 attempts the failure is logged and a waiter woken, but it is never recorded as terminal provider state and end-of-stream is left unset, so the drain blocks past 180s with 0 rows instead of raising a terminal error (kernel #319; the pure-Go Thrift path conforms, giving up in 35s after 5 attempts)
- failing test:
TestLinkFetchFailureSurfacesATerminalError(see the coverage PR diff undertests/)
- failing test:
Reproduce & Expected
CLOUDFETCH-018 — A permanently-failing CloudFetch LINK FETCH must surface a TERMINAL error to the consumer, and must do so in bounded time.
Reproduce:
- Enable this run's protocol scenario (see protocol_scenarios above) so the
link-fetch call fails persistently. The result must be large enough to span
MULTIPLE chunks, so the driver has to ask for links it does not already hold --
otherwise every link arrives inline, no link fetch is issued, and the injected
failure never fires (the protocol guard below catches that vacuous case). - Drain a multi-chunk CloudFetch result whose link fetch fails permanently.
Expect the drain to raise -- not to block, and not to report a clean
end-of-stream over a truncated row set. - Fetch again on the SAME result after the terminal error. Must return promptly
(end-of-stream or the same error), not hang.
Expected (per the shared spec):
- full assertion contract:
result:
- label: first_drain
exception_thrown: true
- label: first_drain
elapsed_seconds_range:
max: 180
- label: repeat_drain
either_condition_true:
- row_count: 0
- exception_thrown: true
- label: repeat_drain
elapsed_seconds_range:
max: 30
protocol:
thrift:
- label: first_drain
call_min:
method: FetchResults
min: 1
sea:
- label: first_drain
call_min:
operation: FetchResultChunk
min: 1
Context
- The behavior was first fixed in a DIFFERENT driver — reference PR: https://github.com/databricks/databricks-sql-kernel/pull/322 — which seeded the shared language-neutral spec. This issue tracks the same conformance gap in databricks/databricks-sql-go; the reference PR is for cross-referencing the intended behavior, NOT a change to this repo.
- Coverage PR carrying the reproducing xfail test(s): https://github.com/databricks/databricks-driver-test/pull/1571
- Ngôn ngữ chính
- Go
- Star
- 53
- Fork
- 66
- Merge trung bình
- 7 giờ 57 phút
- Pull request đã merge (30 ngày)
- 16
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 databricks/databricks-sql-go
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
databricks/databricks-sql-go#476 ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 55/100
databricks/databricks-sql-go#481 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 52/100
databricks/databricks-sql-go#480 ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
databricks/databricks-sql-go#475 · 1 bình luận ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 65/100
databricks/databricks-sql-go#474 ·
Tất cả issue của databricks/databricks-sql-go
Issue tương tự
-
agentic-workflows
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
-
agentic-workflows
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
microsoft/agent-framework-go#1179 ·
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
-
[Bug]: OLLAMA_KEEP_ALIVE="5m" / "24h" crashes Ollama embedding and vision models with ValueError Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
infiniflow/ragflow#20223 · 1 reaction ·
-
bug needs triage pkg/translator/faro
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
open-telemetry/opentelemetry-collector-contrib#51484 · 1 bình luận ·