crosscluster: introduce ClusterUri and ConfigUri #138689
Open
+646
−506
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change introduces two types to replace StreamAddress. ConfigUri is
the URI supplied by the user to the job. ConfigUri may be an external
connection. ClusterUri is the Uri used to dial nodes in the destination
cluster.
This split was made to support the LDR/PCR over load balancer changes.
The routing mode is defined by a URI parameter and the external
connection needs to be resolved before the routing mode can be
determined. The types allow us to add routing mode as ClusterUri method.
There is one non-cosmetic change in this PR. The PCR job now tries to
use the config URI as the first URI to connect to even if it
checkpointed URIs for individual nodes (see stream_ingestion_job.go).
This matches the behavior of LDR and is needed to properly handle
updates to external URIs.
Release Note: none
Epic: CRDB-40896