Cassandra: route coordinators to the configured datacenter
维护者通常 4 天内回复
还没有人认领这个 Issue。
评估
调研方向
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.
由索引模型根据 Issue 内容生成。
描述
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)
- 主要语言
- Rust
- 星标
- 517
- 派生
- 60
- 平均合并
- 5 天 5 小时
- 30 天内合并 PR
- 41
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
ExtendDB/extenddb 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 70/100
维护者通常 4 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 4 天内回复
-
bug security
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 4 天内回复
-
bug security
难度 2/5 1-3 小时 新手友好度 62/100
维护者通常 4 天内回复
-
难度 2/5 1-3 小时 新手友好度 70/100
维护者通常 4 天内回复
查看 ExtendDB/extenddb 的全部 Issue
相似的 Issue
-
色変記事を追加未关闭priority middle
难度 1/5 1 小时以内 新手友好度 62/100
KATO-Hiro/AtCoderClans#12955 ·
维护者通常 1 天内回复
-
auto:doc-drift auto:producer
难度 2/5 1-3 小时 新手友好度 60/100
fritzprix/libr-agent#2458 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
yantrikos/yantrik-os#1048 ·
维护者通常 1 天内回复
-
rust
难度 2/5 1-3 小时 新手友好度 80/100
vllm-project/vllm#64939 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复