Redirect/pool: endpoint matching has no normalization, newest hint not preferred, cache TTL/entries not configurable, TableSessionPool lacks acquire_for_device

未关闭
#9 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
45/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
rust

调研方向

首先定位 RedirectCache、SessionConfig、TableSessionPool 和 SessionPool::acquire_for_device,然后跟踪 acquire_for_device 如何选择空闲 session,以及如何比较 redirect hint。检查现有的 pool 和 redirect 测试,并根据以下四项请求的行为验证完成情况:规范化匹配、选择最新的 hint、可配置的当前默认值,以及 table-pool API。

由索引模型根据 Issue 内容生成。

描述

enhancement

Smaller redirect/pool issues around acquire_for_device:

  1. Redirect endpoint matching is exact host-string equality with no normalization. Hostname-vs-IP spelling silently disables the optimization on multi-DataNode clusters, with no log line so it is invisible from outside. At minimum the comparison should normalize case/whitespace and resolve hostname-vs-IP where feasible.
  2. When idle sessions hold conflicting hints for one device, the winner is queue position, not recency. RedirectCache already tracks seq/insertion order — prefer the newest hint (this stays within the documented "any idle session" behaviour).
  3. RedirectCache TTL and max_entries are fixed at construction with no SessionConfig knob; this becomes measurable on large batch inserts. Add SessionConfig fields with the current defaults.
  4. TableSessionPool exposes acquire() but not acquire_for_device(), so table-mode users accumulate hints no pool API can consume. Expose the underlying SessionPool::acquire_for_device.
主要语言
Rust
星标
1
派生
0
PR 合并指标
30 天内没有已合并 PR

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

apache/iotdb-client-rust 的其他 Issue

查看 apache/iotdb-client-rust 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。