Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

[coverage] Conformance findings: CUSTOMHDR-002

Đang mở Phù hợp với người mới
#541 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

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ó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
74/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
typescript
Lĩnh vực
api

Hướng nghiên cứu

Tìm trong src/ chỗ các header của yêu cầu HTTP ExecuteStatement của SEA được lắp ráp (tìm nơi Accept-Encoding hoặc các header fetch/axios mặc định được đặt) và xem Accept-Encoding: gzip được đính kèm như thế nào. Dùng PR tham khảo databricks/databricks-jdbc#1723 cho hành vi dự kiến và test xfail SEA requests decline response compression by default trong databricks/databricks-driver-test#1765 làm hợp đồng chấp nhận. Xong nghĩa là các yêu cầu ExecuteStatement gửi Accept-Encoding: identity trong khi các thao tác khác không bị ảnh hưởng.

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-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: gzip instead of the required explicit identity on 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 under tests/)
  • CUSTOMHDR-002: SEA statements client sends Accept-Encoding: gzip instead of the required explicit identity on 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

Ngôn ngữ chính
TypeScript
Star
37
Fork
52
Merge trung bình
1 ngày 47 phút
Pull request đã merge (30 ngày)
10

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của databricks/databricks-sql-nodejs

Tất cả issue của databricks/databricks-sql-nodejs

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.