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

Cassandra: route coordinators to the configured datacenter

Đang mở
#594 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ó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
48/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ệ
rust
Lĩnh vực
backend, databases

Hướng nghiên cứu

Read crates/storage-cassandra/src/engine.rs and the session builder in crates/storage-cassandra/src/lib.rs, then check how datacenter is exposed in crates/storage-cassandra/src/config.rs. The issue points to cdrs-tokio 9.0.2's topology-aware load balancing and node distance evaluator; verify their API and how they use the configured datacenter. Done means coordinators route to that datacenter and the described local consistency operations no longer fail when remote peers are discovered.

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

Mô tả

backend:cassandra

Summary

The Cassandra backend creates every keyspace with NetworkTopologyStrategy in the one datacenter named by datacenter, and since #591 (the fix for #560) runs every data-path statement at LOCAL_QUORUM or LOCAL_ONE. The session uses RoundRobinLoadBalancingStrategy with the driver's default node distance evaluator, which treats every node the driver discovers from system.peers_v2 as local. A coordinator in a datacenter that holds no replica of the keyspace evaluates LOCAL_QUORUM and LOCAL_ONE against its own datacenter, finds no replica, and answers unavailable; the driver retries once on the next node and then fails the request.

Expected

Statements are coordinated by nodes in datacenter. cdrs-tokio 9.0.2 has TopologyAwareLoadBalancingStrategy and TopologyAwareNodeDistanceEvaluator::new(local_dc), which route to the local datacenter and treat remote nodes as remote.

Today

The datacenter field doc, the differences table, the high availability design and the upgrade manual tell the operator to run ExtendDB against contact points whose peers are all in datacenter. Before #591 the LOCAL_QUORUM batches, the query_lwt paths and the quorum reads already failed from such a coordinator; the reads, the OCC lightweight transactions and the plain delete succeeded at ONE.

Where

  • crates/storage-cassandra/src/engine.rs (RoundRobinLoadBalancingStrategy::new())
  • crates/storage-cassandra/src/lib.rs (the session builder)
  • crates/storage-cassandra/src/config.rs (datacenter)
Ngôn ngữ chính
Rust
Star
517
Fork
60
Merge trung bình
4 ngày 10 giờ
Pull request đã merge (30 ngày)
37

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 ExtendDB/extenddb

Tất cả issue của ExtendDB/extenddb

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.