diff --git a/src/archived/training/architecture-overview.md b/src/archived/training/architecture-overview.md deleted file mode 100644 index 621efbbe5e9..00000000000 --- a/src/archived/training/architecture-overview.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -title: Architecture Overview -summary: Learn more about CockroachDB's underlying architecture -toc: false -sidebar_data: sidebar-data-training.json ---- - -Watch the rest of Alex Robinson's talk, where he explains the CockroachDB architecture and how it was built. You can also read through a related set of slides. - -
port-forward
command must be run on the same machine as the web browser in which you want to view the Admin UI. If you have been running these commands from a cloud instance or other non-local shell, you will not be able to view the UI without configuring kubectl
locally and running the above port-forward
command on your local machine.{{site.data.alerts.end}}
-
-2. Go to https://localhost:8080 and log in with the username and password you created earlier.
-
-3. In the UI, verify that the cluster is running as expected:
- - Click **View nodes list** on the right to ensure that all nodes successfully joined the cluster.
- - Click the **Databases** tab on the left to verify that `bank` is listed.
-
-## Step 5. Simulate node failure
-
-Based on the `replicas: 3` line in the StatefulSet configuration, Kubernetes ensures that three pods/nodes are running at all times. When a pod/node fails, Kubernetes automatically creates another pod/node with the same network identity and persistent storage.
-
-To see this in action:
-
-1. Stop one of CockroachDB nodes:
-
- {% include copy-clipboard.html %}
- ~~~ shell
- $ kubectl delete pod cockroachdb-2
- ~~~
-
- ~~~
- pod "cockroachdb-2" deleted
- ~~~
-
-2. In the Admin UI, the **Cluster Overview** will soon show one node as **Suspect**. As Kubernetes auto-restarts the node, watch how the node once again becomes healthy.
-
-3. Back in the terminal, verify that the pod was automatically restarted:
-
- {% include copy-clipboard.html %}
- ~~~ shell
- $ kubectl get pod cockroachdb-2
- ~~~
-
- ~~~
- NAME READY STATUS RESTARTS AGE
- cockroachdb-2 1/1 Running 0 12s
- ~~~
-
-## Step 6. Add nodes
-
-1. Use the `kubectl scale` command to add a pod for another CockroachDB node:
-
- {% include copy-clipboard.html %}
- ~~~ shell
- $ kubectl scale statefulset cockroachdb --replicas=4
- ~~~
-
- ~~~
- statefulset.apps/cockroachdb scaled
- ~~~
-
-2. Get the name of the `Pending` CSR for the new pod:
-
- {% include copy-clipboard.html %}
- ~~~ shell
- $ kubectl get csr
- ~~~
-
- ~~~
- NAME AGE REQUESTOR CONDITION
- default.client.root 8m system:serviceaccount:default:cockroachdb Approved,Issued
- default.node.cockroachdb-0 22m system:serviceaccount:default:cockroachdb Approved,Issued
- default.node.cockroachdb-1 22m system:serviceaccount:default:cockroachdb Approved,Issued
- default.node.cockroachdb-2 22m system:serviceaccount:default:cockroachdb Approved,Issued
- default.node.cockroachdb-3 2m system:serviceaccount:default:cockroachdb Pending
- ~~~
-
-3. Approve the CSR for the new pod:
-
- {% include copy-clipboard.html %}
- ~~~ shell
- $ kubectl certificate approve default.node.cockroachdb-3
- ~~~
-
- ~~~
- certificatesigningrequest.certificates.k8s.io/default.node.cockroachdb-3 approved
- ~~~
-
-4. Confirm that pod for the fourth node, `cockroachdb-3`, is `Running` successfully:
-
- {% include copy-clipboard.html %}
- ~~~ shell
- $ kubectl get pods
- ~~~
-
- ~~~
- NAME READY STATUS RESTARTS AGE
- cluster-init-secure-fxdjl 0/1 Completed 0 13m
- cockroachdb-0 1/1 Running 1 28m
- cockroachdb-1 1/1 Running 1 28m
- cockroachdb-2 1/1 Running 0 8m
- cockroachdb-3 1/1 Running 0 7m
- cockroachdb-client-secure 1/1 Running 0 12m
- ~~~
-
-## Step 7. Remove nodes
-
-To safely remove a node from your cluster, you must first decommission the node and only then adjust the `--replicas` value of your StatefulSet configuration to permanently remove it. This sequence is important because the decommissioning process lets a node finish in-flight requests, rejects any new requests, and transfers all range replicas and range leases off the node.
-
-{{site.data.alerts.callout_danger}}
-If you remove nodes without first telling CockroachDB to decommission them, you may cause data or even cluster unavailability. For more details about how this works and what to consider before removing nodes, see [Decommission Nodes](../remove-nodes.html).
-{{site.data.alerts.end}}
-
-1. Get a shell into the `cockroachdb-client-secure` pod you created earlier and use the `cockroach node status` command to get the internal IDs of nodes:
-
- {% include copy-clipboard.html %}
- ~~~ shell
- $ kubectl exec -it cockroachdb-client-secure \
- -- ./cockroach node status \
- --certs-dir=/cockroach-certs \
- --host=cockroachdb-public
- ~~~
-
- ~~~
- id | address | build | started_at | updated_at | is_available | is_live
- +----+-----------------------------------------------------------+---------+----------------------------------+----------------------------------+--------------+---------+
- 1 | cockroachdb-0.cockroachdb.default.svc.cluster.local:26257 | v19.1.0 | 2019-05-15 21:37:09.875482+00:00 | 2019-05-15 21:40:41.467829+00:00 | true | true
- 2 | cockroachdb-2.cockroachdb.default.svc.cluster.local:26257 | v19.1.0 | 2019-05-15 21:31:50.21661+00:00 | 2019-05-15 21:40:41.308529+00:00 | true | true
- 3 | cockroachdb-1.cockroachdb.default.svc.cluster.local:26257 | v19.1.0 | 2019-05-15 21:37:09.746432+00:00 | 2019-05-15 21:40:41.336179+00:00 | true | true
- 4 | cockroachdb-3.cockroachdb.default.svc.cluster.local:26257 | v19.1.0 | 2019-05-15 21:37:34.962546+00:00 | 2019-05-15 21:40:44.08081+00:00 | true | true
- (4 rows)
- ~~~
-
- The pod uses the `root` client certificate created earlier to initialize the cluster, so there's no CSR approval required.
-
-2. Note the ID of the node with the highest number in its address (in this case, the address including `cockroachdb-3`) and use the [`cockroach node decommission`](../cockroach-node.html) command to decommission it:
-
- {{site.data.alerts.callout_info}}
- It's important to decommission the node with the highest number in its address because, when you reduce the `--replica` count, Kubernetes will remove the pod for that node.
- {{site.data.alerts.end}}
-
- {% include copy-clipboard.html %}
- ~~~ shell
- $ kubectl exec -it cockroachdb-client-secure \
- -- ./cockroach node decommission Operating System | +Architecture | +Full executable | +SQL-only executable | +
---|---|---|---|
Linux | +Intel | +cockroach-{{ release.release_name }}.linux-amd64.tgz {% if r.has_sha256sum == true %} (SHA256){% endif %} |
+ {% if release.has_sql_only == true %}cockroach-sql-{{ release.release_name }}.linux-amd64.tgz{% if r.has_sha256sum == true %} (SHA256){% endif %}{% endif %} |
+
ARM | +cockroach-{{ release.release_name }}.linux-arm64.tgz {{linux_arm_button_text_addendum}}{% if r.has_sha256sum == true %} (SHA256{% endif %}) |
+ {% if release.has_sql_only == true %}cockroach-sql-{{ release.release_name }}.linux-arm64.tgz {{linux_arm_button_text_addendum}}{% if r.has_sha256sum == true %} (SHA256){% endif %}{% endif %} |
+ |
Mac (Experimental) |
+ Intel | +cockroach-{{ release.release_name }}.darwin-10.9-amd64.tgz {% if r.has_sha256sum == true %} (SHA256){% endif %} |
+ {% if release.has_sql_only == true %}cockroach-sql-{{ release.release_name }}.darwin-10.9-amd64.tgz{% if r.has_sha256sum == true %} (SHA256){% endif %}{% endif %} |
+
ARM | +cockroach-{{ release.release_name }}.darwin-11.0-arm64.tgz{% if r.has_sha256sum == true %} (SHA256){% endif %} |
+ {% if release.has_sql_only == true %}cockroach-sql-{{ release.release_name }}.darwin-11.0-arm64.tgz{% if r.has_sha256sum == true %} (SHA256){% endif %}{% endif %} |
+ |
Windows (Experimental) |
+ Intel | +cockroach-{{ release.release_name }}.windows-6.2-amd64.zip{% if r.has_sha256sum == true %} (SHA256){% endif %} |
+ {% if release.has_sql_only == true %}cockroach-sql-{{ release.release_name }}.windows-6.2-amd64.zip{% if r.has_sha256sum == true %} (SHA256){% endif %}{% endif %} |
+
Feature | +Availability | +|||
---|---|---|---|---|
Ver. | +Self-Hosted | +Dedicated | +Serverless | +|
+ TBD +TBD + |
+ TBD | +{% include icon-yes.html %} | +{% include icon-yes.html %} | +{% include icon-no.html %} | +
Feature | +Availability | +|||
---|---|---|---|---|
Ver. | +Self-Hosted | +Dedicated | +Serverless | +|
+ TBD +TBD + |
+ TBD | +{% include icon-yes.html %} | +{% include icon-yes.html %} | +{% include icon-yes.html %} | +
Feature | +Availability | +|||
---|---|---|---|---|
Ver. | +Self-Hosted | +Dedicated | +Serverless | +|
+ TBD +TBD. + |
+ TBD | +{% include icon-yes.html %} | +{% include icon-no.html %} | +{% include icon-no.html %} | +
Feature | +Availability | +|||
---|---|---|---|---|
Ver. | +Self-Hosted | +Dedicated | +Serverless | +|
+ TBD +TBD + |
+ TBD | +{% include icon-no.html %} | +{% include icon-yes.html %} | +{% include icon-no.html %} | +
Feature | +Availability | +|||
---|---|---|---|---|
Ver. | +Self-Hosted | +Dedicated | +Serverless | +|
+ TBD +TBD + |
+ TBD | +{% include icon-no.html %} | +{% include icon-yes.html %} | +{% include icon-no.html %} | +
Feature | +Availability | +|||
---|---|---|---|---|
Ver. | +Self-Hosted | +Dedicated | +Serverless | +|
+ TBD +TBD + |
+ TBD | +{% include icon-no.html %} | +{% include icon-yes.html %} | +{% include icon-no.html %} | +
Feature detail key | +|
---|---|
* | +Features marked “All*” were recently made available in the CockroachDB Cloud platform. They are available for all supported versions of CockroachDB, under the deployment methods specified in their row under Availability. | +
** | +Features marked “All**” were recently made available via migration tools maintained outside of the CockroachDB binary. They are available to use with all supported versions of CockroachDB, under the deployment methods specified in their row under Availability. | +
{% include icon-yes.html %} | +Feature is available for this deployment method of CockroachDB as specified in the icon’s column: CockroachDB Self-Hosted, CockroachDB Dedicated, or CockroachDB Serverless. | +
{% include icon-no.html %} | +Feature is not available for this deployment method of CockroachDB as specified in the icon’s column: CockroachDB Self-Hosted, CockroachDB Dedicated, or CockroachDB Serverless. | +
SHOW DEFAULT SESSION VARIABLES FOR ROLE
",
+ "urls": [
+ "/${VERSION}/show-default-session-variables-for-role.html"
+ ]
+ },
{
"title": "SHOW ENUMS
",
"urls": [
@@ -1227,4 +1233,4 @@
]
}
]
- }
\ No newline at end of file
+ }
diff --git a/src/current/_includes/v24.1/sql/expression-indexes-cannot-reference-computed-columns.md b/src/current/_includes/v24.1/sql/expression-indexes-cannot-reference-computed-columns.md
deleted file mode 100644
index 64d80e31fa3..00000000000
--- a/src/current/_includes/v24.1/sql/expression-indexes-cannot-reference-computed-columns.md
+++ /dev/null
@@ -1,3 +0,0 @@
-CockroachDB does not allow {% if page.name == "expression-indexes.md" %} expression indexes {% else %} [expression indexes]({% link {{ page.version.version }}/expression-indexes.md %}) {% endif %} to reference [computed columns]({% link {{ page.version.version }}/computed-columns.md %}).
-
- [Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/67900)
diff --git a/src/current/_includes/v24.1/sql/expressions-as-on-conflict-targets.md b/src/current/_includes/v24.1/sql/expressions-as-on-conflict-targets.md
deleted file mode 100644
index 882dd905b1d..00000000000
--- a/src/current/_includes/v24.1/sql/expressions-as-on-conflict-targets.md
+++ /dev/null
@@ -1,40 +0,0 @@
-CockroachDB does not support expressions as `ON CONFLICT` targets. This means that unique {% if page.name == "expression-indexes.md" %} expression indexes {% else %} [expression indexes]({% link {{ page.version.version }}/expression-indexes.md %}) {% endif %} cannot be selected as arbiters for [`INSERT .. ON CONFLICT`]({% link {{ page.version.version }}/insert.md %}#on-conflict-clause) statements. For example:
-
-{% include_cached copy-clipboard.html %}
-~~~ sql
-CREATE TABLE t (a INT, b INT, UNIQUE INDEX ((a + b)));
-~~~
-
-~~~
-CREATE TABLE
-~~~
-
-{% include_cached copy-clipboard.html %}
-~~~ sql
-INSERT INTO t VALUES (1, 2) ON CONFLICT ((a + b)) DO NOTHING;
-~~~
-
-~~~
-invalid syntax: statement ignored: at or near "(": syntax error
-SQLSTATE: 42601
-DETAIL: source SQL:
-INSERT INTO t VALUES (1, 2) ON CONFLICT ((a + b)) DO NOTHING
- ^
-HINT: try \h INSERT
-~~~
-
-{% include_cached copy-clipboard.html %}
-~~~ sql
-INSERT INTO t VALUES (1, 2) ON CONFLICT ((a + b)) DO UPDATE SET a = 10;
-~~~
-
-~~~
-invalid syntax: statement ignored: at or near "(": syntax error
-SQLSTATE: 42601
-DETAIL: source SQL:
-INSERT INTO t VALUES (1, 2) ON CONFLICT ((a + b)) DO UPDATE SET a = 10
- ^
-HINT: try \h INSERT
-~~~
-
-[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/67893)
diff --git a/src/current/_includes/v24.1/sql/jsonb-comparison.md b/src/current/_includes/v24.1/sql/jsonb-comparison.md
deleted file mode 100644
index 7b4435d6fcc..00000000000
--- a/src/current/_includes/v24.1/sql/jsonb-comparison.md
+++ /dev/null
@@ -1,13 +0,0 @@
-You cannot use comparison operators (such as `<` or `>`) on [`JSONB`]({% link {{ page.version.version }}/jsonb.md %}) elements. For example, the following query does not work and returns an error:
-
- {% include_cached copy-clipboard.html %}
- ~~~ sql
- SELECT '{"a": 1}'::JSONB -> 'a' < '{"b": 2}'::JSONB -> 'b';
- ~~~
-
- ~~~
- ERROR: unsupported comparison operator: Version | -Release Date | +Major Version | +Patch Versions | +Support Type | +Initial Release | Maintenance Support ends | -Assistance Support ends (EOL Date) | +Assistance Support ends |
---|---|---|---|---|---|---|---|---|
{{ v.major_version }}{% if v.asst_supp_exp_date < today %}*{% endif %} | -{{ v.release_date }} | -{{ v.maint_supp_exp_date }} | -{{ v.asst_supp_exp_date }} | -|||||
{{ v.major_version }} | +{% if v.initial_lts_patch != "N/A" %}{{ v.initial_lts_patch }}+{% endif %} | +LTS | +{{ v.initial_lts_release_date }} | +{% if v.lts_maint_supp_exp_date != "N/A" %}{{ v.lts_maint_supp_exp_date }}{% endif %} | +{% if v.lts_asst_supp_exp_date != "N/A" %}{{ v.lts_asst_supp_exp_date }}{% endif %} | +|||
{{ v.major_version }}{% if will_never_have_lts == false and v.initial_lts_patch == "N/A" %} *{% endif %} | +{% if v.last_ga_patch != "N/A" %}{{ v.major_version }}.0 - {{ v.last_ga_patch }}{% else %}{{ v.major_version }}.0+{% endif %} | +GA | +{{ v.release_date }} | +{% if v.maint_supp_exp_date != "N/A" %}{{ v.maint_supp_exp_date }}{% endif %} | +{% if v.asst_supp_exp_date != "N/A" %}{{ v.asst_supp_exp_date }}{% endif %} | +
Major Version | +Patch Versions | +Support Type | +Initial Release | +Maintenance Support ended | +Assistance Support ended | +
---|---|---|---|---|---|
{{ v.major_version }} | +{{ v.initial_lts_patch }}+ | +LTS | +{{ v.initial_lts_release_date }} | +{% if v.lts_maint_supp_exp_date != "N/A" %}{{ v.lts_maint_supp_exp_date }}{% endif %} | +{% if v.lts_asst_supp_exp_date != "N/A" %}{{ v.lts_asst_supp_exp_date }}{% endif %} | +
{{ v.major_version }} | +{% if v.last_ga_patch != "N/A" %}{{ v.major_version }}.0 - {{ v.last_ga_patch }}{% else %}{{ v.major_version }}.0+{% endif %} | +GA | +{{ v.release_date }} | +{% if v.maint_supp_exp_date != "N/A" %}{{ v.maint_supp_exp_date }}{% endif %} | +{% if v.asst_supp_exp_date != "N/A" %}{{ v.asst_supp_exp_date }}{% endif %} | +