Skip to content

Conversation

@peachdawnleach
Copy link
Contributor

Fixes: DOC-15033

Added section on multi region behavior based on this Google doc

@netlify
Copy link

netlify bot commented Dec 16, 2025

Deploy Preview for cockroachdb-api-docs canceled.

Name Link
🔨 Latest commit 37c2967
🔍 Latest deploy log https://app.netlify.com/projects/cockroachdb-api-docs/deploys/6941cba2ab38660008f11563

@netlify
Copy link

netlify bot commented Dec 16, 2025

Deploy Preview for cockroachdb-interactivetutorials-docs canceled.

Name Link
🔨 Latest commit 37c2967
🔍 Latest deploy log https://app.netlify.com/projects/cockroachdb-interactivetutorials-docs/deploys/6941cba210e17a00084f4d08

@netlify
Copy link

netlify bot commented Dec 16, 2025

Deploy Preview for cockroachdb-api-docs ready!

Name Link
🔨 Latest commit d4c38b5
🔍 Latest deploy log https://app.netlify.com/projects/cockroachdb-api-docs/deploys/6952d5f15b77c60008593bc8
😎 Deploy Preview https://deploy-preview-21686--cockroachdb-api-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify
Copy link

netlify bot commented Dec 16, 2025

Deploy Preview for cockroachdb-interactivetutorials-docs canceled.

Name Link
🔨 Latest commit d4c38b5
🔍 Latest deploy log https://app.netlify.com/projects/cockroachdb-interactivetutorials-docs/deploys/6952d5f1324e9e0008d43a3e

@netlify
Copy link

netlify bot commented Dec 16, 2025

Netlify Preview

Name Link
🔨 Latest commit 37c2967
🔍 Latest deploy log https://app.netlify.com/projects/cockroachdb-docs/deploys/6941cba27de78e00080b975d
😎 Deploy Preview https://deploy-preview-21686--cockroachdb-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify
Copy link

netlify bot commented Dec 16, 2025

Deploy Preview for cockroachdb-docs failed. Why did it fail? →

Name Link
🔨 Latest commit d4c38b5
🔍 Latest deploy log https://app.netlify.com/projects/cockroachdb-docs/deploys/6952d5f143466700087d9796

Added links
@peachdawnleach
Copy link
Contributor Author


For details on failing back to the primary cluster following a failover, refer to [Fail back to the primary cluster]({% link {{ page.version.version }}/failover-replication.md %}#failback).

## Multi-region behavior
Copy link

@kev-cao kev-cao Dec 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this supposed to be an <h3> instead? Noticed in the preview that Multi-region behavior isn't nested with everything else:

Image

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh good catch, thanks!


## Multi-region behavior

You can use PCR to replicate between clusters with different [cluster regions]({% link {{ page.version.version }}/multiregion-overview.md %}#cluster-regions), [database regions]({% link {{ page.version.version }}/multiregion-overview.md %}#database-regions), and [table localities]({% link {{ page.version.version }}/table-localities.md %}). Mismatched regions and localities do not impact the [failover process]({% link {{ page.version.version }}/failover-replication.md %}) or ability to access clusters after failover, but they do impact [leaseholders]({% link {{ page.version.version }}/architecture/glossary.md %}#leaseholder) and locality-dependent settings. Clusters replicating across different regions may also experience a slight decrease in performance due to longer replication times.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"they do impact leaseholders and locality-dependent settings"

I think we should be clearer here. If the standby cluster doesn't match the primary's localities, the standby cluster may not be able to satisfy replicating locality constraints. For example, if we're replicating an Regional by Row (rbr) table with partitions in us-east, us-central, and us-west; and the standby cluster does not have any nodes with a locality tag with us-west, the rbr us-west partition constraint cannot be satisfied, and the data will be placed in an arbitrary location on the destination cluster. This arbitrary data placement then has performance implications: if the user was relying on partitioning for intra region latency, we can no longer meet that on the destination.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just added a new paragraph getting a bit more detailed on this

Copy link

@msbutler msbutler Dec 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice! one more nit:

Clusters replicating across different regions may also experience a slight decrease in performance due to longer replication times.

IMHO, i think this sentence can be removed, as you explain it more detail in the paragraph below, but perhaps the docs reviewer will have better opinions on how to organize this.

Added another paragraph explaining what settings are affected, also fixed header type
removed one sentence based on tech review
Copy link
Contributor

@jhlodin jhlodin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couple suggestions


You can use PCR to replicate between clusters with different [cluster regions]({% link {{ page.version.version }}/multiregion-overview.md %}#cluster-regions), [database regions]({% link {{ page.version.version }}/multiregion-overview.md %}#database-regions), and [table localities]({% link {{ page.version.version }}/table-localities.md %}). Mismatched regions and localities do not impact the [failover process]({% link {{ page.version.version }}/failover-replication.md %}) or ability to access clusters after failover, but they do impact [leaseholders]({% link {{ page.version.version }}/architecture/glossary.md %}#leaseholder) and locality-dependent settings.

If the localities on the primary cluster do not match the localities on the standby cluster, the standby cluster may be unable to satisfy replicating locality constraints. For example, if a replicated regional by row table has partitions in `us-east`, `us-central`, and `us-west`, and the standby cluster only has nodes with the locality tags `us-east` and `us-central`, the standby cluster cannot satisfy the regional by row `us-west` partition constraint. Data with unsatisfiable partition constraints is placed in an arbitrary location on the standby cluster, which can cause performance issues in the case of a failover event due to latency between regions.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The grammar of "regional by row" here is off. Per https://www.cockroachlabs.com/docs/v25.4/table-localities.html it seems like we use both "regional by row" and "REGIONAL BY ROW" interchangeably, but here I would prefer the latter since it reads more neatly as a proper noun. Is there a reason to keep it as-is?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't think of a reason- changed this

Small changes based on docs review- also backported since this should be the final version
@peachdawnleach
Copy link
Contributor Author

@jhlodin Made the changes requested, and also went ahead and backported because I'm thinking this should now be the final version

Copy link
Contributor

@jhlodin jhlodin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@peachdawnleach peachdawnleach enabled auto-merge (squash) December 29, 2025 19:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants