You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Discovery mechanism doesn't determine the mode of all instances in a replica set when using the URI. This results in some instances being marked with an unknown state, despite the correct address for connection is known.
Example:
Start tarantool application (vshard cluster in my case).
If URI is provided in tt command, topology.InstanceUUID is the URI of the instance with the provided URI, so the check is performed only for the single instance, the rest remain in the ModeUnknown state.
I tried hardcoding a solution by passing connOpts, iterating over the instances, and collecting their modes. However, it seems that this issue requires a more thorough investigation, as the mechanism is used in multiple places.
The text was updated successfully, but these errors were encountered:
mandesero
changed the title
Discovery doesn't determine mode (RW/RO) of all instances in replica set sing URI
Discovery doesn't determine mode (RW/RO) of all instances in replica set using URI
Nov 24, 2024
Description
The Discovery mechanism doesn't determine the mode of all instances in a replica set when using the URI. This results in some instances being marked with an
unknown
state, despite the correct address for connection is known.Example:
Start tarantool application (vshard cluster in my case).
Run the
tt replicaset status
command with a URI:The output shows an incorrect state for one of the instances:
Run the same command using a cluster name:
The output is correct:
My attempts
For example for centralized config applications, the instance operating mode is assigned here
tt/cli/replicaset/cconfig.go
Lines 266 to 274 in 1ea57bf
If URI is provided in tt command,
topology.InstanceUUID
is the URI of the instance with the provided URI, so the check is performed only for the single instance, the rest remain in theModeUnknown
state.I tried hardcoding a solution by passing
connOpts
, iterating over the instances, and collecting their modes. However, it seems that this issue requires a more thorough investigation, as the mechanism is used in multiple places.$ tt replicaset status tcp://client:secret@localhost:3302 Orchestrator: centralized config Replicasets state: bootstrapped • storage-001 Failover: manual Master: single • storage-001-a localhost:3301 rw • storage-001-b localhost:3302 read
Patch: https://github.com/mandesero/tt/tree/mandesero/discovery-hot-fix
Discussion: #1030 (comment)
The text was updated successfully, but these errors were encountered: