Skip to content

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

Description

@CritasWang

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions