[coverage] Conformance findings: STATEMENT-022

オープン
#888 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
70/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
静か
技術スタック
python
領域
databases

調査の方向性

backend.cancel_command(active_command_id) に転送する cancel() パスから始め、次に tests/ 配下の coverage PR diff にある失敗しているテスト test_simultaneous_statement_cancellation を調べます。完了条件は、同時キャンセルが例外なしで完了し、その statement に対して CancelOperation RPC を正確に 1 つ発行することです。

索引モデルが issue の本文から書いたものです。

説明

Summary

Surfaced by the multi-language coverage fan-out while conformance-testing these SPEC-IDs against databricks/databricks-sql-python. 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-python) is fixed, then flips green as a tripwire.

Findings

  • STATEMENT-022 [thrift]: Thrift: Cursor.cancel() does not deduplicate concurrent cancels on the same statement — 3 threads emit 3 CancelOperation RPCs where the spec requires exactly 1, because cancel() forwards straight to backend.cancel_command(active_command_id) with no in-flight-cancel guard
    • failing test: test_simultaneous_statement_cancellation (see the coverage PR diff under tests/)

Reproduce & Expected

STATEMENT-022 — Validates driver handles multiple threads calling CancelOperation on same statement without deadlock or crash.

Reproduce:

SELECT a.*, b.* FROM main.tpcds_sf1_delta.catalog_returns a CROSS JOIN range(1, 10000) b ORDER BY a.cr_order_number, b.id

Expected (per the shared spec):

  • completes without an exception
  • [thrift] exactly 1 CancelOperation call(s)
  • [sea] between 1 and 3 CancelStatement call(s)

Context

主要言語
Python
スター
233
フォーク
152
平均マージ
21時間 5分
マージ済み PR(30日)
10

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

databricks/databricks-sql-python のほかの issue

databricks/databricks-sql-python の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。