Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[coverage] Conformance findings: CLOUDFETCH-012

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

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

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
52/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
静か
技術スタック
sql, typescript
領域
api, backend

調査の方向性

CLOUDFETCH-012 の coverage PR にある xfail テストと、executeStatement オプションおよび databricks.cloudfetch.enabled を処理するドライバーパスから始めます。意図された動作をリファレンス PR 225 と比較し、その後 SEA/kernel の ExecuteStatement および CreateSession リクエストを追跡します。契約を満たせば完了です。つまり、INLINE と ARROW_STREAM が使用され、can_cloud_download が存在せず、少なくとも 1 行が返され、cloud_download の呼び出しが 0 件であることです。

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

説明

Summary

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

Findings

  • CLOUDFETCH-012 [sea]: SEA/kernel path silently ignores CloudFetch-disable: both per-statement useCloudFetch:false (driver logs "no-op on kernel") and the connection-level databricks.cloudfetch.enabled=false extraParameter are dropped, so ExecuteStatement still sends disposition=INLINE_OR_EXTERNAL_LINKS instead of INLINE
    • failing test: CLOUDFETCH-012 — cloudfetch disabled: disposition=INLINE, no can_cloud_download conf, 0 cloud downloads [sea] (see the coverage PR diff under tests/)
  • CLOUDFETCH-012: SEA/kernel path silently ignores CloudFetch-disable: both per-statement executeStatement(sql, {useCloudFetch:false}) (driver logs "no-op on kernel") and the connection-level databricks.cloudfetch.enabled=false extraParameter are dropped, so ExecuteStatement still sends disposition=INLINE_OR_EXTERNAL_LINKS instead of INLINE and callers who disable CloudFetch keep receiving external links

Reproduce & Expected

CLOUDFETCH-012 — Validates that when CloudFetch is disabled, no CloudFetch activity occurs and results are fetched via the driver's inline result path instead.

Reproduce:

  • Execute query with CloudFetch disabled

Expected (per the shared spec):

  • completes without an exception
  • result has at least 1 row(s)
  • [thrift] ExecuteStatement request canDownloadResult == False
  • [thrift] exactly 0 cloud_download call(s)
  • [sea] ExecuteStatement request disposition == 'INLINE'
  • [sea] ExecuteStatement request format == 'ARROW_STREAM'
  • [sea] CreateSession request session_confs.can_cloud_download is absent
  • [sea] exactly 0 cloud_download call(s)
  • full assertion contract:
result:
- no_exception: true
- row_count_min: 1
- result_not_null_with_data: true
protocol:
  thrift:
  - request_field:
      method: ExecuteStatement
      path: canDownloadResult
      equals: false
  - call_min:
      method: FetchResults
      min: 1
  - call_count:
      method: cloud_download
      expected: 0
  sea:
  - request_field:
      operation: ExecuteStatement
      path: disposition
      equals: INLINE
  - request_field:
      operation: ExecuteStatement
      path: format
      equals: ARROW_STREAM
  - request_field:
      operation: CreateSession
      path: session_confs.can_cloud_download
      present: false
  - call_count:
      method: cloud_download
      expected: 0

Context

主要言語
TypeScript
スター
36
フォーク
50
平均マージ
13時間 46分
マージ済み PR(30日)
9

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

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

はじめの一歩

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

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

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

似ている issue

TypeScript の issue をもっと見る

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

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