[Rust][Arrow] Declare the actual minimum supported Rust version

Đang mở Phù hợp với người mới
#910 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 4 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
76/100
Loại issue
Tính năng
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
github-actions, rust
Lĩnh vực
build-system, ci-cd

Hướng nghiên cứu

Bắt đầu với rust/sdk/Cargo.toml và dòng yêu cầu trong README, sau đó kiểm tra các quy trình CI hiện có để tìm những bước kiểm tra Rust toolchain. Đặt phiên bản tối thiểu được khai báo là 1.85, làm rõ tài liệu về yêu cầu của từng tính năng nằm ở đâu, và thêm lệnh cargo check có khóa phiên bản cho SDK trên Rust 1.85. Công việc hoàn tất khi README và metadata khớp nhau và bước kiểm tra CI đó chạy thành công.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

SDK

Rust

Description

rust/sdk/Cargo.toml declares rust-version = "1.70", but the crate hasn't built on 1.70 for some time. The default feature set needs Rust 1.85 through its dependencies (for example getrandom 0.4). Optional features need more: avro needs 1.88 through apache-avro, and arrow-flight will need 1.88 with Arrow 60.

A wrong rust-version misleads users about which toolchains are supported, and it feeds Cargo's MSRV-aware dependency resolution, which then makes decisions based on a version the crate can't actually build on. Nothing in CI checks the value, which is how it drifted.

Proposed Solution
  • Set rust-version = "1.85", the minimum for the default feature set.
  • Keep documenting per-feature requirements in the README (it already does this for avro), and point the README's requirements line there.
  • Add a CI job that runs cargo check -p databricks-zerobus-ingest-sdk --locked on Rust 1.85, so the declared value stays accurate.

No build that works today stops working, since none of them can be on a toolchain older than 1.85. Raising the declared minimum is still usually treated as a breaking change, so this belongs in the next major release.

Additional Context

The upcoming Arrow 60 upgrade is itself a breaking change for the arrow-flight feature, so the next Rust release is a major one. Correcting the declared version in the same release avoids a separate major later.

Ngôn ngữ chính
Rust
Star
95
Fork
36
Merge trung bình
4 ngày 7 giờ
Pull request đã merge (30 ngày)
46

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/zerobus-sdk

Tất cả issue của databricks/zerobus-sdk

Issue tương tự

Thêm issue về Rust

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.