[coverage] Conformance findings: LOGGING-001,LOGGING-002,LOGGING-003,LOGGING-005
まだ誰も着手していません。
評価
調査の方向性
まず、logger.SetLogLevel 周辺の Go ドライバーのロギング実装と、client.FetchResults 周辺の fetch パスを調べます。動作のリファレンスとして coverage PR にある名前付きの conformance tests を使用し、大文字と小文字を区別しないレベルおよび数値レベルが正しくマッピングされること、無効なレベルではロギングを変更せずに警告が出ること、各ページの fetch 詳細が TRACE で、Result Set のサマリーが DEBUG で 1 つだけ出力されることを確認します。
索引モデルが issue の本文から書いたものです。
説明
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
- LOGGING-001 [thrift]: logger.SetLogLevel rejects its own level names in upper/mixed case (TRACE/Info/WARN/Debug) because the value is passed verbatim to zerolog.ParseLevel, and the rejection also resets the logger to NoLevel
- failing test:
TestNamedLogLevelValuesAcceptedCaseInsensitively(see the coverage PR diff undertests/)
- failing test:
- LOGGING-002 [thrift]: a numeric LogLevel is mapped on zerolog's inverted scale, so a DSN copied from JDBC gets the opposite verbosity: "6" (TRACE) silences the log and "0" (OFF, the JDBC sample default) enables full debug logging
- failing test:
TestNumericLogLevelFromReferenceDriverAcceptedAndMapped(see the coverage PR diff undertests/)
- failing test:
- LOGGING-003 [thrift]: an unrecognised log level emits no WARN naming the value in the configured destination and still applies zerolog's NoLevel fallback, silencing the process-wide logger and downgrading an already-more-verbose level instead of being ignored
- failing test:
TestUnrecognisedLogLevelIgnoredWithWarningNotConnectFailure(see the coverage PR diff undertests/)
- failing test:
- LOGGING-005 [thrift]: per-page fetch records (client.FetchResults / "fetching result page for row N") are emitted at DEBUG rather than TRACE, so DEBUG log volume grows with the fetch count (16 records for a 5-row read with a 1-row page cap)
- failing test:
TestPerFetchLogDetailAtTraceWithOneSummaryPerResultSetAtDebug(see the coverage PR diff undertests/)
- failing test:
Context
- The behavior was first fixed in a DIFFERENT driver — reference PR: https://github.com/databricks/databricks-odbc/pull/252 — 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/1267
- 主要言語
- Go
- スター
- 53
- フォーク
- 66
- 平均マージ
- 7時間 57分
- マージ済み PR(30日)
- 16
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
databricks/databricks-sql-go のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
databricks/databricks-sql-go#476 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
databricks/databricks-sql-go#481 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 52/100
databricks/databricks-sql-go#480 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
databricks/databricks-sql-go#475 · コメント 1 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 65/100
databricks/databricks-sql-go#474 ·
databricks/databricks-sql-go の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
acceptance-tests phase-coding schema-coverage testing triaged
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100