Skip to content

Add fault tolerance demo docs#22837

Open
jhlodin wants to merge 2 commits intomainfrom
jl/doc-11437
Open

Add fault tolerance demo docs#22837
jhlodin wants to merge 2 commits intomainfrom
jl/doc-11437

Conversation

@jhlodin
Copy link
Contributor

@jhlodin jhlodin commented Feb 25, 2026

https://cockroachlabs.atlassian.net/browse/DOC-11437

  • Document the new in-Console fault tolerance demo (in preview)
  • Add mentions to the demo as a next step after deploying in Advanced
  • Add release note

@netlify
Copy link

netlify bot commented Feb 25, 2026

Deploy Preview for cockroachdb-api-docs canceled.

Name Link
🔨 Latest commit 97f560d
🔍 Latest deploy log https://app.netlify.com/projects/cockroachdb-api-docs/deploys/69a5fe82bf5f3c0008287bad

@netlify
Copy link

netlify bot commented Feb 25, 2026

Deploy Preview for cockroachdb-interactivetutorials-docs canceled.

Name Link
🔨 Latest commit 97f560d
🔍 Latest deploy log https://app.netlify.com/projects/cockroachdb-interactivetutorials-docs/deploys/69a5fe82ae90590008398b99

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This page is woefully out of date. There is an ongoing discussion to either remove this page altogether or commit to better maintenance, but for right now it's probably better to add the note than not.

@jhlodin jhlodin requested review from fantapop and jaiayu February 25, 2026 02:08
@netlify
Copy link

netlify bot commented Feb 25, 2026

Netlify Preview

Name Link
🔨 Latest commit 97f560d
🔍 Latest deploy log https://app.netlify.com/projects/cockroachdb-docs/deploys/69a5fe827f84e1000805de4d
😎 Deploy Preview https://deploy-preview-22837--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.

CockroachDB {{ site.data.products.cloud }} {{ site.data.products.advanced }} includes a built-in fault tolerance demo in the {{ site.data.products.cloud }} Console that automatically runs a sample workload and simulates a node failure on your cluster, showing real-time metrics of query latency and failure rate during the outage and recovery.

{{ site.data.alerts.callout_info }}
The CockroachDB {{ site.data.products.cloud }} fault tolerance demo is in [Preview]({% link {{ page.version.version }}/cockroachdb-feature-availability.md %}).

Choose a reason for hiding this comment

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

Not for this PR but it seems like we should have prebuilt macros for each of visibilities. Its annoying that we'd have to add the version and availability to each place we use this. Ideally we could do this and have it link up correctly.

fault tolerance demo is in {{site.data.visibility.preview}}.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Agreed, some amount of these callouts can be turned into a macro/snippet. We're planning a migration to a new docs site that has its own tools, so rather than create a DOC ticket to do this in the current system we'll earmark it to investigate later.

- A [CockroachDB {{ site.data.products.advanced }} cluster]({% link cockroachcloud/create-an-advanced-cluster.md %}) with at least three nodes.
- All nodes are healthy.
- The cluster's CPU utilization is below 30%.
- The cluster does not a custom [replication zone configuration]({% link {{ page.version.version }}/configure-replication-zones.md %}).

Choose a reason for hiding this comment

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

We dropped this one.

There are some others but I don't think most of them are worth listing.

The one additional that I think we should consider is around the cluster being in an unlocked state. For example if they are already undergoing cluster disruption or they are scaling their cluster or the cluster is under maintenance, they won't be able to run the demo. Anything that has locked the cluster will prevent the demo from starting. The messaging we show the user in this case is:

The fault tolerance demo cannot be run because this cluster is currently in a locked state. Try again once the cluster is available.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Added

  • The cluster is not currently in a locked state as a result of maintenance such as scaling.

I'm a little concerned about calling out a "locked state" when we don't currently have a formal "locked" cluster state exposed to the user, so I'm hoping with this wording we don't imply to the user that a "locked cluster" is a state they need to worry about in day-to-day operation. I'm hoping the cluster status rework project helps us out in the long run.

- The cluster's CPU utilization is below 30%.
- The cluster does not a custom [replication zone configuration]({% link {{ page.version.version }}/configure-replication-zones.md %}).

To run the fault tolerance demo, open the {{ site.data.products.cloud }} Console and navigate to **Actions > Fault tolerance demo**. Follow the prompts to check that your cluster is eligible and begin the demo.

Choose a reason for hiding this comment

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

Follow the prompts to check that your cluster is eligible

I wonder if this will be confusing? There aren't really any visible prompts to check eligibility since we run them automatically when you try to start the demo.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Removed the second sentence, I think the UX straightforward enough without the specific details written out here.

To start using your CockroachDB {{ site.data.products.advanced }} cluster, refer to:

- [Connect to your cluster]({% link cockroachcloud/connect-to-your-cluster.md %})
- Run the [fault tolerance demo]({% link {{ site.versions["stable"] }}/demo-cockroachdb-resilience.md %}#run-a-guided-demo-in-cockroachdb-cloud)

Choose a reason for hiding this comment

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

I noticed that the headline that results in this page anchor is using the macro {{ site.data.products.cloud }} but it's hard coded here in the anchor. It means that if we ever changed cloud, the anchor would break. This is obviously unlikely and perhaps we'd check by some automated link scanner but it suggests that the current system for linking we have within pages is lacking. It would be better if we had some layer of indirection for each headline that would allow us to change its name without changing it's id. Then we use the id to look up the current name and generate the anchor on the fly. Obviously we wouldn't do any of that in this PR. Just food for thought.

Copy link
Contributor Author

@jhlodin jhlodin Mar 2, 2026

Choose a reason for hiding this comment

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

Yep, this is a known limitation of the current way Jekyll/Liquid handles variables. The band-aid solution is that our CICD does an internal linkcheck for anchors based on the rendered HTML before publishing, so we'll get notified in this situation and be able to fix it in flight.

That said, this is another thing we're hoping our new site has better solutions for.

Copy link

@fantapop fantapop left a comment

Choose a reason for hiding this comment

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

nice. This looks good to me!

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.

2 participants