[coverage] Conformance findings: CUSTOMHDR-002
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 74/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- typescript
- Bereich
- api
Rechercherichtung
Finde in src/ heraus, wo die Header der SEA-ExecuteStatement-HTTP-Anfrage zusammengesetzt werden (suche danach, wo Accept-Encoding oder Standard-fetch-/axios-Header gesetzt werden), und sieh, wie Accept-Encoding: gzip angehängt wird. Nutze die Referenz-PR databricks/databricks-jdbc#1723 für das beabsichtigte Verhalten und den xfail-Test SEA requests decline response compression by default in databricks/databricks-driver-test#1765 als Abnahmekriterium. Fertig bedeutet, dass ExecuteStatement-Anfragen Accept-Encoding: identity senden, während andere Operationen unbeeinflusst bleiben.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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
- CUSTOMHDR-002 [sea]: SEA statements client sends
Accept-Encoding: gzipinstead of the required explicitidentityon ExecuteStatement, negotiating HTTP response compression over base64-of-LZ4-Arrow inline results- failing test:
SEA requests decline response compression by default(see the coverage PR diff undertests/)
- failing test:
- CUSTOMHDR-002: SEA statements client sends
Accept-Encoding: gzipinstead of the required explicitidentityon ExecuteStatement, so it negotiates HTTP response compression on top of base64-encoded LZ4-compressed Arrow inline results (gzipping already-compressed bytes: wasted server and client CPU, and a gzipped JSON envelope that can be larger on the wire than the raw binary)
Reproduce & Expected
CUSTOMHDR-002 — SEA (Statement Execution API) inline results are LZ4-compressed Arrow, base64-encoded and wrapped in a JSON envelope.
Reproduce:
SELECT 1 AS value
Expected (per the shared spec):
- result has exactly 1 row(s)
- col 0, row 0 == 1 (type Int32)
- full assertion contract:
result:
- row_count: 1
- column:
index: 0
row: 0
type: Int32
equals: 1
protocol:
sea:
- request_header:
operation: ExecuteStatement
name: Accept-Encoding
equals: identity
Context
- The behavior was first fixed in a DIFFERENT driver — reference PR: https://github.com/databricks/databricks-jdbc/pull/1723 — which seeded the shared language-neutral spec. This issue tracks the same conformance gap in databricks/databricks-sql-nodejs; 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/1765
- Vorherrschende Sprache
- TypeScript
- Sterne
- 37
- Forks
- 52
- Ø Merge
- 1 T. 47 Min.
- Gemergte PRs (30 T.)
- 10
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus databricks/databricks-sql-nodejs
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
databricks/databricks-sql-nodejs#526 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
databricks/databricks-sql-nodejs#503 ·
Maintainer antworten meist innerhalb von 1 Tag
-
engineer-bot
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 64/100
databricks/databricks-sql-nodejs#274 · 1 Kommentar · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
databricks/databricks-sql-nodejs#540 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 55/100
databricks/databricks-sql-nodejs#539 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in databricks/databricks-sql-nodejs
Ähnliche Issues
-
Mondriaan
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
knaw-huc/textannoviz#709 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Add: YRF Music NepalOffenstreams:add
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 62/100
Maintainer antworten meist innerhalb von 1 Tag
-
About page content is also published as an unstyled duplicate at /about/about/Evtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
walletbeat/walletbeat#1558 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
hawk-digital-environments/HAWKI#438 ·
Maintainer antworten meist innerhalb von 1 Tag
-
good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
OktoLabsAI/okto-pulse#114 ·
Maintainer antworten meist innerhalb von 1 Tag