Skip to content

Fallback discovery and keep-alive commands do not consider cluster slots #2970

@mgravell

Description

@mgravell
  • when INFO is disabled, AutoConfigureAsync uses SET $uniqeid$ replica_read_only PX 1 as the fallback mechanism for detecting read-only replicas, without consideration of slots; whether this works correctly on OSS cluster is questionable, but: on OSS cluster we don't need to do this; we should respect the cluster topology data instead
  • when ECHO, PING and TIME are disabled: GetTracerMessage uses EXISTS $uniqeid$ as the final fallback on interactive connections, without consideration of cluster slots; suggestion: on OSS cluster, use a hash-tag in the key

Generating a hash-tag for an arbitrary slot is relatively fast, and could be hard-coded or memoized, allowing for the key {$prefix$}$uniqueid$ (where {/} here denote hash-tag literals, not injection tokens) to be used - where prefix is for any slot (presumably the first, for simplicity) for that endpoint

Additionally: we probably shouldn't do anything with the tie-breaker key if we're on cluster.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions