[coverage] Conformance findings: SESSION-021
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 52/100
Hướng nghiên cứu
Start with TestStatementCreationOnClosedConnectionRejected in the coverage PR diff under tests/ and compare its expected behavior with the reference JDBC fix. Trace driver.Conn.Prepare and PrepareContext to find where closed connections should be rejected before any server call. Done means both methods reject eagerly, the connection can still run queries afterward, and the conformance assertions pass for thrift and sea.
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
- SESSION-021 [thrift]: driver.Conn.Prepare and PrepareContext on a CLOSED connection return a statement instead of rejecting eagerly, deferring the failure to a server-side "Invalid SessionHandle" 400 at execute
- failing test:
TestStatementCreationOnClosedConnectionRejected(see the coverage PR diff undertests/)
- failing test:
- SESSION-021 [sea]: driver.Conn.Prepare and PrepareContext on a CLOSED connection return a statement instead of rejecting eagerly; the kernel only fails later at execute with kernel_session_new_statement: session and out must be non-null
- failing test:
TestStatementCreationOnClosedConnectionRejected(see the coverage PR diff undertests/)
- failing test:
- SESSION-021: driver.Conn.Prepare and PrepareContext on a CLOSED connection return a statement instead of rejecting eagerly, deferring the failure to execute (thrift: server-side "Invalid SessionHandle" 400; sea/kernel: kernel_session_new_statement null-session error)
Reproduce & Expected
SESSION-021 — Validates that a CLOSED connection rejects statement creation EAGERLY -- at the create/prepare/retrieve call itself, before any execution is attempted -- and that the rejected attempt leaves no stale…
Reproduce:
SELECT 1
SELECT 1
SELECT 1
Expected (per the shared spec):
- completes without an exception
- completes without an exception
- completes without an exception
- completes without an exception
- [thrift] exactly 0
OpenSessioncall(s) - [thrift] exactly 0
ExecuteStatementcall(s) - [sea] exactly 0
CreateSessioncall(s) - [sea] exactly 0
ExecuteStatementcall(s) - full assertion contract:
result:
- label: baseline
no_exception: true
row_count: 1
- label: baseline_metadata
no_exception: true
- label: closed_create
error:
contains:
- closed
- disposed
- not connected
- label: closed_prepare
error:
contains:
- closed
- disposed
- not connected
- label: after_close
no_exception: true
row_count: 1
- label: after_close_metadata
no_exception: true
- label: after_close_metadata
metadata_path_unchanged_from: baseline_metadata
protocol:
thrift:
- call_count:
method: OpenSession
expected: 0
label: closed_create
- call_count:
method: ExecuteStatement
expected: 0
label: closed_create
- call_min:
method: OpenSession
min: 1
label: after_close
sea:
- call_count:
operation: CreateSession
expected: 0
label: closed_create
- call_count:
operation: ExecuteStatement
expected: 0
label: closed_create
- call_min:
operation: CreateSession
min: 1
label: after_close
Context
- The behavior was first fixed in a DIFFERENT driver — reference PR: https://github.com/databricks/databricks-jdbc/pull/1752 — 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/1916
- Ngôn ngữ chính
- Go
- Star
- 53
- Fork
- 70
- Merge trung bình
- 2 ngày 12 giờ
- Pull request đã merge (30 ngày)
- 16
Chuẩn bị môi trường
- Không có Dockerfile hay 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 databricks/databricks-sql-go
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
databricks/databricks-sql-go#494 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 1-2 ngày Mức phù hợp với người mới 56/100
databricks/databricks-sql-go#520 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 49/100
databricks/databricks-sql-go#517 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
TIME (time64[ns]) type unhandledĐang mởbug engineer-bot
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 67/100
databricks/databricks-sql-go#505 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
databricks/databricks-sql-go#504 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của databricks/databricks-sql-go
Issue tương tự
-
Wayfinder sample agents don't reach the Data Plane on the quickstart packCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởType/Bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
thunder-id/thunderid#6402 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[Bug] ListCanteens and ListAvailableCanteenTags return Unimplemented (handlers are misnamed)Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
TUM-Dev/Campus-Backend#678 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
fix(app): fail closed if GetGeneralSetting fails during initializationCó thể đã có người làm @kalavt đã nhận hôm nay. Đang mởbug
Độ 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
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
-
agent-ready area:dsl
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
jmbarzee/temporal-architect#407 ·
Maintainer thường phản hồi trong vòng 1 ngày