From d4cc07344ec331bf7ab892b54364c7cc262b6a5e Mon Sep 17 00:00:00 2001 From: Emelia Wilkinson Date: Mon, 4 Mar 2024 14:56:24 -0500 Subject: [PATCH 01/17] changed address to data-migration --- antora.yml | 4 ++-- local-preview-playbook.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/antora.yml b/antora.yml index ec335a33..a5a01100 100644 --- a/antora.yml +++ b/antora.yml @@ -1,5 +1,5 @@ -name: zero-downtime-migration -title: Zero Downtime Migration +name: data-migration +title: Data Migration version: ~ start_page: introduction.adoc diff --git a/local-preview-playbook.yml b/local-preview-playbook.yml index 64f7f23f..fcbf1e63 100644 --- a/local-preview-playbook.yml +++ b/local-preview-playbook.yml @@ -7,7 +7,7 @@ git: site: title: DataStax Docs - start_page: zero-downtime-migration::index.adoc + start_page: data-migration::index.adoc robots: disallow content: From 057cfeb261a6f09dc8a33696b0553ad4fd0800fc Mon Sep 17 00:00:00 2001 From: Emelia Wilkinson Date: Mon, 4 Mar 2024 16:44:43 -0500 Subject: [PATCH 02/17] troubleshooting table formatting with right nav ui bug --- modules/ROOT/nav.adoc | 14 ++++++----- .../ROOT/pages/cassandra-data-migrator.adoc | 24 +++++++++---------- .../ROOT/pages/connect-clients-to-proxy.adoc | 2 +- modules/ROOT/pages/dsbulk-migrator.adoc | 6 ++--- 4 files changed, 24 insertions(+), 22 deletions(-) diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index ed391cab..e43c2f94 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -2,26 +2,28 @@ * xref:introduction.adoc[] * xref:components.adoc[] * xref:faqs.adoc[] -* Preliminary steps -** xref:preliminary-steps.adoc[] +* xref:preliminary-steps.adoc[] ** xref:feasibility-checklists.adoc[] ** xref:deployment-infrastructure.adoc[] ** xref:create-target.adoc[] ** xref:rollback.adoc[] -* Phase 1: Deploy {zdm-proxy} and connect client applications -** xref:phase1.adoc[] +//phase 1 +* xref:phase1.adoc[] ** xref:setup-ansible-playbooks.adoc[] ** xref:deploy-proxy-monitoring.adoc[] ** xref:tls.adoc[] ** xref:connect-clients-to-proxy.adoc[] ** xref:metrics.adoc[] ** xref:manage-proxy-instances.adoc[] -* Phase 2: Migrate and validate data -** xref:migrate-and-validate-data.adoc[] +//phase 2 +* xref:migrate-and-validate-data.adoc[] ** xref:cassandra-data-migrator.adoc[] ** xref:dsbulk-migrator.adoc[] +//phase 3 * xref:enable-async-dual-reads.adoc[] +//phase 4 * xref:change-read-routing.adoc[] +//phase 5 * xref:connect-clients-to-target.adoc[] * Troubleshooting ** xref:troubleshooting.adoc[] diff --git a/modules/ROOT/pages/cassandra-data-migrator.adoc b/modules/ROOT/pages/cassandra-data-migrator.adoc index 9729d0c6..c4ce42c3 100644 --- a/modules/ROOT/pages/cassandra-data-migrator.adoc +++ b/modules/ROOT/pages/cassandra-data-migrator.adoc @@ -193,7 +193,7 @@ Use {cstar-data-migrator} to identify large fields from a table that may break y [[cdm-connection-params]] === Common connection parameters for Origin and Target -[cols="3,1,3"] +[cols="3,1,3",width="75%"] |=== |Property | Default | Notes @@ -243,7 +243,7 @@ Use {cstar-data-migrator} to identify large fields from a table that may break y [[cdm-origin-schema-params]] === Origin schema parameters -[cols="3,1,3a"] +[cols="3,1,3a",width="75%"] |=== |Property | Default | Notes @@ -286,7 +286,7 @@ For optimization reasons, {cstar-data-migrator} does not migrate TTL and writeti [[cdm-target-schema-params]] === Target schema parameter -[cols="3,1,3"] +[cols="3,1,3",width=75%] |=== |Property | Default | Notes @@ -304,7 +304,7 @@ Auto-correction parameters allow {cstar-data-migrator} to correct data differenc For information about invoking `DiffData` in a {cstar-data-migrator} command, see xref:#cdm-validation-steps[{cstar-data-migrator} steps in validation mode] in this topic. -[cols="3,1,3a"] +[cols="3,1,3a",width=75%] |=== |Property | Default | Notes @@ -336,7 +336,7 @@ The `TIMESTAMP` of records may have an effect. If the `WRITETIME` of the Origin Performance and operations parameters that can affect migration throughput, error handling, and similar concerns. -[cols="3,1,3"] +[cols="3,1,3",width=75%] |=== |Property | Default | Notes @@ -386,7 +386,7 @@ Parameters to perform schema transformations between Origin and Target. By default, these parameters are commented out. -[cols="3,1,3a"] +[cols="3,1,3a",width=75%] |=== |Property | Default | Notes @@ -438,7 +438,7 @@ Cassandra filters are applied on the coordinator node. Note that, depending on t By default, these parameters are commented out. -[cols="3,1,3"] +[cols="3,1,3",width=75%] |=== |Property | Default | Notes @@ -464,7 +464,7 @@ Java filters are applied on the client node. Data must be pulled from the Origin By default, these parameters are commented out. -[cols="3,1,3"] +[cols="3,1,3",width=75%] |=== |Property | Default | Notes @@ -501,7 +501,7 @@ If used, the `spark.cdm.feature.constantColumns.names`, `spark.cdm.feature.const By default, these parameters are commented out. -[cols="3,1,3"] +[cols="3,1,3",width=75%] |=== |Property | Default | Notes @@ -531,7 +531,7 @@ The explode map feature allows you convert an Origin table Map into multiple Tar By default, these parameters are commented out. -[cols="3,1,3"] +[cols="3,1,3",width=75%] |=== |Property | Default | Notes @@ -558,7 +558,7 @@ The Guardrail job will generate a report; other jobs will skip records that exce By default, these parameters are commented out. -[cols="3,1,3"] +[cols="3,1,3",width=75%] |=== |Property | Default | Notes @@ -577,7 +577,7 @@ Note that a secure connect bundle (SCB) embeds these details. By default, these parameters are commented out. -[cols="3,1,3"] +[cols="3,1,3",width=75%] |=== |Property | Default | Notes diff --git a/modules/ROOT/pages/connect-clients-to-proxy.adoc b/modules/ROOT/pages/connect-clients-to-proxy.adoc index 8ecf5579..b816aba0 100644 --- a/modules/ROOT/pages/connect-clients-to-proxy.adoc +++ b/modules/ROOT/pages/connect-clients-to-proxy.adoc @@ -89,7 +89,7 @@ This means that, if your {zdm-proxy} is configured with an Origin or Target clus * If Origin requires authentication but Target does not, your client application must supply credentials for Origin. * If neither cluster requires authentication, no credentials are needed. -[cols="1,1,1"] +[cols="1,1,1",width=75%] |=== |Auth enabled on Origin |Auth enabled on Target diff --git a/modules/ROOT/pages/dsbulk-migrator.adoc b/modules/ROOT/pages/dsbulk-migrator.adoc index b1ce1e09..1418f30e 100644 --- a/modules/ROOT/pages/dsbulk-migrator.adoc +++ b/modules/ROOT/pages/dsbulk-migrator.adoc @@ -94,7 +94,7 @@ for which to generate DDL statements. The following options are available for the `migrate-live` command. Most options have sensible default values and do not need to be specified, unless you want to override the default value. -[cols="2,8,14"] +[cols="2,8,14",width=75%] |=== | `-c` @@ -297,7 +297,7 @@ The following options are available for the `generate-script` command. Most options have sensible default values and do not need to be specified, unless you want to override the default value. -[cols="2,8,14"] +[cols="2,8,14",width=75%] |=== | `-c` @@ -469,7 +469,7 @@ Case-sensitive table names must be entered in their exact case. The following options are available for the `generate-ddl` command. Most options have sensible default values and do not need to be specified, unless you want to override the default value. -[cols="2,8,14"] +[cols="2,8,14",width=75%] |=== | `-a` From 5d54fc587a0a945e4f6ede7f4bfe07bf71228bdd Mon Sep 17 00:00:00 2001 From: Emelia Wilkinson Date: Tue, 5 Mar 2024 10:14:56 -0500 Subject: [PATCH 03/17] troubleshooting table formatting, fixed except for CDM page --- .../ROOT/pages/cassandra-data-migrator.adoc | 24 +++++++++---------- .../ROOT/pages/connect-clients-to-proxy.adoc | 2 +- modules/ROOT/pages/dsbulk-migrator.adoc | 6 ++--- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/modules/ROOT/pages/cassandra-data-migrator.adoc b/modules/ROOT/pages/cassandra-data-migrator.adoc index c4ce42c3..9729d0c6 100644 --- a/modules/ROOT/pages/cassandra-data-migrator.adoc +++ b/modules/ROOT/pages/cassandra-data-migrator.adoc @@ -193,7 +193,7 @@ Use {cstar-data-migrator} to identify large fields from a table that may break y [[cdm-connection-params]] === Common connection parameters for Origin and Target -[cols="3,1,3",width="75%"] +[cols="3,1,3"] |=== |Property | Default | Notes @@ -243,7 +243,7 @@ Use {cstar-data-migrator} to identify large fields from a table that may break y [[cdm-origin-schema-params]] === Origin schema parameters -[cols="3,1,3a",width="75%"] +[cols="3,1,3a"] |=== |Property | Default | Notes @@ -286,7 +286,7 @@ For optimization reasons, {cstar-data-migrator} does not migrate TTL and writeti [[cdm-target-schema-params]] === Target schema parameter -[cols="3,1,3",width=75%] +[cols="3,1,3"] |=== |Property | Default | Notes @@ -304,7 +304,7 @@ Auto-correction parameters allow {cstar-data-migrator} to correct data differenc For information about invoking `DiffData` in a {cstar-data-migrator} command, see xref:#cdm-validation-steps[{cstar-data-migrator} steps in validation mode] in this topic. -[cols="3,1,3a",width=75%] +[cols="3,1,3a"] |=== |Property | Default | Notes @@ -336,7 +336,7 @@ The `TIMESTAMP` of records may have an effect. If the `WRITETIME` of the Origin Performance and operations parameters that can affect migration throughput, error handling, and similar concerns. -[cols="3,1,3",width=75%] +[cols="3,1,3"] |=== |Property | Default | Notes @@ -386,7 +386,7 @@ Parameters to perform schema transformations between Origin and Target. By default, these parameters are commented out. -[cols="3,1,3a",width=75%] +[cols="3,1,3a"] |=== |Property | Default | Notes @@ -438,7 +438,7 @@ Cassandra filters are applied on the coordinator node. Note that, depending on t By default, these parameters are commented out. -[cols="3,1,3",width=75%] +[cols="3,1,3"] |=== |Property | Default | Notes @@ -464,7 +464,7 @@ Java filters are applied on the client node. Data must be pulled from the Origin By default, these parameters are commented out. -[cols="3,1,3",width=75%] +[cols="3,1,3"] |=== |Property | Default | Notes @@ -501,7 +501,7 @@ If used, the `spark.cdm.feature.constantColumns.names`, `spark.cdm.feature.const By default, these parameters are commented out. -[cols="3,1,3",width=75%] +[cols="3,1,3"] |=== |Property | Default | Notes @@ -531,7 +531,7 @@ The explode map feature allows you convert an Origin table Map into multiple Tar By default, these parameters are commented out. -[cols="3,1,3",width=75%] +[cols="3,1,3"] |=== |Property | Default | Notes @@ -558,7 +558,7 @@ The Guardrail job will generate a report; other jobs will skip records that exce By default, these parameters are commented out. -[cols="3,1,3",width=75%] +[cols="3,1,3"] |=== |Property | Default | Notes @@ -577,7 +577,7 @@ Note that a secure connect bundle (SCB) embeds these details. By default, these parameters are commented out. -[cols="3,1,3",width=75%] +[cols="3,1,3"] |=== |Property | Default | Notes diff --git a/modules/ROOT/pages/connect-clients-to-proxy.adoc b/modules/ROOT/pages/connect-clients-to-proxy.adoc index b816aba0..8ecf5579 100644 --- a/modules/ROOT/pages/connect-clients-to-proxy.adoc +++ b/modules/ROOT/pages/connect-clients-to-proxy.adoc @@ -89,7 +89,7 @@ This means that, if your {zdm-proxy} is configured with an Origin or Target clus * If Origin requires authentication but Target does not, your client application must supply credentials for Origin. * If neither cluster requires authentication, no credentials are needed. -[cols="1,1,1",width=75%] +[cols="1,1,1"] |=== |Auth enabled on Origin |Auth enabled on Target diff --git a/modules/ROOT/pages/dsbulk-migrator.adoc b/modules/ROOT/pages/dsbulk-migrator.adoc index 1418f30e..b1ce1e09 100644 --- a/modules/ROOT/pages/dsbulk-migrator.adoc +++ b/modules/ROOT/pages/dsbulk-migrator.adoc @@ -94,7 +94,7 @@ for which to generate DDL statements. The following options are available for the `migrate-live` command. Most options have sensible default values and do not need to be specified, unless you want to override the default value. -[cols="2,8,14",width=75%] +[cols="2,8,14"] |=== | `-c` @@ -297,7 +297,7 @@ The following options are available for the `generate-script` command. Most options have sensible default values and do not need to be specified, unless you want to override the default value. -[cols="2,8,14",width=75%] +[cols="2,8,14"] |=== | `-c` @@ -469,7 +469,7 @@ Case-sensitive table names must be entered in their exact case. The following options are available for the `generate-ddl` command. Most options have sensible default values and do not need to be specified, unless you want to override the default value. -[cols="2,8,14",width=75%] +[cols="2,8,14"] |=== | `-a` From a4abce770320da19314d58aca7ff8d15c03a5e8a Mon Sep 17 00:00:00 2001 From: Emelia Wilkinson Date: Tue, 5 Mar 2024 10:41:36 -0500 Subject: [PATCH 04/17] fixed CDM table formatting so it doesn't overlap navigation menu --- .../ROOT/pages/cassandra-data-migrator.adoc | 156 +++++++++--------- 1 file changed, 78 insertions(+), 78 deletions(-) diff --git a/modules/ROOT/pages/cassandra-data-migrator.adoc b/modules/ROOT/pages/cassandra-data-migrator.adoc index 9729d0c6..d7bd53bf 100644 --- a/modules/ROOT/pages/cassandra-data-migrator.adoc +++ b/modules/ROOT/pages/cassandra-data-migrator.adoc @@ -247,33 +247,33 @@ Use {cstar-data-migrator} to identify large fields from a table that may break y |=== |Property | Default | Notes -| `spark.cdm.schema.origin.keyspaceTable` +| spark.cdm.schema.origin.keyspaceTable | -| Required - the `.` of the table to be migrated. Table must exist in Origin. +| Required - the . of the table to be migrated. Table must exist in Origin. -| `spark.cdm.schema.origin.column.ttl.automatic` -| `true` -| Default is `true`, unless `spark.cdm.schema.origin.column.ttl.names` is specified. When `true`, the Time To Live (TTL) of the Target record will be determined by finding the maximum TTL of all Origin columns that can have TTL set (which excludes partition key, clustering key, collections/UDT/tuple, and frozen columns). When `false`, and `spark.cdm.schema.origin.column.ttl.names` is not set, the Target record will have the TTL determined by the Target table configuration. +| spark.cdm.schema.origin.column.ttl.automatic +| true +| Default is true, unless spark.cdm.schema.origin.column.ttl.names is specified. When true, the Time To Live (TTL) of the Target record will be determined by finding the maximum TTL of all Origin columns that can have TTL set (which excludes partition key, clustering key, collections/UDT/tuple, and frozen columns). When false, and spark.cdm.schema.origin.column.ttl.names is not set, the Target record will have the TTL determined by the Target table configuration. -| `spark.cdm.schema.origin.column.ttl.names` +| spark.cdm.schema.origin.column.ttl.names | -| Default is empty, meaning the names will be determined automatically if `spark.cdm.schema.origin.column.ttl.automatic` is set. Specify a subset of eligible columns that are used to calculate the TTL of the Target record. +| Default is empty, meaning the names will be determined automatically if spark.cdm.schema.origin.column.ttl.automatic is set. Specify a subset of eligible columns that are used to calculate the TTL of the Target record. -| `spark.cdm.schema.origin.column.writetime.automatic` -| `true` -| Default is `true`, unless `spark.cdm.schema.origin.column.writetime.names` is specified. When `true`, the `WRITETIME` of the Target record will be determined by finding the maximum `WRITETIME` of all Origin columns that can have `WRITETIME` set (which excludes partition key, clustering key, collections/UDT/tuple, and frozen columns). When `false`, and `spark.cdm.schema.origin.column.writetime.names` is not set, the Target record will have the `WRITETIME` determined by the Target table configuration. +| spark.cdm.schema.origin.column.writetime.automatic +| true +| Default is true, unless spark.cdm.schema.origin.column.writetime.names is specified. When true, the WRITETIME of the Target record will be determined by finding the maximum WRITETIME of all Origin columns that can have WRITETIME set (which excludes partition key, clustering key, collections/UDT/tuple, and frozen columns). When false, and spark.cdm.schema.origin.column.writetime.names is not set, the Target record will have the WRITETIME determined by the Target table configuration. [NOTE] ==== -The `spark.cdm.transform.custom.writetime` property, if set, would override `spark.cdm.schema.origin.column.writetime`. +The spark.cdm.transform.custom.writetime property, if set, would override spark.cdm.schema.origin.column.writetime. ==== -| `spark.cdm.schema.origin.column.writetime.names` +| spark.cdm.schema.origin.column.writetime.names | -| Default is empty, meaning the names will be determined automatically if `spark.cdm.schema.origin.column.writetime.automatic` is set. Otherwise, specify a subset of eligible columns that are used to calculate the WRITETIME of the Target record. Example: `data_col1,data_col2,...` +| Default is empty, meaning the names will be determined automatically if spark.cdm.schema.origin.column.writetime.automatic is set. Otherwise, specify a subset of eligible columns that are used to calculate the WRITETIME of the Target record. Example: data_col1,data_col2,... -| `spark.cdm.schema.origin.column.names.to.target` +| spark.cdm.schema.origin.column.names.to.target | -| Default is empty. If column names are changed between Origin and Target, then this mapped list provides a mechanism to associate the two. The format is `:`. The list is comma-separated. You only need to list renamed columns. +| Default is empty. If column names are changed between Origin and Target, then this mapped list provides a mechanism to associate the two. The format is :. The list is comma-separated. You only need to list renamed columns. |=== @@ -390,43 +390,43 @@ By default, these parameters are commented out. |=== |Property | Default | Notes -| `spark.cdm.transform.missing.key.ts.replace.value` -| `1685577600000` +| spark.cdm.transform.missing.key.ts.replace.value +| 1685577600000 | Timestamp value in milliseconds. -Partition and clustering columns cannot have null values, but if these are added as part of a schema transformation between Origin and Target, it is possible that the Origin side is null. In this case, the `Migrate` data operation would fail. This parameter allows a crude constant value to be used in its place, separate from the Constant values feature. +Partition and clustering columns cannot have null values, but if these are added as part of a schema transformation between Origin and Target, it is possible that the Origin side is null. In this case, the Migrate data operation would fail. This parameter allows a crude constant value to be used in its place, separate from the Constant values feature. -| `spark.cdm.transform.custom.writetime` -| `0` -| Default is 0 (disabled). Timestamp value in microseconds to use as the `WRITETIME` for the Target record. This is useful when the `WRITETIME` of the record in Origin cannot be determined (such as when the only non-key columns are collections). This parameter allows a crude constant value to be used in its place, and overrides `spark.cdm.schema.origin.column.writetime.names`. +| spark.cdm.transform.custom.writetime +| 0 +| Default is 0 (disabled). Timestamp value in microseconds to use as the WRITETIME for the Target record. This is useful when the WRITETIME of the record in Origin cannot be determined (such as when the only non-key columns are collections). This parameter allows a crude constant value to be used in its place, and overrides spark.cdm.schema.origin.column.writetime.names. -| `spark.cdm.transform.custom.writetime.incrementBy` -| `0` -| Default is `0`. This is useful when you have a List that is not frozen, and you are updating this via the autocorrect feature. Lists are not idempotent, and subsequent UPSERTs would add duplicates to the list. +| spark.cdm.transform.custom.writetime.incrementBy +| 0 +| Default is 0. This is useful when you have a List that is not frozen, and you are updating this via the autocorrect feature. Lists are not idempotent, and subsequent UPSERTs would add duplicates to the list. -| `spark.cdm.transform.codecs` +| spark.cdm.transform.codecs | | Default is empty. A comma-separated list of additional codecs to enable. - * `INT_STRING` : int stored in a String. - * `DOUBLE_STRING` : double stored in a String. - * `BIGINT_STRING` : bigint stored in a String. - * `DECIMAL_STRING` : decimal stored in a String. - * `TIMESTAMP_STRING_MILLIS` : timestamp stored in a String, as Epoch milliseconds. - * `TIMESTAMP_STRING_FORMAT` : timestamp stored in a String, with a custom format. + * INT_STRING : int stored in a String. + * DOUBLE_STRING : double stored in a String. + * BIGINT_STRING : bigint stored in a String. + * DECIMAL_STRING : decimal stored in a String. + * TIMESTAMP_STRING_MILLIS : timestamp stored in a String, as Epoch milliseconds. + * TIMESTAMP_STRING_FORMAT : timestamp stored in a String, with a custom format. [NOTE] ==== -Where there are multiple type pair options, such as with `TIMESTAMP_STRING_*`, only one can be configured at a time with the `spark.cdm.transform.codecs` parameter. +Where there are multiple type pair options, such as with TIMESTAMP_STRING_*, only one can be configured at a time with the spark.cdm.transform.codecs parameter. ==== -| `spark.cdm.transform.codecs.timestamp.string.format` -| `yyyyMMddHHmmss` -| Configuration for `CQL_TIMESTAMP_TO_STRING_FORMAT` codec. Default format is `yyyyMMddHHmmss`; `DateTimeFormatter.ofPattern(formatString)` +| spark.cdm.transform.codecs.timestamp.string.format +| yyyyMMddHHmmss +| Configuration for CQL_TIMESTAMP_TO_STRING_FORMAT codec. Default format is yyyyMMddHHmmss; DateTimeFormatter.ofPattern(formatString) -| `spark.cdm.transform.codecs.timestamp.string.zone` -| `UTC` -| Default is `UTC`. Must be in `ZoneRulesProvider.getAvailableZoneIds()`. +| spark.cdm.transform.codecs.timestamp.string.zone +| UTC +| Default is UTC. Must be in ZoneRulesProvider.getAvailableZoneIds(). |=== @@ -468,26 +468,26 @@ By default, these parameters are commented out. |=== |Property | Default | Notes -| `spark.cdm.filter.java.token.percent` -| `100` +| spark.cdm.filter.java.token.percent +| 100 | Percent (between 1 and 100) of the token in each Split that will be migrated. This property is used to do a wide and random sampling of the data. The percentage value is applied to each split. Invalid percentages will be treated as 100. -| `spark.cdm.filter.java.writetime.min` -| `0` -| The lowest (inclusive) writetime values to be migrated. Using the `spark.cdm.filter.java.writetime.min` and `spark.cdm.filter.java.writetime.max` thresholds, {cstar-data-migrator} can filter records based on their writetimes. The maximum writetime of the columns configured at `spark.cdm.schema.origin.column.writetime.names` will be compared to the `.min` and `.max` thresholds, which must be in **microseconds since the epoch**. If the `spark.cdm..schema.origin.column.writetime.names` are not specified, or the thresholds are null or otherwise invalid, the filter will be ignored. Note that `spark.cdm.s.perfops.batchSize` will be ignored when this filter is in place; a value of 1 will be used instead. +| spark.cdm.filter.java.writetime.min +| 0 +| The lowest (inclusive) writetime values to be migrated. Using the spark.cdm.filter.java.writetime.min and spark.cdm.filter.java.writetime.max thresholds, {cstar-data-migrator} can filter records based on their writetimes. The maximum writetime of the columns configured at spark.cdm.schema.origin.column.writetime.names will be compared to the .min and .max thresholds, which must be in microseconds since the epoch. If the spark.cdm.schema.origin.column.writetime.names are not specified, or the thresholds are null or otherwise invalid, the filter will be ignored. Note that spark.cdm.s.perfops.batchSize will be ignored when this filter is in place; a value of 1 will be used instead. -| `spark.cdm.filter.java.writetime.max` -| `9223372036854775807` -| The highest (inclusive) writetime values to be migrated. Maximum timestamp of the columns specified by `spark.cdm.schema.origin.column.writetime.names`; if that property is not specified, or is for some reason null, the filter is ignored. +| spark.cdm.filter.java.writetime.max +| 9223372036854775807 +| The highest (inclusive) writetime values to be migrated. Maximum timestamp of the columns specified by spark.cdm.schema.origin.column.writetime.names; if that property is not specified, or is for some reason null, the filter is ignored. -| `spark.cdm.filter.java.column.name` +| spark.cdm.filter.java.column.name | -| Filter rows based on matching a configured value. With `spark.cdm.filter.java.column.name`, specify the column name against which the `spark.cdm.filter.java.column.value` is compared. Must be on the column list specified at `spark.cdm.schema.origin.column.names`. The column value will be converted to a String, trimmed of whitespace on both ends, and compared. +| Filter rows based on matching a configured value. With spark.cdm.filter.java.column.name, specify the column name against which the spark.cdm.filter.java.column.value is compared. Must be on the column list specified at spark.cdm.schema.origin.column.names. The column value will be converted to a String, trimmed of whitespace on both ends, and compared. -| `spark.cdm.filter.java.column.value` +| spark.cdm.filter.java.column.value | -| String value to use as comparison. Whitespace on the ends of `spark.cdm.filter.java.column.value` will be trimmed. +| String value to use as comparison. Whitespace on the ends of spark.cdm.filter.java.column.value will be trimmed. |=== @@ -535,17 +535,17 @@ By default, these parameters are commented out. |=== |Property | Default | Notes -| `spark.cdm.feature.explodeMap.origin.name` +| spark.cdm.feature.explodeMap.origin.name | -| The name of the map column, such as `my_map`. Must be defined on `spark.cdm.schema.origin.column.names`, and the corresponding type on `spark.cdm.schema.origin.column.types` must be a map. +| The name of the map column, such as my_map. Must be defined on spark.cdm.schema.origin.column.names, and the corresponding type on spark.cdm.schema.origin.column.types must be a map. -| `spark.cdm.feature.explodeMap.origin.name.key` +| spark.cdm.feature.explodeMap.origin.name.key | -| The name of the column on the Target table that will hold the map key, such as `my_map_key`. This key must be present on the Target primary key `spark.cdm.schema.target.column.id.names`. +| The name of the column on the Target table that will hold the map key, such as my_map_key. This key must be present on the Target primary key spark.cdm.schema.target.column.id.names. -| `spark.cdm.feature.explodeMap.origin.value` +| spark.cdm.feature.explodeMap.origin.value | -| The name of the column on the Target table that will hold the map value, such as `my_map_value`. +| The name of the column on the Target table that will hold the map value, such as my_map_value. |=== @@ -581,60 +581,60 @@ By default, these parameters are commented out. |=== |Property | Default | Notes -| `spark.cdm.connect.origin.tls.enabled` -| `false` -| If TLS is used, set to `true`. +| spark.cdm.connect.origin.tls.enabled +| false +| If TLS is used, set to true. -| `spark.cdm.connect.origin.tls.trustStore.path` +| spark.cdm.connect.origin.tls.trustStore.path | | Path to the Java truststore file. -| `spark.cdm.connect.origin.tls.trustStore.password` +| spark.cdm.connect.origin.tls.trustStore.password | | Password needed to open the truststore. -| `spark.cdm.connect.origin.tls.trustStore.type ` -| `JKS` +| spark.cdm.connect.origin.tls.trustStore.type +| JKS | -| `spark.cdm.connect.origin.tls.keyStore.path` +| spark.cdm.connect.origin.tls.keyStore.path | | Path to the Java keystore file. -| `spark.cdm.connect.origin.tls.keyStore.password` +| spark.cdm.connect.origin.tls.keyStore.password | | Password needed to open the keystore. -| `spark.cdm.connect.origin.tls.enabledAlgorithms` -| `TLS_RSA_WITH_AES_128_CBC_SHA`,`TLS_RSA_WITH_AES_256_CBC_SHA` +| spark.cdm.connect.origin.tls.enabledAlgorithms +| TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA | -| `spark.cdm.connect.target.tls.enabled` -| `false` -| If TLS is used, set to `true`. +| spark.cdm.connect.target.tls.enabled +| false +| If TLS is used, set to true. -| `spark.cdm.connect.target.tls.trustStore.path` +| spark.cdm.connect.target.tls.trustStore.path | | Path to the Java truststore file. -| `spark.cdm.connect.target.tls.trustStore.password` +| spark.cdm.connect.target.tls.trustStore.password | | Password needed to open the truststore. -| `spark.cdm.connect.target.tls.trustStore.type ` -| `JKS` +| spark.cdm.connect.target.tls.trustStore.type +| JKS | -| `spark.cdm.connect.target.tls.keyStore.path` +| spark.cdm.connect.target.tls.keyStore.path | | Path to the Java keystore file. -| `spark.cdm.connect.target.tls.keyStore.password` +| spark.cdm.connect.target.tls.keyStore.password | | Password needed to open the keystore. -| `spark.cdm.connect.target.tls.enabledAlgorithms` -| `TLS_RSA_WITH_AES_128_CBC_SHA`,`TLS_RSA_WITH_AES_256_CBC_SHA` +| spark.cdm.connect.target.tls.enabledAlgorithms +| TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA | |=== From 46b9d83d6a300bb5d91c2168c74bb3671e401cd6 Mon Sep 17 00:00:00 2001 From: Emelia Wilkinson Date: Thu, 7 Mar 2024 17:15:00 -0500 Subject: [PATCH 05/17] removed mention of interactive diagrams, fixed formatting and made phase images static to work with new UI --- modules/ROOT/pages/change-read-routing.adoc | 2 +- .../ROOT/pages/connect-clients-to-target.adoc | 4 +- .../ROOT/pages/enable-async-dual-reads.adoc | 4 +- modules/ROOT/pages/introduction.adoc | 46 +++++++++++++++++++ .../ROOT/pages/migrate-and-validate-data.adoc | 4 +- modules/ROOT/pages/phase1.adoc | 4 +- 6 files changed, 55 insertions(+), 9 deletions(-) diff --git a/modules/ROOT/pages/change-read-routing.adoc b/modules/ROOT/pages/change-read-routing.adoc index 41830b4c..4321aa1e 100644 --- a/modules/ROOT/pages/change-read-routing.adoc +++ b/modules/ROOT/pages/change-read-routing.adoc @@ -5,7 +5,7 @@ ifndef::env-github,env-browser,env-vscode[:imagesprefix: ] This topic explains how you can configure the {zdm-proxy} to route all reads to Target instead of Origin. -include::partial$lightbox-tip.adoc[] +//include::partial$lightbox-tip.adoc[] image::{imagesprefix}migration-phase4ra9.png["Phase 4 diagram shows read routing on ZDM Proxy was switched to Target."] diff --git a/modules/ROOT/pages/connect-clients-to-target.adoc b/modules/ROOT/pages/connect-clients-to-target.adoc index 3ce20460..b1e1cbef 100644 --- a/modules/ROOT/pages/connect-clients-to-target.adoc +++ b/modules/ROOT/pages/connect-clients-to-target.adoc @@ -16,11 +16,11 @@ At this point in our migration phases, we've completed: Now we're ready to perform Phase 5, in which we will configure our client applications to connect directly to Target. The way you do this varies based on whether your Target is Astra DB or a regular Apache Cassandra® or DataStax Enterprise cluster. -include::partial$lightbox-tip.adoc[] +//include::partial$lightbox-tip.adoc[] image::{imagesprefix}migration-phase5ra.png[Phase 5 diagram shows apps no longer using proxy and instead connected directly to Target.] -For illustrations of all the migration phases, see the xref:introduction.adoc#_migration_phases[Introduction]. +//For illustrations of all the migration phases, see the xref:introduction.adoc#_migration_phases[Introduction]. == Configuring your driver to connect to a generic CQL cluster diff --git a/modules/ROOT/pages/enable-async-dual-reads.adoc b/modules/ROOT/pages/enable-async-dual-reads.adoc index b29f8cc0..fc0a3dd5 100644 --- a/modules/ROOT/pages/enable-async-dual-reads.adoc +++ b/modules/ROOT/pages/enable-async-dual-reads.adoc @@ -5,11 +5,11 @@ ifndef::env-github,env-browser,env-vscode[:imagesprefix: ] In this phase, you can optionally enable asynchronous dual reads. The idea is to test performance and verify that Target can handle your application's live request load before cutting over from Origin to Target. -include::partial$lightbox-tip.adoc[] +//include::partial$lightbox-tip.adoc[] image::{imagesprefix}migration-phase3ra.png[Phase 3 diagram shows optional step enabling async dual reads to test performance of Target.] -For illustrations of all the migration phases, see the xref:introduction.adoc#_migration_phases[Introduction]. +//For illustrations of all the migration phases, see the xref:introduction.adoc#_migration_phases[Introduction]. [TIP] ==== diff --git a/modules/ROOT/pages/introduction.adoc b/modules/ROOT/pages/introduction.adoc index bfdae087..7207941c 100644 --- a/modules/ROOT/pages/introduction.adoc +++ b/modules/ROOT/pages/introduction.adoc @@ -50,6 +50,51 @@ For additional terms, see the xref:glossary.adoc[glossary]. === Migration interactive diagram +Discover the migration concepts, software components, and sequence of operations. + +Your migration project occurs through a sequence of phases, which matches the structure of the {product} documentation. + +The highlighted components in each phase emphasize how your client applications perform read and write operations on your Origin and Target clusters. + +Let's look at a pre-migration from a high-level view. +At this point, your client applications are performing read/write operations with an existing CQL-compatible database: Apache Cassandra, DSE, or Astra DB. + +image:pre-migration0ra9.png["Pre-migration environment."] + +.Phase 1: Deploy ZDM Proxy and connect client applications +In this first phase, deploy the ZDM Proxy instances and connect client applications to the proxies. +This phase activates the dual-write logic. +Writes are bifurcated (sent to both Origin and Target), while reads are executed on Origin only. + +image:migration-phase1ra9.png["Migration Phase 1."] + +.Phase 2: Migrate data +In this phase, migrate existing data using Cassandra Data Migrator and/or DSBulk Migrator. +Validate that the migrated data is correct, while continuing to perform dual writes. + +image:migration-phase2ra9.png["Migration Phase 2."] + +.Phase 3: Enable asynchronous dual reads +In this phase, you can optionally enable asynchronous dual reads. +The idea is to test performance and verify that Target can handle your application's live request load before cutting over from Origin to Target. + +image:migration-phase3ra9.png["Migration Phase 3."] + +.Phase 4: Route reads to Target +In this phase, read routing on the ZDM Proxy is switched to Target so that all reads are executed on it, while writes are still sent to both clusters. +In other words, Target becomes the primary cluster. + +image:migration-phase4ra9.png["Migration Phase 4."] + +.Phase 5: Connect directly to Target +In this phase, move your client applications off the ZDM Proxy and connect the apps directly to Target. +Once that happens, the migration is complete. + +image:migration-phase5ra9.png["Migration Phase 5."] + +//// +=== Migration interactive diagram + Click the *Start* button on the interactive diagram below to begin a walkthrough of the migration phases. Click the components to open a larger view. @@ -111,6 +156,7 @@ In this phase, move your client applications off the ZDM Proxy and connect the a image:migration-phase5ra9.png["Illustrates migration Phase 5, as summarized in the text. Back and Restart buttons are available for navigation within the graphic."] -- ==== +//// == A fun way to learn: {zdm-product} Interactive Lab diff --git a/modules/ROOT/pages/migrate-and-validate-data.adoc b/modules/ROOT/pages/migrate-and-validate-data.adoc index 99c664ed..bb078267 100644 --- a/modules/ROOT/pages/migrate-and-validate-data.adoc +++ b/modules/ROOT/pages/migrate-and-validate-data.adoc @@ -12,11 +12,11 @@ For full details, see these topics: These tools provide sophisticated features that help you migrate your data from any Cassandra **Origin** (Apache Cassandra®, {company} Enterprise (DSE), {company} {astra_db}) to any Cassandra **Target** (Apache Cassandra, DSE, {company} {astra_db}). -include::partial$lightbox-tip.adoc[] +//include::partial$lightbox-tip.adoc[] image::{imagesprefix}migration-phase2ra.png[Phase 2 diagram shows using tools to migrate data from Origin to Target.] -For illustrations of all the migration phases, see the xref:introduction.adoc#_migration_phases[Introduction]. +//For illustrations of all the migration phases, see the xref:introduction.adoc#_migration_phases[Introduction]. == What's the difference between these data migration tools? diff --git a/modules/ROOT/pages/phase1.adoc b/modules/ROOT/pages/phase1.adoc index ce791f60..051e767a 100644 --- a/modules/ROOT/pages/phase1.adoc +++ b/modules/ROOT/pages/phase1.adoc @@ -11,8 +11,8 @@ This section presents the following: * xref:connect-clients-to-proxy.adoc[] * xref:manage-proxy-instances.adoc[] -include::partial$lightbox-tip.adoc[] +//include::partial$lightbox-tip.adoc[] image::{imagesprefix}migration-phase1ra.png[Phase 1 diagram shows deployed ZDM Proxy instances, client app connections to proxies, and Target is setup.] -For illustrations of all the migration phases, see the xref:introduction.adoc#_migration_phases[Introduction]. +//For illustrations of all the migration phases, see the xref:introduction.adoc#_migration_phases[Introduction]. From fbc488d58bf3663b760e72e0448314dc503fb65e Mon Sep 17 00:00:00 2001 From: Emelia Wilkinson Date: Fri, 8 Mar 2024 16:41:04 -0500 Subject: [PATCH 06/17] link updates --- modules/ROOT/pages/connect-clients-to-target.adoc | 4 ++-- modules/ROOT/pages/create-target.adoc | 2 +- modules/ROOT/pages/rollback.adoc | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/ROOT/pages/connect-clients-to-target.adoc b/modules/ROOT/pages/connect-clients-to-target.adoc index b1e1cbef..50c75990 100644 --- a/modules/ROOT/pages/connect-clients-to-target.adoc +++ b/modules/ROOT/pages/connect-clients-to-target.adoc @@ -32,7 +32,7 @@ To connect to your Astra DB cluster, you will need: * A valid set of credentials (ClientID and Client Secret) for the Astra DB organization to which your cluster belongs: ** Note: You will already have used these credentials when you configured the {zdm-proxy} to connect to your Astra DB cluster as Target. -** For more information on creating credentials (tokens), see https://docs.datastax.com/en/astra-serverless/docs/manage/org/manage-tokens.html[here^]. +** For more information on creating credentials (tokens), see https://docs.datastax.com/en/astra/astra-db-vector/administration/manage-application-tokens.html[here^]. * The Secure Connect Bundle (SCB) for your Astra DB cluster: ** This is a zip archive containing connection metadata and files to automatically enable Mutual TLS encryption between your client application and Astra DB. ** There is one SCB for each Astra DB cluster (or one for each region of an Astra DB Multi-region cluster). @@ -113,7 +113,7 @@ It is possible to configure older or community-contributed drivers to connect to To do so, you will need to extract the files from the SCB and use them to enable Mutual TLS in the configuration of your driver. Please see https://docs.datastax.com/en/astra-serverless/docs/connect/drivers/legacy-drivers.html[here^] for detailed instructions for each driver. -Alternatively, you could also consider using https://docs.datastax.com/en/astra-serverless/docs/connect/connecting-to-astra-databases-using-datastax-drivers.html#_cql_proxy[CQL Proxy^], which is an open-source lightweight proxy that abstracts away all Astra-specific connection configuration from your client application. +Alternatively, you could also consider using https://www.datastax.com/blog/easily-connect-apache-cassandra-workloads-to-datastaxs-serverless-dbaas-with-our-cql-proxy[CQL Proxy^], which is an open-source lightweight proxy that abstracts away all Astra-specific connection configuration from your client application. === A word on the cloud-native drivers diff --git a/modules/ROOT/pages/create-target.adoc b/modules/ROOT/pages/create-target.adoc index 79a8718c..2c01fa60 100644 --- a/modules/ROOT/pages/create-target.adoc +++ b/modules/ROOT/pages/create-target.adoc @@ -84,7 +84,7 @@ To complete the preparation work, create the client application schema in your n In Astra Portal, create each corresponding keyspace and tables. The keyspace names, table names and structure must be identical to the schema on Origin, bearing in mind that: -* In Astra DB, keyspaces must be created through Astra Portal. Keyspace creation through CQL is not supported. See https://docs.datastax.com/en/astra-serverless/docs/manage/db/manage-create.html[create your database^], and https://docs.datastax.com/en/astra-serverless/docs/manage/db/manage-keyspaces.html#_adding_a_new_keyspace[adding a new keyspace^]. +* In Astra DB, keyspaces must be created through Astra Portal. Keyspace creation through CQL is not supported. See https://docs.datastax.com/en/astra/astra-db-vector/databases/create-database.html[create your database^], and https://docs.datastax.com/en/astra/astra-db-vector/databases/manage-keyspaces.html#_adding_a_new_keyspace[adding a new keyspace^]. * Tables can be defined as usual in regular CQL, but the only table property that can be optionally set in Astra DB is `default_time_to_live`. Please remove all other table properties (such as compaction strategy, `gc_grace_seconds` and so on). diff --git a/modules/ROOT/pages/rollback.adoc b/modules/ROOT/pages/rollback.adoc index e5b7f082..a6753134 100644 --- a/modules/ROOT/pages/rollback.adoc +++ b/modules/ROOT/pages/rollback.adoc @@ -8,7 +8,7 @@ At any point during the migration process until the very last phase, if you hit The migration can be started from scratch once the issue has been addressed. -include::partial$lightbox-tip-all-phases.adoc[] +//include::partial$lightbox-tip-all-phases.adoc[] image::{imagesprefix}migration-all-phases.png[Migration phases from start to finish.] From 69d54f273fb987bcb357b2a0b47d28807ccaffaf Mon Sep 17 00:00:00 2001 From: Emelia Wilkinson Date: Tue, 12 Mar 2024 16:24:37 -0400 Subject: [PATCH 07/17] fixed cassandra-data-migrator.adoc tables to be proportional and added backticks back in for code formatting after UI workaround was no longer necessary --- .../ROOT/pages/cassandra-data-migrator.adoc | 190 +++++++++--------- 1 file changed, 92 insertions(+), 98 deletions(-) diff --git a/modules/ROOT/pages/cassandra-data-migrator.adoc b/modules/ROOT/pages/cassandra-data-migrator.adoc index d7bd53bf..dc6a8669 100644 --- a/modules/ROOT/pages/cassandra-data-migrator.adoc +++ b/modules/ROOT/pages/cassandra-data-migrator.adoc @@ -193,7 +193,7 @@ Use {cstar-data-migrator} to identify large fields from a table that may break y [[cdm-connection-params]] === Common connection parameters for Origin and Target -[cols="3,1,3"] +[cols="5,2,4"] |=== |Property | Default | Notes @@ -243,37 +243,37 @@ Use {cstar-data-migrator} to identify large fields from a table that may break y [[cdm-origin-schema-params]] === Origin schema parameters -[cols="3,1,3a"] +[cols="3,1,5a"] |=== |Property | Default | Notes -| spark.cdm.schema.origin.keyspaceTable +| `spark.cdm.schema.origin.keyspaceTable` | -| Required - the . of the table to be migrated. Table must exist in Origin. +| Required - the `.` of the table to be migrated. Table must exist in Origin. -| spark.cdm.schema.origin.column.ttl.automatic -| true -| Default is true, unless spark.cdm.schema.origin.column.ttl.names is specified. When true, the Time To Live (TTL) of the Target record will be determined by finding the maximum TTL of all Origin columns that can have TTL set (which excludes partition key, clustering key, collections/UDT/tuple, and frozen columns). When false, and spark.cdm.schema.origin.column.ttl.names is not set, the Target record will have the TTL determined by the Target table configuration. +| `spark.cdm.schema.origin.column.ttl.automatic` +| `true` +| Default is `true`, unless `spark.cdm.schema.origin.column.ttl.names` is specified. When `true`, the Time To Live (TTL) of the Target record will be determined by finding the maximum TTL of all Origin columns that can have TTL set (which excludes partition key, clustering key, collections/UDT/tuple, and frozen columns). When `false`, and `spark.cdm.schema.origin.column.ttl.names` is not set, the Target record will have the TTL determined by the Target table configuration. -| spark.cdm.schema.origin.column.ttl.names +| `spark.cdm.schema.origin.column.ttl.names` | -| Default is empty, meaning the names will be determined automatically if spark.cdm.schema.origin.column.ttl.automatic is set. Specify a subset of eligible columns that are used to calculate the TTL of the Target record. +| Default is empty, meaning the names will be determined automatically if `spark.cdm.schema.origin.column.ttl.automatic` is set. Specify a subset of eligible columns that are used to calculate the TTL of the Target record. -| spark.cdm.schema.origin.column.writetime.automatic -| true -| Default is true, unless spark.cdm.schema.origin.column.writetime.names is specified. When true, the WRITETIME of the Target record will be determined by finding the maximum WRITETIME of all Origin columns that can have WRITETIME set (which excludes partition key, clustering key, collections/UDT/tuple, and frozen columns). When false, and spark.cdm.schema.origin.column.writetime.names is not set, the Target record will have the WRITETIME determined by the Target table configuration. +| `spark.cdm.schema.origin.column.writetime.automatic` +| `true` +| Default is `true`, unless `spark.cdm.schema.origin.column.writetime.names` is specified. When `true`, the `WRITETIME` of the Target record will be determined by finding the maximum `WRITETIME` of all Origin columns that can have `WRITETIME` set (which excludes partition key, clustering key, collections/UDT/tuple, and frozen columns). When `false`, and `spark.cdm.schema.origin.column.writetime.names` is not set, the Target record will have the `WRITETIME` determined by the Target table configuration. [NOTE] ==== -The spark.cdm.transform.custom.writetime property, if set, would override spark.cdm.schema.origin.column.writetime. +The `spark.cdm.transform.custom.writetime` property, if set, would override `spark.cdm.schema.origin.column.writetime`. ==== -| spark.cdm.schema.origin.column.writetime.names +| `spark.cdm.schema.origin.column.writetime.names` | -| Default is empty, meaning the names will be determined automatically if spark.cdm.schema.origin.column.writetime.automatic is set. Otherwise, specify a subset of eligible columns that are used to calculate the WRITETIME of the Target record. Example: data_col1,data_col2,... +| Default is empty, meaning the names will be determined automatically if `spark.cdm.schema.origin.column.writetime.automatic` is set. Otherwise, specify a subset of eligible columns that are used to calculate the WRITETIME of the Target record. Example: `data_col1,data_col2,...` -| spark.cdm.schema.origin.column.names.to.target +| `spark.cdm.schema.origin.column.names.to.target` | -| Default is empty. If column names are changed between Origin and Target, then this mapped list provides a mechanism to associate the two. The format is :. The list is comma-separated. You only need to list renamed columns. +| Default is empty. If column names are changed between Origin and Target, then this mapped list provides a mechanism to associate the two. The format is `:`. The list is comma-separated. You only need to list renamed columns. |=== @@ -286,13 +286,13 @@ For optimization reasons, {cstar-data-migrator} does not migrate TTL and writeti [[cdm-target-schema-params]] === Target schema parameter -[cols="3,1,3"] +[cols="3,1,2"] |=== |Property | Default | Notes | `spark.cdm.schema.target.keyspaceTable` -| -| This parameter is commented out. It's the `.` of the table to be migrated into the Target. Table must exist in Target. Default is the value of `spark.cdm.schema.origin.keyspaceTable`. +| Equals the value of `spark.cdm.schema.origin.keyspaceTable` +| This parameter is commented out. It's the `.` of the table to be migrated into the Target. Table must exist in Target. |=== @@ -304,7 +304,7 @@ Auto-correction parameters allow {cstar-data-migrator} to correct data differenc For information about invoking `DiffData` in a {cstar-data-migrator} command, see xref:#cdm-validation-steps[{cstar-data-migrator} steps in validation mode] in this topic. -[cols="3,1,3a"] +[cols="2,2,3a"] |=== |Property | Default | Notes @@ -336,7 +336,7 @@ The `TIMESTAMP` of records may have an effect. If the `WRITETIME` of the Origin Performance and operations parameters that can affect migration throughput, error handling, and similar concerns. -[cols="3,1,3"] +[cols="4,1,3"] |=== |Property | Default | Notes @@ -386,47 +386,47 @@ Parameters to perform schema transformations between Origin and Target. By default, these parameters are commented out. -[cols="3,1,3a"] +[cols="2,1,4a"] |=== |Property | Default | Notes -| spark.cdm.transform.missing.key.ts.replace.value -| 1685577600000 +| `spark.cdm.transform.missing.key.ts.replace.value` +| `1685577600000` | Timestamp value in milliseconds. -Partition and clustering columns cannot have null values, but if these are added as part of a schema transformation between Origin and Target, it is possible that the Origin side is null. In this case, the Migrate data operation would fail. This parameter allows a crude constant value to be used in its place, separate from the Constant values feature. +Partition and clustering columns cannot have null values, but if these are added as part of a schema transformation between Origin and Target, it is possible that the Origin side is null. In this case, the `Migrate` data operation would fail. This parameter allows a crude constant value to be used in its place, separate from the Constant values feature. -| spark.cdm.transform.custom.writetime -| 0 -| Default is 0 (disabled). Timestamp value in microseconds to use as the WRITETIME for the Target record. This is useful when the WRITETIME of the record in Origin cannot be determined (such as when the only non-key columns are collections). This parameter allows a crude constant value to be used in its place, and overrides spark.cdm.schema.origin.column.writetime.names. +| `spark.cdm.transform.custom.writetime` +| `0` +| Default is 0 (disabled). Timestamp value in microseconds to use as the `WRITETIME` for the Target record. This is useful when the `WRITETIME` of the record in Origin cannot be determined (such as when the only non-key columns are collections). This parameter allows a crude constant value to be used in its place, and overrides `spark.cdm.schema.origin.column.writetime.names`. -| spark.cdm.transform.custom.writetime.incrementBy -| 0 -| Default is 0. This is useful when you have a List that is not frozen, and you are updating this via the autocorrect feature. Lists are not idempotent, and subsequent UPSERTs would add duplicates to the list. +| `spark.cdm.transform.custom.writetime.incrementBy` +| `0` +| Default is `0`. This is useful when you have a List that is not frozen, and you are updating this via the autocorrect feature. Lists are not idempotent, and subsequent UPSERTs would add duplicates to the list. -| spark.cdm.transform.codecs +| `spark.cdm.transform.codecs` | | Default is empty. A comma-separated list of additional codecs to enable. - * INT_STRING : int stored in a String. - * DOUBLE_STRING : double stored in a String. - * BIGINT_STRING : bigint stored in a String. - * DECIMAL_STRING : decimal stored in a String. - * TIMESTAMP_STRING_MILLIS : timestamp stored in a String, as Epoch milliseconds. - * TIMESTAMP_STRING_FORMAT : timestamp stored in a String, with a custom format. + * `INT_STRING` : int stored in a String. + * `DOUBLE_STRING` : double stored in a String. + * `BIGINT_STRING` : bigint stored in a String. + * `DECIMAL_STRING` : decimal stored in a String. + * `TIMESTAMP_STRING_MILLIS` : timestamp stored in a String, as Epoch milliseconds. + * `TIMESTAMP_STRING_FORMAT` : timestamp stored in a String, with a custom format. [NOTE] ==== -Where there are multiple type pair options, such as with TIMESTAMP_STRING_*, only one can be configured at a time with the spark.cdm.transform.codecs parameter. +Where there are multiple type pair options, such as with `TIMESTAMP_STRING_*`, only one can be configured at a time with the `spark.cdm.transform.codecs` parameter. ==== -| spark.cdm.transform.codecs.timestamp.string.format -| yyyyMMddHHmmss -| Configuration for CQL_TIMESTAMP_TO_STRING_FORMAT codec. Default format is yyyyMMddHHmmss; DateTimeFormatter.ofPattern(formatString) +| `spark.cdm.transform.codecs.timestamp.string.format` +| `yyyyMMddHHmmss` +| Configuration for `CQL_TIMESTAMP_TO_STRING_FORMAT` codec. Default format is `yyyyMMddHHmmss`; `DateTimeFormatter.ofPattern(formatString)` -| spark.cdm.transform.codecs.timestamp.string.zone -| UTC -| Default is UTC. Must be in ZoneRulesProvider.getAvailableZoneIds(). +| `spark.cdm.transform.codecs.timestamp.string.zone` +| `UTC` +| Default is `UTC`. Must be in `ZoneRulesProvider.getAvailableZoneIds()`. |=== @@ -464,32 +464,30 @@ Java filters are applied on the client node. Data must be pulled from the Origin By default, these parameters are commented out. -[cols="3,1,3"] +[cols="2,1,4"] |=== |Property | Default | Notes -| spark.cdm.filter.java.token.percent -| 100 +| `spark.cdm.filter.java.token.percent` +| `100` | Percent (between 1 and 100) of the token in each Split that will be migrated. This property is used to do a wide and random sampling of the data. The percentage value is applied to each split. Invalid percentages will be treated as 100. -| spark.cdm.filter.java.writetime.min -| 0 -| The lowest (inclusive) writetime values to be migrated. Using the spark.cdm.filter.java.writetime.min and spark.cdm.filter.java.writetime.max thresholds, {cstar-data-migrator} can filter records based on their writetimes. The maximum writetime of the columns configured at spark.cdm.schema.origin.column.writetime.names will be compared to the .min and .max thresholds, which must be in microseconds since the epoch. If the spark.cdm.schema.origin.column.writetime.names are not specified, or the thresholds are null or otherwise invalid, the filter will be ignored. Note that spark.cdm.s.perfops.batchSize will be ignored when this filter is in place; a value of 1 will be used instead. +| `spark.cdm.filter.java.writetime.min` +| `0` +| The lowest (inclusive) writetime values to be migrated. Using the `spark.cdm.filter.java.writetime.min` and `spark.cdm.filter.java.writetime.max` thresholds, {cstar-data-migrator} can filter records based on their writetimes. The maximum writetime of the columns configured at `spark.cdm.schema.origin.column.writetime.names` will be compared to the `.min` and `.max` thresholds, which must be in **microseconds since the epoch**. If the `spark.cdm..schema.origin.column.writetime.names` are not specified, or the thresholds are null or otherwise invalid, the filter will be ignored. Note that `spark.cdm.s.perfops.batchSize` will be ignored when this filter is in place; a value of 1 will be used instead. -| spark.cdm.filter.java.writetime.max -| 9223372036854775807 -| The highest (inclusive) writetime values to be migrated. Maximum timestamp of the columns specified by spark.cdm.schema.origin.column.writetime.names; if that property is not specified, or is for some reason null, the filter is ignored. +| `spark.cdm.filter.java.writetime.max` +| `9223372036854775807` +| The highest (inclusive) writetime values to be migrated. Maximum timestamp of the columns specified by `spark.cdm.schema.origin.column.writetime.names`; if that property is not specified, or is for some reason null, the filter is ignored. -| spark.cdm.filter.java.column.name +| `spark.cdm.filter.java.column.name` | -| Filter rows based on matching a configured value. With spark.cdm.filter.java.column.name, specify the column name against which the spark.cdm.filter.java.column.value is compared. Must be on the column list specified at spark.cdm.schema.origin.column.names. The column value will be converted to a String, trimmed of whitespace on both ends, and compared. +| Filter rows based on matching a configured value. With `spark.cdm.filter.java.column.name`, specify the column name against which the `spark.cdm.filter.java.column.value` is compared. Must be on the column list specified at `spark.cdm.schema.origin.column.names`. The column value will be converted to a String, trimmed of whitespace on both ends, and compared. -| spark.cdm.filter.java.column.value +| `spark.cdm.filter.java.column.value` | -| String value to use as comparison. Whitespace on the ends of spark.cdm.filter.java.column.value will be trimmed. - - +| String value to use as comparison. Whitespace on the ends of `spark.cdm.filter.java.column.value` will be trimmed. |=== @@ -501,7 +499,7 @@ If used, the `spark.cdm.feature.constantColumns.names`, `spark.cdm.feature.const By default, these parameters are commented out. -[cols="3,1,3"] +[cols="2,1,3"] |=== |Property | Default | Notes @@ -531,22 +529,18 @@ The explode map feature allows you convert an Origin table Map into multiple Tar By default, these parameters are commented out. -[cols="3,1,3"] +[cols="3,3"] |=== -|Property | Default | Notes +|Property | Notes -| spark.cdm.feature.explodeMap.origin.name -| -| The name of the map column, such as my_map. Must be defined on spark.cdm.schema.origin.column.names, and the corresponding type on spark.cdm.schema.origin.column.types must be a map. +| `spark.cdm.feature.explodeMap.origin.name` +| The name of the map column, such as `my_map`. Must be defined on `spark.cdm.schema.origin.column.names`, and the corresponding type on `spark.cdm.schema.origin.column.types` must be a map. -| spark.cdm.feature.explodeMap.origin.name.key -| -| The name of the column on the Target table that will hold the map key, such as my_map_key. This key must be present on the Target primary key spark.cdm.schema.target.column.id.names. - -| spark.cdm.feature.explodeMap.origin.value -| -| The name of the column on the Target table that will hold the map value, such as my_map_value. +| `spark.cdm.feature.explodeMap.origin.name.key` +| The name of the column on the Target table that will hold the map key, such as `my_map_key`. This key must be present on the Target primary key `spark.cdm.schema.target.column.id.names`. +| `spark.cdm.feature.explodeMap.origin.value` +| The name of the column on the Target table that will hold the map value, such as `my_map_value`. |=== @@ -577,64 +571,64 @@ Note that a secure connect bundle (SCB) embeds these details. By default, these parameters are commented out. -[cols="3,1,3"] +[cols="3,3,3"] |=== |Property | Default | Notes -| spark.cdm.connect.origin.tls.enabled -| false -| If TLS is used, set to true. +| `spark.cdm.connect.origin.tls.enabled` +| `false` +| If TLS is used, set to `true`. -| spark.cdm.connect.origin.tls.trustStore.path +| `spark.cdm.connect.origin.tls.trustStore.path` | | Path to the Java truststore file. -| spark.cdm.connect.origin.tls.trustStore.password +| `spark.cdm.connect.origin.tls.trustStore.password` | | Password needed to open the truststore. -| spark.cdm.connect.origin.tls.trustStore.type -| JKS +| `spark.cdm.connect.origin.tls.trustStore.type ` +| `JKS` | -| spark.cdm.connect.origin.tls.keyStore.path +| `spark.cdm.connect.origin.tls.keyStore.path` | | Path to the Java keystore file. -| spark.cdm.connect.origin.tls.keyStore.password +| `spark.cdm.connect.origin.tls.keyStore.password` | | Password needed to open the keystore. -| spark.cdm.connect.origin.tls.enabledAlgorithms -| TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA +| `spark.cdm.connect.origin.tls.enabledAlgorithms` +| `TLS_RSA_WITH_AES_128_CBC_SHA`,`TLS_RSA_WITH_AES_256_CBC_SHA` | -| spark.cdm.connect.target.tls.enabled -| false -| If TLS is used, set to true. +| `spark.cdm.connect.target.tls.enabled` +| `false` +| If TLS is used, set to `true`. -| spark.cdm.connect.target.tls.trustStore.path +| `spark.cdm.connect.target.tls.trustStore.path` | | Path to the Java truststore file. -| spark.cdm.connect.target.tls.trustStore.password +| `spark.cdm.connect.target.tls.trustStore.password` | | Password needed to open the truststore. -| spark.cdm.connect.target.tls.trustStore.type -| JKS +| `spark.cdm.connect.target.tls.trustStore.type ` +| `JKS` | -| spark.cdm.connect.target.tls.keyStore.path +| `spark.cdm.connect.target.tls.keyStore.path` | | Path to the Java keystore file. -| spark.cdm.connect.target.tls.keyStore.password +| `spark.cdm.connect.target.tls.keyStore.password` | | Password needed to open the keystore. -| spark.cdm.connect.target.tls.enabledAlgorithms -| TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA +| `spark.cdm.connect.target.tls.enabledAlgorithms` +| `TLS_RSA_WITH_AES_128_CBC_SHA`,`TLS_RSA_WITH_AES_256_CBC_SHA` | -|=== +|=== \ No newline at end of file From 1b8f785de148fc19c4474bcbaa22d768c45a3655 Mon Sep 17 00:00:00 2001 From: Emelia Wilkinson Date: Thu, 14 Mar 2024 10:57:01 -0400 Subject: [PATCH 08/17] final readthrough, intro, components, faq, and feasibility checks pages are done --- antora.yml | 1 + modules/ROOT/pages/components.adoc | 75 ++++++++------ modules/ROOT/pages/faqs.adoc | 57 +++++++---- .../ROOT/pages/feasibility-checklists.adoc | 99 +++++++++++++------ modules/ROOT/pages/introduction.adoc | 35 +++++-- modules/ROOT/partials/interactive-lab.adoc | 4 +- .../ROOT/partials/migration-scenarios.adoc | 16 +-- modules/ROOT/partials/supported-releases.adoc | 4 +- modules/ROOT/partials/tip-scb.adoc | 2 +- 9 files changed, 199 insertions(+), 94 deletions(-) diff --git a/antora.yml b/antora.yml index a5a01100..f4df554d 100644 --- a/antora.yml +++ b/antora.yml @@ -22,3 +22,4 @@ asciidoc: astra-cli: 'Astra CLI' url-astra: 'https://astra.datastax.com' link-astra-portal: '{url-astra}[{astra_ui}^]' + astra-db-serverless: 'Astra DB Serverless' diff --git a/modules/ROOT/pages/components.adoc b/modules/ROOT/pages/components.adoc index 52832d99..06cafb5e 100644 --- a/modules/ROOT/pages/components.adoc +++ b/modules/ROOT/pages/components.adoc @@ -3,28 +3,36 @@ ifdef::env-github,env-browser,env-vscode[:imagesprefix: ../images/] ifndef::env-github,env-browser,env-vscode[:imagesprefix: ] -The main component of the {company} {zdm-product} product suite is **{zdm-proxy}**, which by design is a simple and lightweight proxy that handles all the real-time requests generated by your client applications. {zdm-proxy} is open-source software (OSS) and available in its Public GitHub repo, https://github.com/datastax/zdm-proxy. You can view the source files and contribute code for potential inclusion via Pull Requests (PRs) initiated on a fork of the repo. +The main component of the {company} {zdm-product} product suite is **{zdm-proxy}**, which by design is a simple and lightweight proxy that handles all the real-time requests generated by your client applications. + +{zdm-proxy} is open-source software (OSS) and available in its https://github.com/datastax/zdm-proxy[Public GitHub repo]. +You can view the source files and contribute code for potential inclusion via Pull Requests (PRs) initiated on a fork of the repo. The {zdm-proxy} itself doesn't have any capability to migrate data or knowledge that a migration may be ongoing, and it is not coupled to the migration process in any way. * {company} {zdm-product} also provides the **{zdm-utility}** and **{zdm-automation}** to set up and run the Ansible playbooks that deploy and manage the {zdm-proxy} and its monitoring stack. -* Two data migration tools are available -- **{cstar-data-migrator}** and **{dsbulk-migrator}** -- to migrate your data. See the xref:introduction.adoc#_data_migration_tools[summary of features] below. +* Multiple data migration tools such as **{cstar-data-migrator}** and **{dsbulk-migrator}** are available. == Role of {zdm-proxy} -We created {zdm-proxy} to function between the application and both databases (Origin and Target). The databases can be any CQL-compatible data store (e.g. Apache Cassandra, DataStax Enterprise and {astra_db}). The proxy always sends every write operation (Insert, Update, Delete) synchronously to both clusters at the desired Consistency Level: +We created {zdm-proxy} to function between the application and both databases (Origin and Target). +The databases can be any CQL-compatible data store (e.g. Apache Cassandra, DataStax Enterprise and {astra_db}). +The proxy always sends every write operation (Insert, Update, Delete) synchronously to both clusters at the desired Consistency Level: -* If the write is successful in both clusters, it returns a successful acknowledgement to the client application +* If the write is successful in both clusters, it returns a successful acknowledgement to the client application. * If the write fails on either cluster, the failure is passed back to the client application so that it can retry it as appropriate, based on its own retry policy. -This design ensures that new data is always written to both clusters, and that any failure on either cluster is always made visible to the client application. {zdm-proxy} also sends all reads to the primary cluster (initially Origin, and later Target) and returns the result to the client application. +This design ensures that new data is always written to both clusters, and that any failure on either cluster is always made visible to the client application. +{zdm-proxy} also sends all reads to the primary cluster (initially Origin, and later Target) and returns the result to the client application. -{zdm-proxy} is designed to be highly available. It can be scaled horizontally, so typical deployments are made up of a minimum of 3 servers. {zdm-proxy} can be restarted in a rolling fashion, for example, to change configuration for different phases of the migration. +{zdm-proxy} is designed to be highly available. It can be scaled horizontally, so typical deployments are made up of a minimum of 3 servers. +{zdm-proxy} can be restarted in a rolling fashion, for example, to change configuration for different phases of the migration. [TIP] ==== -{zdm-proxy} has been designed to run in a **clustered** fashion so that it is never a single point of failure. Unless it is for a demo or local testing environment, a {zdm-proxy} deployment should always comprise multiple {zdm-proxy} instances. +{zdm-proxy} has been designed to run in a **clustered** fashion so that it is never a single point of failure. +Unless it is for a demo or local testing environment, a {zdm-proxy} deployment should always comprise multiple {zdm-proxy} instances. The term {zdm-proxy} indicates the whole deployment, and {zdm-proxy} instance refers to an individual proxy process in the deployment. ==== @@ -37,25 +45,34 @@ The term {zdm-proxy} indicates the whole deployment, and {zdm-proxy} instance re * Bifurcates writes synchronously to both clusters during the migration process. -* Returns (for read operations) the response from the primary cluster, which is its designated source of truth. During a migration, Origin is typically the primary cluster. Near the end of the migration, you'll shift the primary cluster to be Target. +* Returns (for read operations) the response from the primary cluster, which is its designated source of truth. +During a migration, Origin is typically the primary cluster. +Near the end of the migration, you'll shift the primary cluster to be Target. -* Can be configured to also read asynchronously from Target. This capability is called **Asynchronous Dual Reads** (also known as **Read Mirroring**) and allows you to observe what read latencies and throughput Target can achieve under the actual production load. +* Can be configured to also read asynchronously from Target. +This capability is called **Asynchronous Dual Reads** (also known as **Read Mirroring**) and allows you to observe what read latencies and throughput Target can achieve under the actual production load. ** Results from the asynchronous reads executed on Target are not sent back to the client application. ** This design implies that failure on asynchronous reads from Target does not cause an error on the client application. ** Asynchronous dual reads can be enabled and disabled dynamically with a rolling restart of the {zdm-proxy} instances. [NOTE] ==== -When using Asynchronous Dual Reads, any additional read load on Target may impact its ability to keep up with writes. This behavior is expected and desired. The idea is to mimic the full read and write load on Target so there are no surprises during the last migration phase; that is, after cutting over completely to Target. +When using Asynchronous Dual Reads, any additional read load on Target may impact its ability to keep up with writes. +This behavior is expected and desired. +The idea is to mimic the full read and write load on Target so there are no surprises during the last migration phase; that is, after cutting over completely to Target. ==== == {zdm-utility} and {zdm-automation} -https://www.ansible.com/[Ansible] is a suite of software tools that enables infrastructure as code. It is open source and its capabilities include software provisioning, configuration management, and application deployment functionality. +https://www.ansible.com/[Ansible] is a suite of software tools that enables infrastructure as code. +It is open source and its capabilities include software provisioning, configuration management, and application deployment functionality. -The Ansible automation for {zdm-shortproduct} is organized into playbooks, each implementing a specific operation. The machine from which the playbooks are run is known as the Ansible Control Host. In {zdm-shortproduct}, the Ansible Control Host will run as a Docker container. +The Ansible automation for {zdm-shortproduct} is organized into playbooks, each implementing a specific operation. +The machine from which the playbooks are run is known as the Ansible Control Host. +In {zdm-shortproduct}, the Ansible Control Host will run as a Docker container. -You will use the **{zdm-utility}** to set up Ansible in a Docker container, and **{zdm-automation}** to run the Ansible playbooks from the Docker container created by {zdm-utility}. In other words,the {zdm-utility} creates the Docker container acting as the **Ansible Control Host**, from which the {zdm-automation} allows you to deploy and manage the {zdm-proxy} instances and the associated monitoring stack - Prometheus metrics and Grafana visualization of the metric data. +You will use the **{zdm-utility}** to set up Ansible in a Docker container, and **{zdm-automation}** to run the Ansible playbooks from the Docker container created by {zdm-utility}. +In other words,the {zdm-utility} creates the Docker container acting as the **Ansible Control Host**, from which the {zdm-automation} allows you to deploy and manage the {zdm-proxy} instances and the associated monitoring stack - Prometheus metrics and Grafana visualization of the metric data. {zdm-utility} and {zdm-automation} expect that you have already provisioned the recommended infrastructure, as outlined in xref:deployment-infrastructure.adoc[]. @@ -68,29 +85,31 @@ For details, see: == Data migration tools -As part of the overall migration process, you can use {cstar-data-migrator} and/or {dsbulk-migrator} to migrate your data. Or you can use other technologies, such as Apache Spark™, to write your own custom data migration process. +As part of the overall migration process, you can use {cstar-data-migrator} and/or {dsbulk-migrator} to migrate your data. +Other technologies such as Apache Spark™ can be used to write your own custom data migration process. === {cstar-data-migrator} +[TIP] +==== +An important **prerequisite** to use {cstar-data-migrator} is that you already have the matching schema on Target. +==== + Use {cstar-data-migrator} to: -* Migrate your data from any CQL-supported Origin to any CQL-supported Target. Examples of databases that support CQL are Apache Cassandra, DataStax Enterprise and {astra_db}. -* Validate migration accuracy and performance using examples that provide a smaller, randomized data set -* Preserve internal `writetime` timestamps and Time To Live (TTL) values -* Take advantage of advanced data types (Sets, Lists, Maps, UDTs) -* Filter records from the Origin data, using Cassandra's internal `writetime` timestamp -* Use SSL Support, including custom cipher algorithms +* Migrate your data from any CQL-supported Origin to any CQL-supported Target. +Examples of databases that support CQL are Apache Cassandra, DataStax Enterprise and {astra_db}. +* Validate migration accuracy and performance using examples that provide a smaller, randomized data set. +* Preserve internal `writetime` timestamps and Time To Live (TTL) values. +* Take advantage of advanced data types (Sets, Lists, Maps, UDTs). +* Filter records from the Origin data, using Cassandra's internal `writetime` timestamp. +* Use SSL Support, including custom cipher algorithms. Cassandra Data Migrator is designed to: -* Connect to and compare your Target database with Origin -* Report differences in a detailed log file -* Optionally reconcile any missing records and fix any data inconsistencies in Target, if you enable `autocorrect` in a config file - -[TIP] -==== -An important **prerequisite** is that you already have the matching schema on Target. -==== +* Connect to and compare your Target database with Origin. +* Report differences in a detailed log file. +* Optionally reconcile any missing records and fix any data inconsistencies in Target by enabling `autocorrect` in a config file. === {dsbulk-migrator} diff --git a/modules/ROOT/pages/faqs.adoc b/modules/ROOT/pages/faqs.adoc index 834d76f8..9a42bc8b 100644 --- a/modules/ROOT/pages/faqs.adoc +++ b/modules/ROOT/pages/faqs.adoc @@ -40,12 +40,15 @@ The interactive lab spans the pre-migration prerequisites and each of the five k {company} {zdm-product} includes the following: * xref:glossary.adoc#zdm-proxy[**{zdm-proxy}**] is a service that operates between xref:glossary.adoc#origin[**Origin**], which is your existing cluster, and xref:glossary.adoc#target[**Target**], which is the cluster to which you are migrating. -* **{zdm-automation}** is an Ansible-based tool that allows you to deploy and manage the {zdm-proxy} instances and associated monitoring stack. To simplify its setup, the suite includes the {zdm-utility}. This interactive utility creates a Docker container acting as the Ansible Control Host. The Ansible playbooks constitute the {zdm-automation}. +* **{zdm-automation}** is an Ansible-based tool that allows you to deploy and manage the {zdm-proxy} instances and associated monitoring stack. +To simplify its setup, the suite includes the {zdm-utility}. +This interactive utility creates a Docker container acting as the Ansible Control Host. +The Ansible playbooks constitute the {zdm-automation}. * **{cstar-data-migrator}** is designed to: -** Connect to your clusters and compare the data between Origin and Target -** Report differences in a detailed log file -** Reconcile any missing records and fix any data inconsistencies between Origin and Target, if you enable `autocorrect` in a configuration file -* **{dsbulk-migrator}** is provided to migrate smaller amounts of data from Origin to Target +** Connect to your clusters and compare the data between Origin and Target. +** Report differences in a detailed log file. +** Reconcile any missing records and fix any data inconsistencies between Origin and Target by enabling `autocorrect` in a configuration file. +* **{dsbulk-migrator}** is provided to migrate smaller amounts of data from Origin to Target. * Well-defined steps in this migration documentation, organized as a sequence of phases. == What exactly is {zdm-proxy}? @@ -71,7 +74,9 @@ include::partial$migration-scenarios.adoc[] == Does {zdm-shortproduct} migrate clusters? -{zdm-shortproduct} does not migrate clusters. With {zdm-shortproduct}, we are migrating data and applications *between clusters*. At the end of the migration, your application will be running on your new cluster, which will have been populated with all the relevant data. +{zdm-shortproduct} does not migrate clusters. +With {zdm-shortproduct}, we are migrating data and applications *between clusters*. +At the end of the migration, your application will be running on your new cluster, which will have been populated with all the relevant data. == What challenges does {zdm-shortproduct} solve? @@ -91,11 +96,16 @@ https://www.datastax.com/products/luna[Luna] is a subscription to the Apache Cas For any observed problems with the {zdm-proxy}, submit a https://github.com/datastax/zdm-proxy/issues[GitHub Issue^] in the {zdm-proxy} GitHub repo. -Additional examples serve as templates, from which you can learn about migrations. {company} does not assume responsibility for making the templates work for specific use cases. +Additional examples serve as templates, from which you can learn about migrations. +{company} does not assume responsibility for making the templates work for specific use cases. == Where are the public GitHub repos? -All the {company} {zdm-product} GitHub repos are public and open source. You are welcome to read the code and submit feedback via GitHub Issues per repo. In addition to sending feedback, you may submit Pull Requests (PRs) for potential inclusion. To submit PRs, you must for first agree to the https://cla.datastax.com/[DataStax Contribution License Agreement (CLA)]. +All the {company} {zdm-product} GitHub repos are public and open source. +You are welcome to read the code and submit feedback via GitHub Issues per repo. +In addition to sending feedback, you may submit Pull Requests (PRs) for potential inclusion. + +To submit PRs, you must for first agree to the https://cla.datastax.com/[DataStax Contribution License Agreement (CLA)]. * https://github.com/datastax/zdm-proxy[{zdm-proxy}^] repo for ZDM Proxy. @@ -112,15 +122,20 @@ All the {company} {zdm-product} GitHub repos are public and open source. You are Yes, and here's a summary: -* For application-to-proxy TLS, the application is the TLS client and the {zdm-proxy} is the TLS server. One-way TLS and Mutual TLS are both supported. -* For proxy-to-cluster TLS, the {zdm-proxy} acts as the TLS client and the cluster as the TLS server. One-way TLS and Mutual TLS are both supported. -* When the {zdm-proxy} connects to {astra_db} clusters, it always implicitly uses Mutual TLS. This is done through the Secure Connect Bundle (SCB) and does not require any extra configuration. +* For application-to-proxy TLS, the application is the TLS client and the {zdm-proxy} is the TLS server. +One-way TLS and Mutual TLS are both supported. +* For proxy-to-cluster TLS, the {zdm-proxy} acts as the TLS client and the cluster as the TLS server. +One-way TLS and Mutual TLS are both supported. +* When the {zdm-proxy} connects to {astra_db} clusters, it always implicitly uses Mutual TLS. +This is done through the Secure Connect Bundle (SCB) and does not require any extra configuration. For TLS details, see xref:tls.adoc[]. == How does {zdm-proxy} handle Lightweight Transactions (LWTs)? -{zdm-proxy} handles LWTs as write operations. The proxy sends the LWT to Origin and Target clusters concurrently, and waits for a response from both. {zdm-proxy} will return a `success` status to the client if both Origin and Target send successful acknowledgements, or otherwise will return a `failure` status if one or both do not return an acknowledgement. +{zdm-proxy} handles LWTs as write operations. +The proxy sends the LWT to Origin and Target clusters concurrently, and waits for a response from both. +{zdm-proxy} will return a `success` status to the client if both Origin and Target send successful acknowledgements, or otherwise will return a `failure` status if one or both do not return an acknowledgement. What sets LWTs apart from regular writes is that they are conditional. For important details, including the client context for a returned `applied` flag, see xref:feasibility-checklists.adoc#_lightweight_transactions_and_the_applied_flag[Lightweight Transactions and the `applied` flag]. @@ -128,20 +143,28 @@ What sets LWTs apart from regular writes is that they are conditional. For impor {zdm-proxy} should not be deployed as a sidecar. -{zdm-proxy} was designed to mimic a Cassandra cluster. For this reason, we recommend deploying multiple {zdm-proxy} instances, each running on a dedicated machine, instance, or VM. +{zdm-proxy} was designed to mimic a Cassandra cluster. +For this reason, we recommend deploying multiple {zdm-proxy} instances, each running on a dedicated machine, instance, or VM. + +For best performance, this deployment should be close to the client applications (ideally on the same local network) but not co-deployed on the same machines as the client applications. -For best performance, this deployment should be close to the client applications (ideally on the same local network) but not co-deployed on the same machines as the client applications. This way, each client application instance can connect to all {zdm-proxy} instances, just as it would connect to all nodes in a Cassandra cluster (or datacenter). +This way, each client application instance can connect to all {zdm-proxy} instances, just as it would connect to all nodes in a Cassandra cluster (or datacenter). This deployment model gives maximum resilience and failure tolerance guarantees and allows the client application driver to continue using the same load balancing and retry mechanisms that it would normally use. -Conversely, deploying a single {zdm-proxy} instance would undermine this resilience mechanism and create a single point of failure, which could affect the client applications if one or more nodes of the underlying clusters (Origin or Target) go offline. In a sidecar deployment, each client application instance would be connecting to a single {zdm-proxy} instance, and would therefore be exposed to this risk. +Conversely, deploying a single {zdm-proxy} instance would undermine this resilience mechanism and create a single point of failure, which could affect the client applications if one or more nodes of the underlying clusters (Origin or Target) go offline. +In a sidecar deployment, each client application instance would be connecting to a single {zdm-proxy} instance, and would therefore be exposed to this risk. For more information, see xref:deployment-infrastructure.adoc#_choosing_where_to_deploy_the_proxy[Choosing where to deploy the proxy]. == What are the benefits of using a cloud-native database? -When moving your client applications and data from on-premise Cassandra Query Language (CQL) based data stores (Cassandra or DSE) to a cloud-native database (CNDB) like {astra_db}, it's important to acknowledge the fundamental differences ahead. With on-premise infrastructure, of course, you have total control of the datacenter's physical infrastructure, software configurations, and your custom procedures. At the same time, with on-premise clusters you take on the cost of infrastructure resources, maintenance, operations, and personnel. +When moving your client applications and data from on-premise Cassandra Query Language (CQL) based data stores (Cassandra or DSE) to a cloud-native database (CNDB) like {astra_db}, it's important to acknowledge the fundamental differences ahead. + +With on-premise infrastructure, you have total control of the datacenter's physical infrastructure, software configurations, and your custom procedures. +At the same time, with on-premise clusters you take on the cost of infrastructure resources, maintenance, operations, and personnel. Ranging from large enterprises to small teams, IT managers, operators, and developers are realizing that the Total Cost of Ownership (TCO) with cloud solutions is much lower than continuing to run on-prem physical data centers. -A CNDB like {astra_db} is a different environment. Running on proven cloud providers like AWS, Google Cloud, and Azure, {astra_db} greatly reduces complexity and increases convenience by surfacing a subset of configurable settings, providing a well-designed UI known as {astra_ui}, plus a set of APIs and commands to interact with your {astra_db} organizations and databases. +A CNDB like {astra_db} is a different environment. +Running on proven cloud providers like AWS, Google Cloud, and Azure, {astra_db} greatly reduces complexity and increases convenience by surfacing a subset of configurable settings, providing a well-designed UI known as {astra_ui}, plus a set of APIs and commands to interact with your {astra_db} organizations and databases. diff --git a/modules/ROOT/pages/feasibility-checklists.adoc b/modules/ROOT/pages/feasibility-checklists.adoc index 228d73f4..bed12b91 100644 --- a/modules/ROOT/pages/feasibility-checklists.adoc +++ b/modules/ROOT/pages/feasibility-checklists.adoc @@ -14,13 +14,15 @@ Before starting your migration, refer to the following considerations to ensure include::partial$supported-releases.adoc[] ==== -{zdm-proxy} technically doesn't support `v5`. If `v5` is requested, the proxy handles protocol negotiation so that the client application properly downgrades the protocol version to `v4`. This means that any client application using a recent driver that supports protocol version `v5` can be migrated using the {zdm-proxy} (as long as it does not use v5-specific functionality). +{zdm-proxy} technically doesn't support `v5`. +If `v5` is requested, the proxy handles protocol negotiation so that the client application properly downgrades the protocol version to `v4`. +This means that any client application using a recent driver that supports protocol version `v5` can be migrated using the {zdm-proxy} (as long as it does not use v5-specific functionality). [IMPORTANT] ==== *Thrift is not supported by {zdm-proxy}.* -If you are using a very old driver or cluster version that only supports Thrift then you need to change your client application to use CQL and potentially upgrade your cluster before starting the migration process. +If you are using a very old driver or cluster version that only supports Thrift, you need to change your client application to use CQL and potentially upgrade your cluster before starting the migration process. ==== This means that {zdm-proxy} supports migrations of the following cluster versions (Origin/Target): @@ -29,7 +31,7 @@ This means that {zdm-proxy} supports migrations of the following cluster version Apache Cassandra 2.0 migration support may be introduced when protocol version v2 is supported. * DataStax Enterprise 4.7.1+ and higher versions. DataStax Enterprise 4.6 migration support may be introduced when protocol version v2 is supported. -* {company} {astra_db} (Serverless and Classic) +* {company} {astra_db} (Serverless and Classic). [TIP] ==== @@ -38,17 +40,23 @@ Ensure that you test your client application with Target (connected directly wit == Schema/keyspace compatibility -{zdm-proxy} does not modify or transform CQL statements besides the optional feature that replaces `now()` functions with timestamp literals. See <> for more information about this feature. +{zdm-proxy} does not modify or transform CQL statements besides the optional feature that replaces `now()` functions with timestamp literals. +See <> for more information about this feature. -A CQL statement that your client application sends to {zdm-proxy} must be able to succeed on both clusters. This means that any keyspace that your client application uses must exist on both Origin and Target with the same name (although they can have different replication strategies and durable writes settings). Table names must also match. +A CQL statement that your client application sends to {zdm-proxy} must be able to succeed on both clusters. +This means that any keyspace that your client application uses must exist on both Origin and Target with the same name (although they can have different replication strategies and durable writes settings). +Table names must also match. -The schema doesn't have to be an exact match as long as the CQL statements can be executed successfully on both clusters. For example, if a table has 10 columns but your client application only uses 5 of those columns then you could create that table on Target with just those 5 columns. +The schema doesn't have to be an exact match as long as the CQL statements can be executed successfully on both clusters. +For example, if a table has 10 columns but your client application only uses 5 of those columns then you could create that table on Target with just those 5 columns. -You can also change the primary key in some cases. For example, if your compound primary key is `PRIMARY KEY (A, B)` and you always provide parameters for the `A` and `B` columns in your CQL statements then you could change the key to `PRIMARY KEY (B, A)` when creating the schema on Target because your CQL statements will still run successfully. +You can also change the primary key in some cases. +For example, if your compound primary key is `PRIMARY KEY (A, B)` and you always provide parameters for the `A` and `B` columns in your CQL statements then you could change the key to `PRIMARY KEY (B, A)` when creating the schema on Target because your CQL statements will still run successfully. == Considerations for Astra DB migrations -{company} Astra DB implements guardrails and sets limits to ensure good practices, foster availability, and promote optimal configurations for your databases. Please check the list of https://docs.datastax.com/en/astra-serverless/docs/plan/planning.html#_astra_db_database_guardrails_and_limits[guardrails and limits^] and make sure your application workload can be successful within these limits. +{company} Astra DB implements guardrails and sets limits to ensure good practices, foster availability, and promote optimal configurations for your databases. +Please check the list of https://docs.datastax.com/en/astra-serverless/docs/plan/planning.html#_astra_db_database_guardrails_and_limits[guardrails and limits^] and make sure your application workload can be successful within these limits. If you need to make changes to the application or data model to ensure that your workload can run successfully in {company} Astra DB, then you need to do these changes before you start the migration process. @@ -67,16 +75,18 @@ If you have an existing {zdm-proxy} deployment, you can check which version you If a client application only sends `SELECT` statements to a database connection then you may find that {zdm-proxy} terminates these read-only connections periodically, which may result in request errors if the driver is not configured to retry these requests in these conditions. -This happens because {company} Astra DB terminates idle connections after some inactivity period (usually around 10 minutes). If Astra DB is your Target and a client connection is only sending read requests to the {zdm-proxy}, then the Astra DB connection that is paired to that client connection will remain idle and will be eventually terminated. +This happens because {company} Astra DB terminates idle connections after some inactivity period (usually around 10 minutes). +If Astra DB is your Target and a client connection is only sending read requests to the {zdm-proxy}, then the Astra DB connection that is paired to that client connection will remain idle and will be eventually terminated. A potential workaround is to not connect these read-only client applications to {zdm-proxy}, but you need to ensure that these client applications switch reads to Target at any point after all the data has been migrated and all validation and reconciliation has completed. -Another work around is to implement a mechanism in your client application that creates a new `Session` periodically to avoid the {company} Astra DB inactivity timeout. You can also implement some kind of meaningless write request that the application sends periodically to make sure the {company} Astra DB connection doesn't idle. +Another work around is to implement a mechanism in your client application that creates a new `Session` periodically to avoid the {company} Astra DB inactivity timeout. +You can also implement some kind of meaningless write request that the application sends periodically to make sure the {company} Astra DB connection doesn't idle. ==== *Version 2.1.0 and newer* -This issue is solved in version 2.1.0 of the {zdm-proxy}, which introduces periodic heartbeats to keep alive idle cluster connections. We strongly recommend using version 2.1.0 (or newer) to benefit from this improvement, especially if you have a read-only workload. - +This issue is solved in version 2.1.0 of the {zdm-proxy}, which introduces periodic heartbeats to keep alive idle cluster connections. +We strongly recommend using version 2.1.0 (or newer) to benefit from this improvement, especially if you have a read-only workload. [[non-idempotent-operations]] == Lightweight Transactions and other non-idempotent operations @@ -86,11 +96,13 @@ Examples of non-idempotent operations in CQL are: * Lightweight Transactions (LWTs) * Counter updates * Collection updates with `+=` and `-=` operators -* Non-deterministic functions like `now()` and `uuid()` as mentioned in the prior section +* Non-deterministic functions like `now()` and `uuid()` For more information on how to handle non-deterministic functions please refer to <>. -Given that there are two separate clusters involved, the state of each cluster may be different. For conditional writes, this may create a divergent state for a time. It may not make a difference in many cases, but if non-idempotent operations are used, we recommend a reconciliation phase in the migration before and after switching reads to rely on Target (setting Target as the primary cluster). +Given that there are two separate clusters involved, the state of each cluster may be different. +For conditional writes, this may create a divergent state for a time. +It may not make a difference in many cases, but if non-idempotent operations are used, we recommend a reconciliation phase in the migration before and after switching reads to rely on Target (setting Target as the primary cluster). For details about using the {cstar-data-migrator}, see xref:migrate-and-validate-data.adoc[]. @@ -99,17 +111,32 @@ For details about using the {cstar-data-migrator}, see xref:migrate-and-validate Some application workloads can tolerate inconsistent data in some cases (especially for counter values) in which case you may not need to do anything special to handle those non-idempotent operations. ==== +[[_lightweight_transactions_and_the_applied_flag]] === Lightweight Transactions and the `applied` flag -{zdm-proxy} handles LWTs as write operations. The proxy sends the LWT to Origin and Target clusters concurrently, and waits for a response from both. {zdm-proxy} will return a `success` status to the client if both Origin and Target send successful acknowledgements, or otherwise will return a `failure` status if one or both do not return an acknowledgement. +{zdm-proxy} handles LWTs as write operations. +The proxy sends the LWT to Origin and Target clusters concurrently, and waits for a response from both. +{zdm-proxy} will return a `success` status to the client if both Origin and Target send successful acknowledgements, or otherwise will return a `failure` status if one or both do not return an acknowledgement. -What sets LWTs apart from regular writes is that they are conditional. In other words, a LWT can appear to have been successful (its execution worked as expected). However, the change will be applied only if the LWT's condition was met. Whether the condition was met depends on the state of the data on the cluster. In a migration, the clusters will not be in sync until all existing data has been imported into Target. Up to that point, an LWT's condition can be evaluated differently on each side, leading to a different outcome even though the LWT was technically successful on both sides. +What sets LWTs apart from regular writes is that they are conditional. +In other words, a LWT can appear to have been successful (its execution worked as expected). +However, the change will be applied only if the LWT's condition was met. +Whether the condition was met depends on the state of the data on the cluster. +In a migration, the clusters will not be in sync until all existing data has been imported into Target. +Up to that point, an LWT's condition can be evaluated differently on each side, leading to a different outcome even though the LWT was technically successful on both sides. -The response that a cluster sends after executing a LWT includes a flag called `applied`. This flag tells the client whether the LWT update was actually applied. The status depends on the condition, which in turn depends on the state of the data. When {zdm-proxy} receives a response from both Origin and Target, each response would have its own `applied` flag. +The response that a cluster sends after executing a LWT includes a flag called `applied`. +This flag tells the client whether the LWT update was actually applied. +The status depends on the condition, which in turn depends on the state of the data. +When {zdm-proxy} receives a response from both Origin and Target, each response would have its own `applied` flag. -However, {zdm-proxy} can only return a *single response* to the client. Recall that the client has no knowledge that there are two clusters behind the proxy. Therefore, {zdm-proxy} returns the `applied` flag from the cluster that is *currently used as primary*. If your client has logic that depends on the `applied` flag, be aware that during the migration, you will only have visibility of the flag coming from the primary cluster; that is, the cluster to which synchronous reads are routed. +However, {zdm-proxy} can only return a *single response* to the client. +Recall that the client has no knowledge that there are two clusters behind the proxy. +Therefore, {zdm-proxy} returns the `applied` flag from the cluster that is *currently used as primary*. +If your client has logic that depends on the `applied` flag, be aware that during the migration, you will only have visibility of the flag coming from the primary cluster; that is, the cluster to which synchronous reads are routed. -To reiterate, {zdm-proxy} only returns the `applied` value from the primary cluster, which is the cluster from where read results are returned to the client application (by default, Origin). This means that when you set Target as your primary cluster, the `applied` value returned to the client application will come from Target. +To reiterate, {zdm-proxy} only returns the `applied` value from the primary cluster, which is the cluster from where read results are returned to the client application (by default, Origin). +This means that when you set Target as your primary cluster, the `applied` value returned to the client application will come from Target. == Advanced workloads (DataStax Enterprise) @@ -118,11 +145,14 @@ To reiterate, {zdm-proxy} only returns the `applied` value from the primary clus {zdm-proxy} handles all {company} Graph requests as write requests even if the traversals are read-only. There is no special handling for these requests, so you need to take a look at the traversals that your client application sends and determine whether the traversals are idempotent. If the traversals are non-idempotent then the reconciliation step is needed. -Keep in mind that our recommended tools for data migration and reconciliation are CQL-based, so they can be used for migrations where Origin is a database that uses the new {company} Graph engine released with DSE 6.8, but *cannot be used for the old Graph engine* that older DSE versions relied on. See <> for more information about non-idempotent operations. +Keep in mind that our recommended tools for data migration and reconciliation are CQL-based, so they can be used for migrations where Origin is a database that uses the new {company} Graph engine released with DSE 6.8, but *cannot be used for the old Graph engine* that older DSE versions relied on. +See <> for more information about non-idempotent operations. === Search -Read-only Search workloads can be moved directly from Origin to Target without {zdm-proxy} being involved. If your client application uses Search and also issues writes, or if you need the read routing capabilities from {zdm-proxy}, then you can connect your search workloads to it as long as you are using the {company} drivers to submit these queries. This approach means the queries are regular CQL `SELECT` statements, so {zdm-proxy} handles them as regular read requests. +Read-only Search workloads can be moved directly from Origin to Target without {zdm-proxy} being involved. +If your client application uses Search and also issues writes, or if you need the read routing capabilities from {zdm-proxy}, then you can connect your search workloads to it as long as you are using the {company} drivers to submit these queries. +This approach means the queries are regular CQL `SELECT` statements, so {zdm-proxy} handles them as regular read requests. If you use the HTTP API then you can either modify your applications to use the CQL API instead or you will have to move those applications directly from Origin to Target when the migration is complete if that is acceptable. @@ -131,9 +161,11 @@ If you use the HTTP API then you can either modify your applications to use the The binary protocol used by Cassandra, DSE, and {astra_db} supports optional compression of transport-level requests and responses that reduces network traffic at the cost of CPU overhead. -{zdm-proxy} doesn't support protocol compression at this time. This kind of compression is disabled by default on all of our {company} drivers so if you enabled it on your client application then you will need to disable it before starting the migration process. +{zdm-proxy} doesn't support protocol compression at this time. +This kind of compression is disabled by default on all of our {company} drivers so if you enabled it on your client application then you will need to disable it before starting the migration process. -This is *NOT* related to storage compression which you can configure on a table by table basis with the `compression` table property. Storage/table compression does not affect the client application or {zdm-proxy} in any way. +This is *NOT* related to storage compression which you can configure on a table by table basis with the `compression` table property. +Storage/table compression does not affect the client application or {zdm-proxy} in any way. == Authenticator and Authorizer configuration @@ -155,27 +187,38 @@ The authentication configuration on each cluster can be different between Origin Statements with functions like `now()` and `uuid()` will result in data inconsistency between Origin and Target because the values are computed at cluster level. -If these functions are used for columns that are not part of the primary key, you may find it acceptable to have different values in the two clusters depending on your application business logic. However, if these columns are part of the primary key, the data migration phase will not be successful as there will be data inconsistencies between the two clusters and they will never be in sync. +If these functions are used for columns that are not part of the primary key, you may find it acceptable to have different values in the two clusters depending on your application business logic. +However, if these columns are part of the primary key, the data migration phase will not be successful as there will be data inconsistencies between the two clusters and they will never be in sync. [NOTE] ==== {zdm-shortproduct} does not support the `uuid()` function currently. ==== -{zdm-proxy} is able to compute timestamps and replace `now()` function references with such timestamps in CQL statements at proxy level to ensure that these parameters will have the same value when these statements are sent to both clusters. However, this feature is disabled by default because it might result in performance degradation. We highly recommend that you test this properly before using it in production. Also keep in mind that this feature is only supported for `now()` functions at the moment. To enable this feature, set the configuration variable `replace_cql_function` to `true`. For more, see xref:manage-proxy-instances.adoc#change-mutable-config-variable[Change a mutable configuration variable]. +{zdm-proxy} is able to compute timestamps and replace `now()` function references with such timestamps in CQL statements at proxy level to ensure that these parameters will have the same value when these statements are sent to both clusters. +However, this feature is disabled by default because it might result in performance degradation. +We highly recommend that you test this properly before using it in production. +Also keep in mind that this feature is only supported for `now()` functions at the moment. +To enable this feature, set the configuration variable `replace_cql_function` to `true`. +For more, see xref:manage-proxy-instances.adoc#change-mutable-config-variable[Change a mutable configuration variable]. -If you find that the performance is not acceptable when this feature is enabled, or the feature doesn't cover a particular function that your client application is using, then you will have to make a change to your client application so that the value is computed locally (at client application level) before the statement is sent to the database. Most drivers have utility methods that help you compute these values locally, please refer to the documentation of the driver you are using. +If you find that the performance is not acceptable when this feature is enabled, or the feature doesn't cover a particular function that your client application is using, then you will have to make a change to your client application so that the value is computed locally (at client application level) before the statement is sent to the database. +Most drivers have utility methods that help you compute these values locally, please refer to the documentation of the driver you are using. == Driver retry policy and query idempotence -As part of the normal migration process, the {zdm-proxy} instances will have to be restarted in between phases to apply configuration changes. From the point of view of the client application, this is a similar behavior to a DSE or Cassandra cluster going through a rolling restart in a non-migration scenario. +As part of the normal migration process, the {zdm-proxy} instances will have to be restarted in between phases to apply configuration changes. +From the point of view of the client application, this is a similar behavior to a DSE or Cassandra cluster going through a rolling restart in a non-migration scenario. If your application already tolerates rolling restarts of your current cluster then you should see no issues when there is a rolling restart of {zdm-proxy} instances. To ensure that your client application retries requests when a database connection is closed you should check the section of your driver's documentation related to retry policies. -Most {company} drivers require a statement to be marked as `idempotent` in order to retry it in case of a connection error (such as the termination of a database connection). This means that these drivers treat statements as *non-idempotent* by default and will *not* retry them in the case of a connection error unless action is taken. Whether you need to take action or not depends on what driver you are using. In this section we outline the default behavior of some of these drivers and provide links to the relevant documentation sections. +Most {company} drivers require a statement to be marked as `idempotent` in order to retry it in case of a connection error (such as the termination of a database connection). +This means that these drivers treat statements as *non-idempotent* by default and will *not* retry them in the case of a connection error unless action is taken. +Whether you need to take action or not depends on what driver you are using. +In this section we outline the default behavior of some of these drivers and provide links to the relevant documentation sections. === {company} Java Driver 4.x diff --git a/modules/ROOT/pages/introduction.adoc b/modules/ROOT/pages/introduction.adoc index 7207941c..73d790bf 100644 --- a/modules/ROOT/pages/introduction.adoc +++ b/modules/ROOT/pages/introduction.adoc @@ -35,7 +35,11 @@ include::partial$migration-scenarios.adoc[] [TIP] ==== -An important migration prerequisite is that you already have the matching schema on Target. A CQL statement that your client application sends to {zdm-proxy} must be able to succeed on both Origin and Target clusters. This means that any keyspace that your client application uses must exist on both Origin and Target with the same name. Table names must also match. For more, see xref:feasibility-checklists.adoc#_schemakeyspace_compatibility[Schema/keyspace compatibility]. +An important migration prerequisite is that you already have the matching schema on Target. +A CQL statement that your client application sends to {zdm-proxy} must be able to succeed on both Origin and Target clusters. +This means that any keyspace that your client application uses must exist on both Origin and Target with the same name. +Table names must also match. +For more, see xref:feasibility-checklists.adoc#_schemakeyspace_compatibility[Schema/keyspace compatibility]. ==== == Migration phases @@ -48,7 +52,7 @@ First, a couple of key terms used throughout the ZDM documentation and software For additional terms, see the xref:glossary.adoc[glossary]. -=== Migration interactive diagram +=== Migration diagram Discover the migration concepts, software components, and sequence of operations. @@ -56,37 +60,54 @@ Your migration project occurs through a sequence of phases, which matches the st The highlighted components in each phase emphasize how your client applications perform read and write operations on your Origin and Target clusters. +==== Pre-migration client application operations + Let's look at a pre-migration from a high-level view. At this point, your client applications are performing read/write operations with an existing CQL-compatible database: Apache Cassandra, DSE, or Astra DB. image:pre-migration0ra9.png["Pre-migration environment."] -.Phase 1: Deploy ZDM Proxy and connect client applications +''' + +==== Phase 1: Deploy ZDM Proxy and connect client applications + In this first phase, deploy the ZDM Proxy instances and connect client applications to the proxies. This phase activates the dual-write logic. Writes are bifurcated (sent to both Origin and Target), while reads are executed on Origin only. image:migration-phase1ra9.png["Migration Phase 1."] -.Phase 2: Migrate data +''' + +==== Phase 2: Migrate data + In this phase, migrate existing data using Cassandra Data Migrator and/or DSBulk Migrator. Validate that the migrated data is correct, while continuing to perform dual writes. image:migration-phase2ra9.png["Migration Phase 2."] -.Phase 3: Enable asynchronous dual reads +''' + +==== Phase 3: Enable asynchronous dual reads + In this phase, you can optionally enable asynchronous dual reads. The idea is to test performance and verify that Target can handle your application's live request load before cutting over from Origin to Target. image:migration-phase3ra9.png["Migration Phase 3."] -.Phase 4: Route reads to Target +''' + +==== Phase 4: Route reads to Target + In this phase, read routing on the ZDM Proxy is switched to Target so that all reads are executed on it, while writes are still sent to both clusters. In other words, Target becomes the primary cluster. image:migration-phase4ra9.png["Migration Phase 4."] -.Phase 5: Connect directly to Target +''' + +==== Phase 5: Connect directly to Target + In this phase, move your client applications off the ZDM Proxy and connect the apps directly to Target. Once that happens, the migration is complete. diff --git a/modules/ROOT/partials/interactive-lab.adoc b/modules/ROOT/partials/interactive-lab.adoc index 9d56d869..b6905dea 100644 --- a/modules/ROOT/partials/interactive-lab.adoc +++ b/modules/ROOT/partials/interactive-lab.adoc @@ -1,8 +1,6 @@ Now that you've seen a conceptual overview of the process, let's put what you learned into practice. -We've built a complementary learning resource that is a companion to this comprehensive ZDM documentation. It's the {zdm-product} Interactive Lab, available for you here: - -https://www.datastax.com/dev/zdm[https://www.datastax.com/dev/zdm,window="_blank"] +We've built a complementary learning resource that is a companion to this comprehensive ZDM documentation. It's the https://www.datastax.com/dev/zdm[{zdm-product} Interactive Lab]. * All you need is a browser and a GitHub account. * There's nothing to install for the lab, which opens in a pre-configured GitPod environment. diff --git a/modules/ROOT/partials/migration-scenarios.adoc b/modules/ROOT/partials/migration-scenarios.adoc index 7d096651..6c20837e 100644 --- a/modules/ROOT/partials/migration-scenarios.adoc +++ b/modules/ROOT/partials/migration-scenarios.adoc @@ -12,20 +12,20 @@ Here are just a few examples of migration scenarios that are supported when movi * From an existing self-managed Cassandra or DSE cluster to cloud-native {astra_db}. For example: -** Cassandra 2.1.6+, 3.11.x, 4.0.x, or 4.1.x to {astra_db} +** Cassandra 2.1.6+, 3.11.x, 4.0.x, or 4.1.x to {astra_db}. -** DSE 4.7.1+, 4.8.x, 5.1.x, 6.7.x or 6.8.x to {astra_db} +** DSE 4.7.1+, 4.8.x, 5.1.x, 6.7.x or 6.8.x to {astra_db}. * From an existing Cassandra or DSE cluster to another Cassandra or DSE cluster. For example: -** Cassandra 2.1.6+ or 3.11.x to Cassandra 4.0.x or 4.1.x +** Cassandra 2.1.6+ or 3.11.x to Cassandra 4.0.x or 4.1.x. -** DSE 4.7.1+, 4.8.x, 5.1.x or 6.7.x to DSE 6.8.x +** DSE 4.7.1+, 4.8.x, 5.1.x or 6.7.x to DSE 6.8.x. -** Cassandra 2.1.6+, 3.11.x, 4.0.x, or 4.1.x to DSE 6.8.x +** Cassandra 2.1.6+, 3.11.x, 4.0.x, or 4.1.x to DSE 6.8.x. -** DSE 4.7.1+ or 4.8.x to Cassandra 4.0.x or 4.1.x +** DSE 4.7.1+ or 4.8.x to Cassandra 4.0.x or 4.1.x. -* From https://docs.datastax.com/en/astra-classic/docs[{astra_db} Classic] to https://docs.datastax.com/en/astra-serverless/docs[{astra_db} Serverless] +* From https://docs.datastax.com/en/astra-classic/docs[{astra_db} Classic] to https://docs.datastax.com/en/astra/astra-db-vector/[{astra-db-serverless}]. -* From any CQL-based database type/version to the equivalent CQL-based database type/version. +* From any CQL-based database type/version to the equivalent CQL-based database type/version. \ No newline at end of file diff --git a/modules/ROOT/partials/supported-releases.adoc b/modules/ROOT/partials/supported-releases.adoc index 91317572..50bffd71 100644 --- a/modules/ROOT/partials/supported-releases.adoc +++ b/modules/ROOT/partials/supported-releases.adoc @@ -1,4 +1,4 @@ Overall, you can use {zdm-proxy} to migrate: -* **From:** Any Cassandra 2.1.6 or higher release, or from any DSE 4.7.1 or higher release -* **To:** Any equivalent or higher release of Cassandra, or to any equivalent or higher release of DSE, or to {astra_db} +* **From:** Any Cassandra 2.1.6 or higher release, or from any DSE 4.7.1 or higher release. +* **To:** Any equivalent or higher release of Cassandra, or to any equivalent or higher release of DSE, or to {astra_db}. diff --git a/modules/ROOT/partials/tip-scb.adoc b/modules/ROOT/partials/tip-scb.adoc index 817d5bc9..2da123fc 100644 --- a/modules/ROOT/partials/tip-scb.adoc +++ b/modules/ROOT/partials/tip-scb.adoc @@ -7,5 +7,5 @@ The SCB can be downloaded from the Astra Portal as follows: . Select the **Java driver**, choosing the driver based on the CQL APIs. . Click on **Download bundle** (choosing a region if prompted to do so). -For more information on the SCB and how to retrieve it, see https://docs.datastax.com/en/astra-serverless/docs/connect/drivers/legacy-drivers.html#_working_with_secure_connect_bundle[the Astra documentation^]. +For more information on the SCB and how to retrieve it, see https://docs.datastax.com/en/astra/astra-db-vector/drivers/secure-connect-bundle.html[the {astra-db-serverless} documentation^]. -- From 395245ab2324656737a41a5f1c60585b5ab94114 Mon Sep 17 00:00:00 2001 From: Emelia Wilkinson Date: Thu, 14 Mar 2024 16:28:31 -0400 Subject: [PATCH 09/17] final readthrough updates --- modules/ROOT/pages/create-target.adoc | 6 +-- .../ROOT/pages/deployment-infrastructure.adoc | 49 +++++++++++++------ 2 files changed, 37 insertions(+), 18 deletions(-) diff --git a/modules/ROOT/pages/create-target.adoc b/modules/ROOT/pages/create-target.adoc index 2c01fa60..a94c25a9 100644 --- a/modules/ROOT/pages/create-target.adoc +++ b/modules/ROOT/pages/create-target.adoc @@ -6,13 +6,13 @@ ifndef::env-github,env-browser,env-vscode[:imagesprefix: ] In this topic, we'll see how to create and prepare a new cluster to be used as Target. -This section covers in detail the steps to prepare a {company} Astra DB serverless database, and also outlines how to create and prepare a different cluster, which could be for example Cassandra 4.0.x or DSE 6.8.x. +This section covers in detail the steps to prepare a {company} {astra-db-serverless} database, and also outlines how to create and prepare a different cluster, which could be for example Cassandra 4.0.x or DSE 6.8.x. == Overview If you intend to use Astra DB as Target for the migration, you will need to: -* Create an Astra DB serverless cluster +* Create an {astra-db-serverless} cluster * Retrieve its Secure Connect Bundle (SCB) and upload it to the application instances * Create Astra DB access credentials for the cluster * Create the client application schema @@ -30,7 +30,7 @@ To use a generic Cassandra or DSE cluster, you will have to: * Access to https://astra.datastax.com[Astra Portal, window="_blank"] on astra.datastax.com. -=== Create an Astra DB serverless cluster +=== Create an {astra-db-serverless} cluster Log into the Astra Portal and create a serverless Astra DB database. You can start with a Free plan, but consider upgrading during your migration project to an Astra DB Pay As You Go (PAYG) or Enterprise plan, to take advantage of additional functionality -- such as Exporting Metrics to external third-party applications, Bring Your Own Keys, and other features. diff --git a/modules/ROOT/pages/deployment-infrastructure.adoc b/modules/ROOT/pages/deployment-infrastructure.adoc index 2375836e..bfba67bd 100644 --- a/modules/ROOT/pages/deployment-infrastructure.adoc +++ b/modules/ROOT/pages/deployment-infrastructure.adoc @@ -4,11 +4,15 @@ ifdef::env-github,env-browser,env-vscode[:imagesprefix: ../images/] ifndef::env-github,env-browser,env-vscode[:imagesprefix: ] == Choosing where to deploy the proxy -A typical {zdm-proxy} deployment is made up of multiple proxy instances. A minimum of three proxy instances is recommended for any deployment apart from those for demo or local testing purposes. -All {zdm-proxy} instances must be reachable by the client application and must be able to connect to your Origin and Target clusters. The {zdm-proxy} process is lightweight, requiring only a small amount of resources and no storage to persist state (apart from logs). +A typical {zdm-proxy} deployment is made up of multiple proxy instances. +A minimum of three proxy instances is recommended for any deployment apart from those for demo or local testing purposes. -The {zdm-proxy} should be deployed close to your client application instances. This can be on any cloud provider as well as on-premise, depending on your existing infrastructure. +All {zdm-proxy} instances must be reachable by the client application and must be able to connect to your Origin and Target clusters. +The {zdm-proxy} process is lightweight, requiring only a small amount of resources and no storage to persist state (apart from logs). + +The {zdm-proxy} should be deployed close to your client application instances. +This can be on any cloud provider as well as on-premise, depending on your existing infrastructure. If you have a multi-DC cluster with multiple set of client application instances deployed to geographically distributed data centers, you should plan for a separate {zdm-proxy} deployment for each data center. @@ -51,9 +55,11 @@ We will use the term "machine" to indicate a cloud instance (on any cloud provid [NOTE] ==== -* Scenario: If you have 20 TBs of existing data to be migrated and want to speed up the migration, you could use multiple VMs. For example, you can use four VMs that are the equivalent of an AWS m5.4xlarge, a GCP e2-standard-16 or an Azure D16v5. +* Scenario: If you have 20 TBs of existing data to be migrated and want to speed up the migration, you could use multiple VMs. +For example, you can use four VMs that are the equivalent of an AWS m5.4xlarge, a GCP e2-standard-16 or an Azure D16v5. + -Next, run DSBulk Migrator or Cassandra-Data-Migrator in parallel on each VM with each one responsible for migrating around 5TB of data. If there is one super large table (e.g. 15 TB of 20 TB is in one table), you can choose to migrate this table in three parts on three separate VMs in parallel by splitting the full token range into three parts and migrating the rest of the tables on the fourth VM. +Next, run DSBulk Migrator or Cassandra-Data-Migrator in parallel on each VM with each one responsible for migrating around 5TB of data. +If there is one super large table (e.g. 15 TB of 20 TB is in one table), you can choose to migrate this table in three parts on three separate VMs in parallel by splitting the full token range into three parts and migrating the rest of the tables on the fourth VM. * Ensure that your Origin and Target clusters can handle high traffic from Cassandra Data Migrator or DSBulk in addition to the live traffic from your application. @@ -70,30 +76,43 @@ The {zdm-proxy} machines must be reachable by: * The client application instances, on port 9042 * The monitoring machine on port 14001 * The jumphost on port 22 -* Important: the {zdm-proxy} machines should not be directly accessible by external machines. The only direct access to these machines should be from the jumphost + +[IMPORTANT] +==== +The {zdm-proxy} machines should not be directly accessible by external machines. +The only direct access to these machines should be from the jumphost. +==== The {zdm-proxy} machines must be able to connect to the Origin and Target cluster nodes: -* For self-managed (non-Astra DB) clusters, connectivity is needed to the Cassandra native protocol port (typically 9042) -* For Astra DB clusters, you will need to ensure outbound connectivity to the Astra endpoint indicated in the Secure Connect Bundle. Connectivity over Private Link is also supported. +* For self-managed (non-Astra DB) clusters, connectivity is needed to the Cassandra native protocol port (typically 9042). +* For Astra DB clusters, you will need to ensure outbound connectivity to the Astra endpoint indicated in the Secure Connect Bundle. +Connectivity over Private Link is also supported. The connectivity requirements for the jumphost / monitoring machine are: -* Connecting to the {zdm-proxy} instances: on port 14001 for metrics collection, and on port 22 to run the Ansible automation and for log inspection or troubleshooting -* Allowing incoming ssh connections from outside, potentially from allowed IP ranges only -* Exposing the Grafana UI on port 3000 -* Important: it is strongly recommended **to restrict external access** to this machine to specific IP ranges (for example, the IP range of your corporate networks or trusted VPNs) +* Connecting to the {zdm-proxy} instances: on port 14001 for metrics collection, and on port 22 to run the Ansible automation and for log inspection or troubleshooting. +* Allowing incoming ssh connections from outside, potentially from allowed IP ranges only. +* Exposing the Grafana UI on port 3000. + +[IMPORTANT] +==== +It is strongly recommended **to restrict external access** to this machine to specific IP ranges (for example, the IP range of your corporate networks or trusted VPNs). +==== The {zdm-proxy} and monitoring machines must be able to connect externally, as the automation will download: -* Various software packages (Docker, Prometheus, Grafana); +* Various software packages (Docker, Prometheus, Grafana). * {zdm-proxy} image from DockerHub repo. === Connecting to the ZDM infrastructure from an external machine -To connect to the jumphost from an external machine, ensure that its IP address belongs to a permitted IP range. If you are connecting through a VPN that only intercepts connections to selected destinations, you may have to add a route from your VPN IP gateway to the public IP of the jumphost. +To connect to the jumphost from an external machine, ensure that its IP address belongs to a permitted IP range. +If you are connecting through a VPN that only intercepts connections to selected destinations, you may have to add a route from your VPN IP gateway to the public IP of the jumphost. -To simplify connecting to the jumphost and, through it, to the {zdm-proxy} instances, you can create a custom SSH config file. You can use this template and replace all the placeholders in angle brackets with the appropriate values for your deployment, adding more entries if you have more than three proxy instances. Save this file, for example calling it `zdm_ssh_config`. +To simplify connecting to the jumphost and, through it, to the {zdm-proxy} instances, you can create a custom SSH config file. +You can use this template and replace all the placeholders in angle brackets with the appropriate values for your deployment, adding more entries if you have more than three proxy instances. +Save this file, for example calling it `zdm_ssh_config`. [source,bash] ---- From 3a769ee231032e1b2128667bd5da33e494f433b4 Mon Sep 17 00:00:00 2001 From: Emelia Wilkinson Date: Fri, 15 Mar 2024 16:51:22 -0400 Subject: [PATCH 10/17] final readthrough edits. Deployment, create, understand, and phase 1 set up pages done --- antora.yml | 2 +- .../ROOT/pages/cassandra-data-migrator.adoc | 16 +-- .../ROOT/pages/connect-clients-to-proxy.adoc | 26 ++--- .../ROOT/pages/connect-clients-to-target.adoc | 32 +++--- modules/ROOT/pages/contributions.adoc | 12 +-- modules/ROOT/pages/create-target.adoc | 84 ++++++++++------ .../ROOT/pages/deploy-proxy-monitoring.adoc | 2 +- modules/ROOT/pages/dsbulk-migrator.adoc | 8 +- modules/ROOT/pages/faqs.adoc | 14 +-- .../ROOT/pages/feasibility-checklists.adoc | 8 +- modules/ROOT/pages/glossary.adoc | 4 +- modules/ROOT/pages/introduction.adoc | 2 +- modules/ROOT/pages/metrics.adoc | 2 +- .../ROOT/pages/migrate-and-validate-data.adoc | 4 +- modules/ROOT/pages/release-notes.adoc | 16 +-- modules/ROOT/pages/rollback.adoc | 7 +- .../ROOT/pages/setup-ansible-playbooks.adoc | 98 +++++++++++++------ modules/ROOT/pages/tls.adoc | 2 +- .../ROOT/pages/troubleshooting-scenarios.adoc | 2 +- modules/ROOT/pages/troubleshooting-tips.adoc | 4 +- modules/ROOT/pages/troubleshooting.adoc | 10 +- modules/ROOT/partials/tip-scb.adoc | 2 +- 22 files changed, 209 insertions(+), 148 deletions(-) diff --git a/antora.yml b/antora.yml index f4df554d..e42ef0ee 100644 --- a/antora.yml +++ b/antora.yml @@ -21,5 +21,5 @@ asciidoc: db-classic: 'Classic' astra-cli: 'Astra CLI' url-astra: 'https://astra.datastax.com' - link-astra-portal: '{url-astra}[{astra_ui}^]' + link-astra-portal: '{url-astra}[{astra_ui}]' astra-db-serverless: 'Astra DB Serverless' diff --git a/modules/ROOT/pages/cassandra-data-migrator.adoc b/modules/ROOT/pages/cassandra-data-migrator.adoc index dc6a8669..8dd15ac6 100644 --- a/modules/ROOT/pages/cassandra-data-migrator.adoc +++ b/modules/ROOT/pages/cassandra-data-migrator.adoc @@ -6,8 +6,8 @@ Use {cstar-data-migrator} to migrate and validate tables between Origin and Targ == {cstar-data-migrator} prerequisites * Install or switch to Java 11. The Spark binaries are compiled with this version of Java. -* Install https://archive.apache.org/dist/spark/spark-3.5.1/[Spark 3.5.1^] on a single VM (no cluster necessary) where you want to run this job. -* Optionally, install https://maven.apache.org/download.cgi[Maven^] 3.9.x if you want to build the JAR for local development. +* Install https://archive.apache.org/dist/spark/spark-3.5.1/[Spark 3.5.1] on a single VM (no cluster necessary) where you want to run this job. +* Optionally, install https://maven.apache.org/download.cgi[Maven] 3.9.x if you want to build the JAR for local development. You can install Apache Spark by running the following commands: @@ -21,14 +21,14 @@ tar -xvzf spark-3.5.1-bin-hadoop3-scala2.13.tgz [[cdm-install-as-container]] == Install {cstar-data-migrator} as a Container -Get the latest image that includes all dependencies from https://hub.docker.com/r/datastax/cassandra-data-migrator[DockerHub^]. +Get the latest image that includes all dependencies from https://hub.docker.com/r/datastax/cassandra-data-migrator[DockerHub]. All migration tools (`cassandra-data-migrator` + `dsbulk` + `cqlsh`) are available in the `/assets/` folder of the container. [[cdm-install-as-jar]] == Install {cstar-data-migrator} as a JAR file -Download the *latest* JAR file from the {cstar-data-migrator} https://github.com/datastax/cassandra-data-migrator/packages/1832128[GitHub repo^]. image:https://img.shields.io/github/v/release/datastax/cassandra-data-migrator?color=green[Latest release] +Download the *latest* JAR file from the {cstar-data-migrator} https://github.com/datastax/cassandra-data-migrator/packages/1832128[GitHub repo]. image:https://img.shields.io/github/v/release/datastax/cassandra-data-migrator?color=green[Latest release] [NOTE] ==== @@ -38,7 +38,7 @@ Version 4.x of {cstar-data-migrator} is not backward-compatible with `*.properti [[cdm-build-jar-local]] == Build {cstar-data-migrator} JAR for local development (optional) -Optionally, you can build the {cstar-data-migrator} JAR for local development. (You'll need https://maven.apache.org/download.cgi[Maven^] 3.9.x.) +Optionally, you can build the {cstar-data-migrator} JAR for local development. (You'll need https://maven.apache.org/download.cgi[Maven] 3.9.x.) Example: @@ -55,9 +55,9 @@ The fat jar (`cassandra-data-migrator-x.y.z.jar`) file should be present now in [[cdm-steps]] == {cstar-data-migrator} steps -1. Configure for your environment the `cdm*.properties` file that's provided in the {cstar-data-migrator} https://github.com/datastax/cassandra-data-migrator/tree/main/src/resources[GitHub repo^]. The file can have any name. It does not need to be `cdm.properties` or `cdm-detailed.properties`. In both versions, only the parameters that aren't commented out will be processed by the `spark-submit` job. Other parameter values use defaults or are ignored. See the descriptions and defaults in each file. Refer to: - * The simplified sample properties configuration, https://github.com/datastax/cassandra-data-migrator/blob/main/src/resources/cdm.properties[cdm.properties^]. This file contains only those parameters that are commonly configured. - * The complete sample properties configuration, https://github.com/datastax/cassandra-data-migrator/blob/main/src/resources/cdm-detailed.properties[cdm-detailed.properties^], for the full set of configurable settings. +1. Configure for your environment the `cdm*.properties` file that's provided in the {cstar-data-migrator} https://github.com/datastax/cassandra-data-migrator/tree/main/src/resources[GitHub repo]. The file can have any name. It does not need to be `cdm.properties` or `cdm-detailed.properties`. In both versions, only the parameters that aren't commented out will be processed by the `spark-submit` job. Other parameter values use defaults or are ignored. See the descriptions and defaults in each file. Refer to: + * The simplified sample properties configuration, https://github.com/datastax/cassandra-data-migrator/blob/main/src/resources/cdm.properties[cdm.properties]. This file contains only those parameters that are commonly configured. + * The complete sample properties configuration, https://github.com/datastax/cassandra-data-migrator/blob/main/src/resources/cdm-detailed.properties[cdm-detailed.properties], for the full set of configurable settings. 2. Place the properties file that you elected to use and customize where it can be accessed while running the job via `spark-submit`. diff --git a/modules/ROOT/pages/connect-clients-to-proxy.adoc b/modules/ROOT/pages/connect-clients-to-proxy.adoc index 8ecf5579..377f6d07 100644 --- a/modules/ROOT/pages/connect-clients-to-proxy.adoc +++ b/modules/ROOT/pages/connect-clients-to-proxy.adoc @@ -16,8 +16,8 @@ Finally, we will explain how to connect the `cqlsh` command-line client to the { At DataStax, we've developed and maintain a set of drivers for client applications to use when connecting to Cassandra, DSE, or Astra DB: -* https://github.com/datastax/java-driver[{company} Java driver for Apache Cassandra^] -* https://github.com/datastax/python-driver[{company} Python driver for Apache Cassandra^] +* https://github.com/datastax/java-driver[{company} Java driver for Apache Cassandra] +* https://github.com/datastax/python-driver[{company} Python driver for Apache Cassandra] * https://github.com/datastax/csharp-driver[{company} C# driver for Apache Cassandra] * https://github.com/datastax/cpp-driver[{company} C/C++ driver for Apache Cassandra] * https://github.com/datastax/nodejs-driver[{company} Node.js driver for Apache Cassandra] @@ -62,11 +62,11 @@ The details may vary but you'll still see the same general pattern described in This topic does not describe details or APIs for any of the {company} drivers mentioned above. All the drivers come with a complete set of documentation for exactly this task. The following links provide some good starting points for learning about the interfaces for each specific driver: -* The https://docs.datastax.com/en/developer/java-driver/latest/manual/core/[core driver section^] of the Java driver manual. -* The https://docs.datastax.com/en/developer/python-driver/latest/getting_started/[getting started guide^] for the Python driver. -* The https://docs.datastax.com/en/developer/csharp-driver/latest/index.html#basic-usage[basic usage section^] of the C# driver documentation. -* The https://docs.datastax.com/en/developer/cpp-driver/latest/topics/[getting started section^] of the C/C++ driver documentation. -* The https://docs.datastax.com/en/developer/nodejs-driver/latest/#basic-usage[basic usage section^] of the Node.js driver documentation. +* The https://docs.datastax.com/en/developer/java-driver/latest/manual/core/[core driver section] of the Java driver manual. +* The https://docs.datastax.com/en/developer/python-driver/latest/getting_started/[getting started guide] for the Python driver. +* The https://docs.datastax.com/en/developer/csharp-driver/latest/index.html#basic-usage[basic usage section] of the C# driver documentation. +* The https://docs.datastax.com/en/developer/cpp-driver/latest/topics/[getting started section] of the C/C++ driver documentation. +* The https://docs.datastax.com/en/developer/nodejs-driver/latest/#basic-usage[basic usage section] of the Node.js driver documentation. [TIP] ==== @@ -126,29 +126,29 @@ The documentation for the {company} drivers provides information about how to co === ZDM Demo Client -https://github.com/alicel/zdm-demo-client/[ZDM Demo Client^] is a minimal Java web application which provides a simple, stripped-down example of an application built to work with {zdm-proxy}. After updating connection information you can compile and run the application locally and interact with it using HTTP clients such as `curl` or `wget`. +https://github.com/alicel/zdm-demo-client/[ZDM Demo Client] is a minimal Java web application which provides a simple, stripped-down example of an application built to work with {zdm-proxy}. After updating connection information you can compile and run the application locally and interact with it using HTTP clients such as `curl` or `wget`. -You can find the details of building and running ZDM Demo Client in the https://github.com/alicel/zdm-demo-client/blob/master/README.md[README^]. +You can find the details of building and running ZDM Demo Client in the https://github.com/alicel/zdm-demo-client/blob/master/README.md[README]. === Themis client -https://github.com/absurdfarce/themis[Themis^] is a Java command-line client application that allows you to insert randomly-generated data into some combination of these three sources: +https://github.com/absurdfarce/themis[Themis] is a Java command-line client application that allows you to insert randomly-generated data into some combination of these three sources: * Directly into Origin * Directly into Target * Into the {zdm-proxy}, and subsequently on to Origin and Target -The client application can then be used to query the inserted data. This allows you to validate that the {zdm-proxy} is reading and writing data from the expected sources. Configuration details for the clusters and/or {zdm-proxy} are defined in a YAML file. Details are in the https://github.com/absurdfarce/themis/blob/main/README.md[README^]. +The client application can then be used to query the inserted data. This allows you to validate that the {zdm-proxy} is reading and writing data from the expected sources. Configuration details for the clusters and/or {zdm-proxy} are defined in a YAML file. Details are in the https://github.com/absurdfarce/themis/blob/main/README.md[README]. In addition to any utility as a validation tool, Themis also serves as an example of a larger client application which uses the Java driver to connect to a {zdm-proxy} -- as well as directly to Cassandra or Astra DB clusters -- and perform operations. The configuration logic as well as the cluster and session management code have been cleanly separated into distinct packages to make them easy to understand. == Connecting CQLSH to the {zdm-proxy} -https://downloads.datastax.com/#cqlsh[CQLSH^] is a simple, command-line client that is able to connect to any CQL cluster, enabling you to interactively send CQL requests to it. CQLSH comes pre-installed on any Cassandra or DSE node, or it can be downloaded and run as a standalone client on any machine able to connect to the desired cluster. +https://downloads.datastax.com/#cqlsh[CQLSH] is a simple, command-line client that is able to connect to any CQL cluster, enabling you to interactively send CQL requests to it. CQLSH comes pre-installed on any Cassandra or DSE node, or it can be downloaded and run as a standalone client on any machine able to connect to the desired cluster. Using CQLSH to connect to a {zdm-proxy} instance is very easy: -* Download CQLSH for free from https://downloads.datastax.com/#cqlsh[here^] on a machine that has connectivity to the {zdm-proxy} instances: +* Download CQLSH for free from https://downloads.datastax.com/#cqlsh[here] on a machine that has connectivity to the {zdm-proxy} instances: ** To connect to the {zdm-proxy}, any version is fine. ** The Astra-ready version additionally supports connecting directly to an Astra DB cluster by passing the cluster's Secure Connect Bundle and valid credentials. * Install it by uncompressing the archive: `tar -xvf cqlsh-<...>.tar.gz`. diff --git a/modules/ROOT/pages/connect-clients-to-target.adoc b/modules/ROOT/pages/connect-clients-to-target.adoc index 50c75990..10d76142 100644 --- a/modules/ROOT/pages/connect-clients-to-target.adoc +++ b/modules/ROOT/pages/connect-clients-to-target.adoc @@ -32,7 +32,7 @@ To connect to your Astra DB cluster, you will need: * A valid set of credentials (ClientID and Client Secret) for the Astra DB organization to which your cluster belongs: ** Note: You will already have used these credentials when you configured the {zdm-proxy} to connect to your Astra DB cluster as Target. -** For more information on creating credentials (tokens), see https://docs.datastax.com/en/astra/astra-db-vector/administration/manage-application-tokens.html[here^]. +** For more information on creating credentials (tokens), see https://docs.datastax.com/en/astra/astra-db-vector/administration/manage-application-tokens.html[here]. * The Secure Connect Bundle (SCB) for your Astra DB cluster: ** This is a zip archive containing connection metadata and files to automatically enable Mutual TLS encryption between your client application and Astra DB. ** There is one SCB for each Astra DB cluster (or one for each region of an Astra DB Multi-region cluster). @@ -41,19 +41,19 @@ To connect to your Astra DB cluster, you will need: include::partial$tip-scb.adoc[] You will also need to check whether the driver used by your client application has native support for the xref:glossary.adoc#_secure_connect_bundle_scb[Astra DB Secure Connect Bundle]. To do so, please refer to the documentation for your driver language and version, -and check the per-language https://docs.datastax.com/en/driver-matrix/docs/version-compatibility.html[driver compatibility matrix^] for details (look for the support status in the **Astra / Cloud** column for your driver version). +and check the per-language https://docs.datastax.com/en/driver-matrix/docs/version-compatibility.html[driver compatibility matrix] for details (look for the support status in the **Astra / Cloud** column for your driver version). // The SCB support was made available beginning the following versions in the drivers: // -// * https://docs.datastax.com/en/developer/cpp-driver/latest/changelog/#2-14-0[Beginning `2.14.0` of {company} C++ Driver^]. +// * https://docs.datastax.com/en/developer/cpp-driver/latest/changelog/#2-14-0[Beginning `2.14.0` of {company} C++ Driver]. // -// * https://docs.datastax.com/en/developer/csharp-driver/latest/changelog/\#3-12-0[Beginning `3.12.0` of {company} C# Driver^] +// * https://docs.datastax.com/en/developer/csharp-driver/latest/changelog/\#3-12-0[Beginning `3.12.0` of {company} C# Driver] // -// * https://docs.datastax.com/en/developer/java-driver/latest/changelog/#3-8-0[Beginning `3.8.0` & `4.3.0` of {company} Java Driver^]. +// * https://docs.datastax.com/en/developer/java-driver/latest/changelog/#3-8-0[Beginning `3.8.0` & `4.3.0` of {company} Java Driver]. // -// * https://github.com/datastax/nodejs-driver/blob/master/CHANGELOG.md#440[Beginning `4.4.0` of {company} Nodejs Driver^]. +// * https://github.com/datastax/nodejs-driver/blob/master/CHANGELOG.md#440[Beginning `4.4.0` of {company} Nodejs Driver]. // -// * https://docs.datastax.com/en/developer/python-dse-driver/latest/CHANGELOG/#id24[Beginning `2.11.0` & `3.20.0` of {company} Python Driver^]. +// * https://docs.datastax.com/en/developer/python-dse-driver/latest/CHANGELOG/#id24[Beginning `2.11.0` & `3.20.0` of {company} Python Driver]. // // Based on this, follow the instructions in the relevant section below. @@ -95,15 +95,15 @@ print(release_version) As noted before, this pseudocode is just a guideline to illustrate the changes that are needed. For the specific syntax that applies to your driver, please refer to the documentation for your driver language and version: -* https://docs.datastax.com/en/astra-serverless/docs/connect/drivers/connect-cplusplus.html[C++ driver^]. +* https://docs.datastax.com/en/astra-serverless/docs/connect/drivers/connect-cplusplus.html[C++ driver]. -* https://docs.datastax.com/en/astra-serverless/docs/connect/drivers/connect-csharp.html[C# driver^]. +* https://docs.datastax.com/en/astra-serverless/docs/connect/drivers/connect-csharp.html[C# driver]. -* https://docs.datastax.com/en/astra-serverless/docs/connect/drivers/connect-java.html[Java driver^]. +* https://docs.datastax.com/en/astra-serverless/docs/connect/drivers/connect-java.html[Java driver]. -* https://docs.datastax.com/en/astra-serverless/docs/connect/drivers/connect-nodejs.html[Node.js driver^]. +* https://docs.datastax.com/en/astra-serverless/docs/connect/drivers/connect-nodejs.html[Node.js driver]. -* https://docs.datastax.com/en/astra-serverless/docs/connect/drivers/connect-python.html[Python driver^]. +* https://docs.datastax.com/en/astra-serverless/docs/connect/drivers/connect-python.html[Python driver]. That's it! Your client application is now able to connect directly to your Astra DB cluster. @@ -111,9 +111,9 @@ That's it! Your client application is now able to connect directly to your Astra It is possible to configure older or community-contributed drivers to connect to Astra DB even if they lack built-in SCB support. -To do so, you will need to extract the files from the SCB and use them to enable Mutual TLS in the configuration of your driver. Please see https://docs.datastax.com/en/astra-serverless/docs/connect/drivers/legacy-drivers.html[here^] for detailed instructions for each driver. +To do so, you will need to extract the files from the SCB and use them to enable Mutual TLS in the configuration of your driver. Please see https://docs.datastax.com/en/astra-serverless/docs/connect/drivers/legacy-drivers.html[here] for detailed instructions for each driver. -Alternatively, you could also consider using https://www.datastax.com/blog/easily-connect-apache-cassandra-workloads-to-datastaxs-serverless-dbaas-with-our-cql-proxy[CQL Proxy^], which is an open-source lightweight proxy that abstracts away all Astra-specific connection configuration from your client application. +Alternatively, you could also consider using https://www.datastax.com/blog/easily-connect-apache-cassandra-workloads-to-datastaxs-serverless-dbaas-with-our-cql-proxy[CQL Proxy], which is an open-source lightweight proxy that abstracts away all Astra-specific connection configuration from your client application. === A word on the cloud-native drivers @@ -121,8 +121,8 @@ Now that your client application is running on Astra DB, you can take advantage Here are the cloud-native drivers currently available: -* https://docs.datastax.com/en/astra-serverless/docs/connect/drivers/connect-java.html#_connecting_with_java_cloud_native_driver[Java cloud-native driver^]. -* https://docs.datastax.com/en/astra-serverless/docs/connect/drivers/connect-nodejs.html#_connecting_with_node_js_cloud_native_driver[Node.js cloud-native driver^]. +* https://docs.datastax.com/en/astra-serverless/docs/connect/drivers/connect-java.html#_connecting_with_java_cloud_native_driver[Java cloud-native driver]. +* https://docs.datastax.com/en/astra-serverless/docs/connect/drivers/connect-nodejs.html#_connecting_with_node_js_cloud_native_driver[Node.js cloud-native driver]. == Phase 5 of migration completed diff --git a/modules/ROOT/pages/contributions.adoc b/modules/ROOT/pages/contributions.adoc index 401c4334..36e39b1b 100644 --- a/modules/ROOT/pages/contributions.adoc +++ b/modules/ROOT/pages/contributions.adoc @@ -18,7 +18,7 @@ The code sources for additional {zdm-product} components -- including {zdm-utili Acceptance of the {company} https://cla.datastax.com/[Contributor License Agreement, window="_blank"] (CLA) is required before we can consider accepting your {zdm-proxy} code contribution. Refer to the https://cla.datastax.com/[CLA terms, window="_blank"] and, if you agree, indicate your acceptance on each Pull Request (PR) that you submit while using the https://github.com/datastax/zdm-proxy[{zdm-proxy} GitHub repository, window="_blank"]. // You will see the CLA listed on the standard pull request checklist (TBS) -// for the https://github.com/datastax/zdm-proxy[{zdm-proxy}^] repository. +// for the https://github.com/datastax/zdm-proxy[{zdm-proxy}] repository. == {zdm-proxy} code contributions @@ -36,14 +36,14 @@ In addition to potential {zdm-proxy} OSS code contribution, we encourage you to == Submitting GitHub Issues in related public repos -The following {company} {zdm-product} GitHub repos are public. You are welcome to read the source and submit feedback and ideas via GitHub Issues per repo. In addition to the https://github.com/datastax/zdm-proxy[{zdm-proxy}^] open-source repo, refer to: +The following {company} {zdm-product} GitHub repos are public. You are welcome to read the source and submit feedback and ideas via GitHub Issues per repo. In addition to the https://github.com/datastax/zdm-proxy[{zdm-proxy}] open-source repo, refer to: -* https://github.com/datastax/zdm-proxy-automation/issues[{zdm-automation}^] repo for Ansible-based {zdm-automation} and {zdm-utility}. +* https://github.com/datastax/zdm-proxy-automation/issues[{zdm-automation}] repo for Ansible-based {zdm-automation} and {zdm-utility}. -* https://github.com/datastax/cassandra-data-migrator/issues[Cassandra Data Migrator^] repo. +* https://github.com/datastax/cassandra-data-migrator/issues[Cassandra Data Migrator] repo. -* https://github.com/datastax/dsbulk-migrator/issues[DSBulk Migrator^] repo. +* https://github.com/datastax/dsbulk-migrator/issues[DSBulk Migrator] repo. -// * https://github.com/datastax/migration-docs/issues[Migration documentation^] repo. +// * https://github.com/datastax/migration-docs/issues[Migration documentation] repo. Again, add a label to help categorize each issue, such as the complexity level, component name, and other labels you'll find in the repo's Issues display. diff --git a/modules/ROOT/pages/create-target.adoc b/modules/ROOT/pages/create-target.adoc index a94c25a9..2f321d03 100644 --- a/modules/ROOT/pages/create-target.adoc +++ b/modules/ROOT/pages/create-target.adoc @@ -12,17 +12,17 @@ This section covers in detail the steps to prepare a {company} {astra-db-serverl If you intend to use Astra DB as Target for the migration, you will need to: -* Create an {astra-db-serverless} cluster -* Retrieve its Secure Connect Bundle (SCB) and upload it to the application instances -* Create Astra DB access credentials for the cluster -* Create the client application schema +* Create an {astra-db-serverless} cluster. +* Retrieve its Secure Connect Bundle (SCB) and upload it to the application instances. +* Create Astra DB access credentials for the cluster. +* Create the client application schema. To use a generic Cassandra or DSE cluster, you will have to: -* Provision the infrastructure for your new cluster -* Create the cluster with the desired version of Cassandra or DSE -* Configure the cluster according to your requirements -* Create the client application schema +* Provision the infrastructure for your new cluster. +* Create the cluster with the desired version of Cassandra or DSE. +* Configure the cluster according to your requirements. +* Create the client application schema. == Using an Astra DB database as Target @@ -32,7 +32,8 @@ To use a generic Cassandra or DSE cluster, you will have to: === Create an {astra-db-serverless} cluster -Log into the Astra Portal and create a serverless Astra DB database. You can start with a Free plan, but consider upgrading during your migration project to an Astra DB Pay As You Go (PAYG) or Enterprise plan, to take advantage of additional functionality -- such as Exporting Metrics to external third-party applications, Bring Your Own Keys, and other features. +Log into the Astra Portal and create a serverless Astra DB database. +You can start with a Free plan, but consider upgrading during your migration project to an Astra DB Pay As You Go (PAYG) or Enterprise plan, to take advantage of additional functionality -- such as Exporting Metrics to external third-party applications, Bring Your Own Keys, and other features. The PAYG and Enterprise plans have many benefits over the Free plan, such as the ability to lift rate limiting, and avoiding hibernation timeouts. @@ -43,23 +44,29 @@ Assign your preferred values for the serverless database: * **Cloud provider**: You can choose your preferred cloud provider among AWS, GCP and Azure (only GCP is available to Free Tier accounts). * **Region**: choose your geographically preferred region - you can subsequently add more regions. -When the Astra DB reaches **Active** status, perform the following steps in an Astra DB user account. Create an IAM token with the "Read/Write User" role. This role will be used by the client application, the {zdm-proxy}, and the {zdm-automation}. +When the Astra DB reaches **Active** status, perform the following steps in an Astra DB user account. +Create an IAM token with the "Read/Write User" role. +This role will be used by the client application, the {zdm-proxy}, and the {zdm-automation}. -In Astra Portal, choose **Organization Settings** (upper left) from the drop-down menu, and then **Token Management**. Select the **Read/Write User** role: +In Astra Portal, choose **Organization Settings** (upper left) from the drop-down menu, and then **Token Management**. +Select the **Read/Write User** role: image::{imagesprefix}zdm-token-management1.png[] -Then click **Generate Token**. Astra console displays the generated values. Example: +Then, click **Generate Token**. +Astra console displays the generated values. +Example: image::{imagesprefix}zdm-tokens-generated.png[] -Save all credentials (Client ID, Client Secret, and Token) in a clearly named file. For example, you can save all three parts of the new credentials to a file called `my_app_readwrite_user` and store it safely. +Save all credentials (Client ID, Client Secret, and Token) in a clearly named file. +For example, you can save all three parts of the new credentials to a file called `my_app_readwrite_user` and store it safely. For more information about role permissions, see link:https://docs.datastax.com/en/astra/docs/manage/org/user-permissions.html[User permissions] in the Astra DB documentation. === Get the Secure Connect Bundle and upload to client instances -Your cluster's xref:glossary.adoc#_secure_connect_bundle_scb[Secure Connect Bundle] (SCB) is a zip file that contains the TLS encryption certificates and other metadata to connect to your database. +Your cluster's https://docs.datastax.com/en/astra/astra-db-vector/drivers/secure-connect-bundle.html#download-the-secure-connect-bundle[Secure Connect Bundle] (SCB) is a zip file that contains the TLS encryption certificates and other metadata to connect to your database. It will be needed by: * Your client application, to connect directly to Astra DB near the end of the migration; @@ -82,21 +89,24 @@ scp -i secure-connect-.zip @ zdm-ansible-container:/home/ubuntu` ... Specify its path in `*_astra_secure_connect_bundle_path`. .. Otherwise, if you wish the automation to download the cluster's Secure Connect Bundle for you, just specify the two following variables: -... `*_astra_db_id`: the cluster's https://docs.datastax.com/en/astra-serverless/docs/astra-faq.html#_where_do_i_find_the_database_id_and_organization_id[database id^]. +... `*_astra_db_id`: the cluster's https://docs.datastax.com/en/astra-serverless/docs/astra-faq.html#_where_do_i_find_the_database_id_and_organization_id[database id]. ... `*_astra_token`: the token field from a valid set of credentials for a `R/W User` Astra role (this is the long string that starts with `AstraCS:`). Save the file and exit the editor. diff --git a/modules/ROOT/pages/dsbulk-migrator.adoc b/modules/ROOT/pages/dsbulk-migrator.adoc index b1ce1e09..9cc3e131 100644 --- a/modules/ROOT/pages/dsbulk-migrator.adoc +++ b/modules/ROOT/pages/dsbulk-migrator.adoc @@ -6,9 +6,9 @@ Use {dsbulk-migrator} to perform simple migration of smaller data quantities, wh == {dsbulk-migrator} prerequisites * Install or switch to Java 11. -* Install https://maven.apache.org/download.cgi[Maven^] 3.9.x. +* Install https://maven.apache.org/download.cgi[Maven] 3.9.x. * Optionally install https://docs.datastax.com/en/dsbulk/docs/installing/install.html[DSBulk Loader, window="_blank"], if you elect to reference your own external installation of DSBulk, instead of the embedded DSBulk that's in {dsbulk-migrator}. -* Install https://github.com/datastax/simulacron#prerequisites[Simulacron^] 0.12.x and its prerequisites, for integration tests. +* Install https://github.com/datastax/simulacron#prerequisites[Simulacron] 0.12.x and its prerequisites, for integration tests. [[building-dsbulk-migrator]] == Building {dsbulk-migrator} @@ -50,8 +50,8 @@ The project contains a few integration tests. Run them with: mvn clean verify ---- -The integration tests require https://github.com/datastax/simulacron[Simulacron^]. Be sure to meet -all the https://github.com/datastax/simulacron#prerequisites[Simulacron prerequisites^] before running the +The integration tests require https://github.com/datastax/simulacron[Simulacron]. Be sure to meet +all the https://github.com/datastax/simulacron#prerequisites[Simulacron prerequisites] before running the tests. diff --git a/modules/ROOT/pages/faqs.adoc b/modules/ROOT/pages/faqs.adoc index 9a42bc8b..be38b733 100644 --- a/modules/ROOT/pages/faqs.adoc +++ b/modules/ROOT/pages/faqs.adoc @@ -90,11 +90,11 @@ The suite of {zdm-product} tools from {company} is free and open-sourced. == Is there support available if I have questions or issues during our migration? -{zdm-proxy} and related software tools in the migration suite include technical assistance by https://support.datastax.com/s/[{company} Support^] for DSE and Luna subscribers, and Astra DB users who are on an Enterprise plan. +{zdm-proxy} and related software tools in the migration suite include technical assistance by https://support.datastax.com/s/[{company} Support] for DSE and Luna subscribers, and Astra DB users who are on an Enterprise plan. Free and Pay As You Go plan users do not have support access and must raise questions in the {astra_ui} chat. https://www.datastax.com/products/luna[Luna] is a subscription to the Apache Cassandra support and expertise at DataStax. -For any observed problems with the {zdm-proxy}, submit a https://github.com/datastax/zdm-proxy/issues[GitHub Issue^] in the {zdm-proxy} GitHub repo. +For any observed problems with the {zdm-proxy}, submit a https://github.com/datastax/zdm-proxy/issues[GitHub Issue] in the {zdm-proxy} GitHub repo. Additional examples serve as templates, from which you can learn about migrations. {company} does not assume responsibility for making the templates work for specific use cases. @@ -107,15 +107,15 @@ In addition to sending feedback, you may submit Pull Requests (PRs) for potentia To submit PRs, you must for first agree to the https://cla.datastax.com/[DataStax Contribution License Agreement (CLA)]. -* https://github.com/datastax/zdm-proxy[{zdm-proxy}^] repo for ZDM Proxy. +* https://github.com/datastax/zdm-proxy[{zdm-proxy}] repo for ZDM Proxy. -* https://github.com/datastax/zdm-proxy-automation[{zdm-automation}^] repo for the Ansible-based {zdm-proxy} Automation, which includes the ZDM Utility. +* https://github.com/datastax/zdm-proxy-automation[{zdm-automation}] repo for the Ansible-based {zdm-proxy} Automation, which includes the ZDM Utility. -* https://github.com/datastax/cassandra-data-migrator[cassandra-data-migrator^] repo for the tool that supports migrating larger data quantities as well as detailed verifications and reconciliation options. +* https://github.com/datastax/cassandra-data-migrator[cassandra-data-migrator] repo for the tool that supports migrating larger data quantities as well as detailed verifications and reconciliation options. -* https://github.com/datastax/dsbulk-migrator[dsbulk-migrator^] repo for the tool that allows simple data migrations without validation and reconciliation capabilities. +* https://github.com/datastax/dsbulk-migrator[dsbulk-migrator] repo for the tool that allows simple data migrations without validation and reconciliation capabilities. -// * https://github.com/datastax/migration-docs[Migration documentation^] +// * https://github.com/datastax/migration-docs[Migration documentation] == Does {zdm-proxy} support Transport Layer Security (TLS)? diff --git a/modules/ROOT/pages/feasibility-checklists.adoc b/modules/ROOT/pages/feasibility-checklists.adoc index bed12b91..1b3e75dc 100644 --- a/modules/ROOT/pages/feasibility-checklists.adoc +++ b/modules/ROOT/pages/feasibility-checklists.adoc @@ -56,7 +56,7 @@ For example, if your compound primary key is `PRIMARY KEY (A, B)` and you always == Considerations for Astra DB migrations {company} Astra DB implements guardrails and sets limits to ensure good practices, foster availability, and promote optimal configurations for your databases. -Please check the list of https://docs.datastax.com/en/astra-serverless/docs/plan/planning.html#_astra_db_database_guardrails_and_limits[guardrails and limits^] and make sure your application workload can be successful within these limits. +Please check the list of https://docs.datastax.com/en/astra-serverless/docs/plan/planning.html#_astra_db_database_guardrails_and_limits[guardrails and limits] and make sure your application workload can be successful within these limits. If you need to make changes to the application or data model to ensure that your workload can run successfully in {company} Astra DB, then you need to do these changes before you start the migration process. @@ -222,17 +222,17 @@ In this section we outline the default behavior of some of these drivers and pro === {company} Java Driver 4.x -The default retry policy takes idempotence in consideration and the query builder tries to infer idempotence automatically. See this Java 4.x https://docs.datastax.com/en/developer/java-driver/latest/manual/core/idempotence/[query idempotence documentation section^]. +The default retry policy takes idempotence in consideration and the query builder tries to infer idempotence automatically. See this Java 4.x https://docs.datastax.com/en/developer/java-driver/latest/manual/core/idempotence/[query idempotence documentation section]. === {company} Java Driver 3.x -The default retry policy takes idempotence in consideration and the query builder tries to infer idempotence automatically. See this Java 3.x https://docs.datastax.com/en/developer/java-driver/3.11/manual/idempotence/[query idempotence documentation section^]. +The default retry policy takes idempotence in consideration and the query builder tries to infer idempotence automatically. See this Java 3.x https://docs.datastax.com/en/developer/java-driver/3.11/manual/idempotence/[query idempotence documentation section]. This behavior was introduced in version 3.1.0 so prior to this version the default retry policy retried all requests regardless of idempotence. === {company} Nodejs Driver 4.x -The default retry policy takes idempotence in consideration. See this Nodejs 4.x https://docs.datastax.com/en/developer/nodejs-driver/latest/features/speculative-executions/#query-idempotence[query idempotence documentation section^]. +The default retry policy takes idempotence in consideration. See this Nodejs 4.x https://docs.datastax.com/en/developer/nodejs-driver/latest/features/speculative-executions/#query-idempotence[query idempotence documentation section]. === {company} C# Driver 3.x and {company} Python Driver 3.x diff --git a/modules/ROOT/pages/glossary.adoc b/modules/ROOT/pages/glossary.adoc index f43fe52e..bcd4cc4f 100644 --- a/modules/ROOT/pages/glossary.adoc +++ b/modules/ROOT/pages/glossary.adoc @@ -18,7 +18,7 @@ An optional testing phase in which reads are sent to both Origin and Target, ena == CQL -Cassandra Query Language (CQL) is a query language for the Cassandra database. It includes DDL and DML statements. For details, see the https://docs.datastax.com/en/dse/6.8/cql/cql/cqlQuickReference.html[CQL quick reference^]. +Cassandra Query Language (CQL) is a query language for the Cassandra database. It includes DDL and DML statements. For details, see the https://docs.datastax.com/en/dse/6.8/cql/cql/cqlQuickReference.html[CQL quick reference]. == Dual-write logic @@ -62,7 +62,7 @@ For more, see <>. Also see xref:enable-async-du == Secure Connect Bundle (SCB) -A ZIP file generated in https://astra.datastax.com[Astra Portal^] that contains connection metadata and TLS encryption certificates (but not the database credentials) for your {astra_db} database. For details, see https://docs.datastax.com/en/astra-serverless/docs/connect/secure-connect-bundle.html[Working with the Secure Connect Bundle^]. +A ZIP file generated in https://astra.datastax.com[Astra Portal] that contains connection metadata and TLS encryption certificates (but not the database credentials) for your {astra_db} database. For details, see https://docs.datastax.com/en/astra-serverless/docs/connect/secure-connect-bundle.html[Working with the Secure Connect Bundle]. [[target]] == Target diff --git a/modules/ROOT/pages/introduction.adoc b/modules/ROOT/pages/introduction.adoc index 73d790bf..1c51f73c 100644 --- a/modules/ROOT/pages/introduction.adoc +++ b/modules/ROOT/pages/introduction.adoc @@ -10,7 +10,7 @@ At {company}, we've developed a set of thoroughly-tested self-service tools, aut We call this product suite {company} {zdm-product} ({zdm-shortproduct}). -{zdm-shortproduct} provides a simple and reliable way for you to migrate applications from any CQL-based cluster (https://cassandra.apache.org/_/index.html[Apache Cassandra®^], https://www.datastax.com/products/datastax-enterprise[DataStax Enterprise (DSE)^], https://www.datastax.com/products/datastax-astra[{astra_db}^], or any type of CQL-based database) to any other CQL-based cluster, without any interruption of service to the client applications and data. +{zdm-shortproduct} provides a simple and reliable way for you to migrate applications from any CQL-based cluster (https://cassandra.apache.org/_/index.html[Apache Cassandra®], https://www.datastax.com/products/datastax-enterprise[DataStax Enterprise (DSE)], https://www.datastax.com/products/datastax-astra[{astra_db}], or any type of CQL-based database) to any other CQL-based cluster, without any interruption of service to the client applications and data. * You can move your application to {astra_db}, DSE, or Cassandra with no downtime and with minimal configuration changes. * Your clusters will be kept in sync at all times by a dual-write logic configuration. diff --git a/modules/ROOT/pages/metrics.adoc b/modules/ROOT/pages/metrics.adoc index 4d582671..e0e323fc 100644 --- a/modules/ROOT/pages/metrics.adoc +++ b/modules/ROOT/pages/metrics.adoc @@ -17,7 +17,7 @@ Having visibility on all aspects of the {zdm-proxy}'s behavior is extremely impo {zdm-automation} can deploy Prometheus and Grafana, configuring them automatically, as explained xref:deploy-proxy-monitoring.adoc#_setting_up_the_monitoring_stack[here]. The Grafana dashboards are ready to go with metrics that are being scraped from the {zdm-proxy} instances. -If you already have a Grafana deployment then you can import the dashboards from the two ZDM dashboard files from this https://github.com/datastax/zdm-proxy-automation/tree/main/grafana-dashboards[{zdm-automation} GitHub location^]. +If you already have a Grafana deployment then you can import the dashboards from the two ZDM dashboard files from this https://github.com/datastax/zdm-proxy-automation/tree/main/grafana-dashboards[{zdm-automation} GitHub location]. == Grafana dashboard for {zdm-proxy} metrics diff --git a/modules/ROOT/pages/migrate-and-validate-data.adoc b/modules/ROOT/pages/migrate-and-validate-data.adoc index bb078267..558cf889 100644 --- a/modules/ROOT/pages/migrate-and-validate-data.adoc +++ b/modules/ROOT/pages/migrate-and-validate-data.adoc @@ -30,9 +30,9 @@ In general: Refer to the following GitHub repos: -* https://github.com/datastax/cassandra-data-migrator[Cassandra Data Migrator^] repo. +* https://github.com/datastax/cassandra-data-migrator[Cassandra Data Migrator] repo. -* https://github.com/datastax/dsbulk-migrator[{dsbulk-migrator}^] repo. +* https://github.com/datastax/dsbulk-migrator[{dsbulk-migrator}] repo. A number of helpful assets are provided in each repo. diff --git a/modules/ROOT/pages/release-notes.adoc b/modules/ROOT/pages/release-notes.adoc index 78a74a5e..904fd73b 100644 --- a/modules/ROOT/pages/release-notes.adoc +++ b/modules/ROOT/pages/release-notes.adoc @@ -23,7 +23,7 @@ Starting in version 2.2.0 of the {zdm-automation}, we added the `zdm_proxy_clust This change is backward compatible. If you previously populated the variables in `zdm_proxy_core_config.yml`, these variables will be honored and take precedence over any variables in `zdm_proxy_cluster_config.yml`, if both files are present. ==== -We encourage existing 2.x ZDM users to upgrade to the 2.3.0 version of {zdm-automation}. To do so, simply `git pull` the `main` branch of https://github.com/datastax/zdm-proxy-automation from within the Ansible Control Host container. You can also check out a https://github.com/datastax/zdm-proxy-automation/releases/tag/v2.3.0[specific tag^], such as 2.3.0. +We encourage existing 2.x ZDM users to upgrade to the 2.3.0 version of {zdm-automation}. To do so, simply `git pull` the `main` branch of https://github.com/datastax/zdm-proxy-automation from within the Ansible Control Host container. You can also check out a https://github.com/datastax/zdm-proxy-automation/releases/tag/v2.3.0[specific tag], such as 2.3.0. For more about the YML files used to configure access to your clusters, see xref:deploy-proxy-monitoring.adoc#_configure_the_zdm_proxy[this topic]. @@ -54,9 +54,9 @@ To find out how to upgrade an existing {zdm-proxy} deployment, see xref:manage-p For the latest information about {zdm-proxy} new features and other changes, please refer to these GitHub-hosted documents in the open-source {zdm-proxy} repo: -* https://github.com/datastax/zdm-proxy/blob/main/RELEASE_NOTES.md[RELEASE_NOTES^] +* https://github.com/datastax/zdm-proxy/blob/main/RELEASE_NOTES.md[RELEASE_NOTES] -* https://github.com/datastax/zdm-proxy/blob/main/CHANGELOG/CHANGELOG-2.1.md[CHANGELOG 2.1^] +* https://github.com/datastax/zdm-proxy/blob/main/CHANGELOG/CHANGELOG-2.1.md[CHANGELOG 2.1] === ZDM 2.1.0 documentation updates @@ -81,17 +81,17 @@ This 2.0.0 version marks the public release of the self-service {company} {zdm-p The following GitHub repos are public. You are welcome to read the source and submit feedback via GitHub Issues per repo. -* https://github.com/datastax/zdm-proxy[{zdm-proxy}^] open-source repo: in addition to sending feedback, you may submit Pull Requests (PRs) for potential inclusion, provided you accept the https://cla.datastax.com/[{company} Contributor License Agreement (CLA)^]. For more information, see xref:contributions.adoc[]. +* https://github.com/datastax/zdm-proxy[{zdm-proxy}] open-source repo: in addition to sending feedback, you may submit Pull Requests (PRs) for potential inclusion, provided you accept the https://cla.datastax.com/[{company} Contributor License Agreement (CLA)]. For more information, see xref:contributions.adoc[]. -* https://github.com/datastax/zdm-proxy-automation[{zdm-automation}^] repo for Ansible-based {zdm-proxy} automation. +* https://github.com/datastax/zdm-proxy-automation[{zdm-automation}] repo for Ansible-based {zdm-proxy} automation. -* https://github.com/datastax/dsbulk-migrator[DSBulk Migrator^] repo for migration of smaller data quantities. +* https://github.com/datastax/dsbulk-migrator[DSBulk Migrator] repo for migration of smaller data quantities. -* https://github.com/datastax/cassandra-data-migrator[Cassandra Data Migrator^] repo for migration of larger data quantities and where detailed verifications and reconciliation options are needed. +* https://github.com/datastax/cassandra-data-migrator[Cassandra Data Migrator] repo for migration of larger data quantities and where detailed verifications and reconciliation options are needed. include::partial$note-downtime.adoc[] -For the latest information about {zdm-proxy} new features and other changes, please refer to the GitHub-hosted https://github.com/datastax/zdm-proxy/blob/main/RELEASE_NOTES.md[RELEASE_NOTES^] in the open-source {zdm-proxy} repo. The document includes CHANGELOG links for each {zdm-proxy} `N.n` release. +For the latest information about {zdm-proxy} new features and other changes, please refer to the GitHub-hosted https://github.com/datastax/zdm-proxy/blob/main/RELEASE_NOTES.md[RELEASE_NOTES] in the open-source {zdm-proxy} repo. The document includes CHANGELOG links for each {zdm-proxy} `N.n` release. ==== [TIP] diff --git a/modules/ROOT/pages/rollback.adoc b/modules/ROOT/pages/rollback.adoc index a6753134..e07dd831 100644 --- a/modules/ROOT/pages/rollback.adoc +++ b/modules/ROOT/pages/rollback.adoc @@ -12,6 +12,9 @@ The migration can be started from scratch once the issue has been addressed. image::{imagesprefix}migration-all-phases.png[Migration phases from start to finish.] -After moving your client applications off the {zdm-proxy} instances (Phase 5), writes are no longer sent to both Origin and Target clusters: the data on Origin is no longer kept up-to-date, and you lose this seamless rollback option. This is the point at which you commit to using Target permanently. The {zdm-proxy} deployment can be destroyed, and Origin is no longer needed by the client applications that have been migrated. +After moving your client applications off the {zdm-proxy} instances (Phase 5), writes are no longer sent to both Origin and Target clusters: the data on Origin is no longer kept up-to-date, and you lose this seamless rollback option. +This is the point at which you commit to using Target permanently. +The {zdm-proxy} deployment can be destroyed, and Origin is no longer needed by the client applications that have been migrated. -However, should you decide to move back to Origin at a later point, or move to a new cluster entirely, you can simply execute the same migration process. In this case, the new Origin will now be the former Target, and the new Target will be whatever cluster you wish to migrate to (which could even be the former Origin). +However, should you decide to move back to Origin at a later point, or move to a new cluster entirely, you can simply execute the same migration process. +In this case, the new Origin will now be the former Target, and the new Target will be whatever cluster you wish to migrate to (which could even be the former Origin). diff --git a/modules/ROOT/pages/setup-ansible-playbooks.adoc b/modules/ROOT/pages/setup-ansible-playbooks.adoc index 488a9b0c..dc9c7f16 100644 --- a/modules/ROOT/pages/setup-ansible-playbooks.adoc +++ b/modules/ROOT/pages/setup-ansible-playbooks.adoc @@ -11,17 +11,25 @@ Once completed, you will have a working and fully monitored {zdm-proxy} deployme == Introduction -The {zdm-automation} uses **Ansible**, which deploys and configures the {zdm-proxy} instances and monitoring stack via playbooks. This step expects that the infrastructure has been already provisioned. See xref:deployment-infrastructure.adoc[Deployment and infrastructure considerations], which include the infrastructure requirements. +The {zdm-automation} uses **Ansible**, which deploys and configures the {zdm-proxy} instances and monitoring stack via playbooks. +This step expects that the infrastructure has been already provisioned. +See xref:deployment-infrastructure.adoc[Deployment and infrastructure considerations], which include the infrastructure requirements. -Configuring a machine to serve as the Ansible Control Host is very easy using the {zdm-utility}. This is a Golang (Go) executable program that runs anywhere. This utility prompts you for a few configuration values, with helpful embedded explanations and error handling, then automatically creates the Ansible Control Host container ready for you to use. From this container, you will be able to easily configure and run the {zdm-automation} Ansible playbooks. +Configuring a machine to serve as the Ansible Control Host is very easy using the {zdm-utility}. +This is a Golang (Go) executable program that runs anywhere. +This utility prompts you for a few configuration values, with helpful embedded explanations and error handling, then automatically creates the Ansible Control Host container ready for you to use. +From this container, you will be able to easily configure and run the {zdm-automation} Ansible playbooks. image::{imagesprefix}docker-container-and-zdm-utility.png[ZDM Proxy connections from Docker container created by ZDM Utility] == Prerequisites -. You must have already provisioned the ZDM infrastructure, which means you must have the server machines ready, and know their IP addresses. These can be in the cloud provider of your choice or on-premise. -. Docker needs to be installed on the machine that will be running the Ansible Control Host container. For comprehensive installation instructions, please refer to the https://docs.docker.com/engine/install/#server[official Docker documentation]. -. The `docker` command must not require superuser privileges. The instructions to do this can be found https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user[here]. +. You must have already provisioned the ZDM infrastructure, which means you must have the server machines ready, and know their IP addresses. +These can be in the cloud provider of your choice or on-premise. +. Docker needs to be installed on the machine that will be running the Ansible Control Host container. +For comprehensive installation instructions, please refer to the https://docs.docker.com/engine/install/#server[official Docker documentation]. +. The `docker` command must not require superuser privileges. +The instructions to do this can be found https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user[here]. [NOTE] ==== @@ -55,28 +63,32 @@ datastax/zdm-proxy:2.x In this guide, we'll use a jumphost to run the Ansible Control Host container. -A jumphost is a server on a network used to access and manage devices in a separate security zone, providing a controlled means of access between them. The jumphost can be, for example, a Linux server machine that is able to access the server machines that you wish to use for your {zdm-proxy} deployment. +A jumphost is a server on a network used to access and manage devices in a separate security zone, providing a controlled means of access between them. +The jumphost can be, for example, a Linux server machine that is able to access the server machines that you wish to use for your {zdm-proxy} deployment. The jumphost will serve three purposes: -* Accessing the {zdm-proxy} machines -* Running the Ansible Control Host container, from which the {zdm-automation} can be run +* Accessing the {zdm-proxy} machines. +* Running the Ansible Control Host container, from which the {zdm-automation} can be run. * Running the {zdm-shortproduct} monitoring stack, which uses Prometheus and Grafana to expose the metrics of all the {zdm-proxy} instances in a preconfigured dashboard. [TIP] ==== -To simplify accessing the jumphost and {zdm-proxy} instances from your machine, create a xref:deployment-infrastructure.adoc#_connecting_to_the_zdm_infrastructure_from_an_external_machine[custom SSH configuration file]. The following steps will assume that this file exists. +To simplify accessing the jumphost and {zdm-proxy} instances from your machine, create a xref:deployment-infrastructure.adoc#_connecting_to_the_zdm_infrastructure_from_an_external_machine[custom SSH configuration file]. +The following steps will assume that this file exists. ==== Let's get started. == Proxy deployment setup on the jumphost -To run the {zdm-automation}, the Ansible Control Host needs to be able to connect to all other instances of the {zdm-proxy} deployment. For this reason, it needs to have the SSH key required by those instances. +To run the {zdm-automation}, the Ansible Control Host needs to be able to connect to all other instances of the {zdm-proxy} deployment. +For this reason, it needs to have the SSH key required by those instances. === Add SSH keys to the jumphost -From your local machine, transfer (`scp`) the SSH private key for the {zdm-shortproduct} deployment to the jumphost. Example: +From your local machine, transfer (`scp`) the SSH private key for the {zdm-shortproduct} deployment to the jumphost. +Example: [source,bash] ---- @@ -92,9 +104,8 @@ ssh -F jumphost == Running the {zdm-utility} -From the jumphost, download the {zdm-utility}'s executable. Releases are available here: - -link:https://github.com/datastax/zdm-proxy-automation/releases[https://github.com/datastax/zdm-proxy-automation/releases^] +From the jumphost, download the {zdm-utility}'s executable. +Releases are available https://github.com/datastax/zdm-proxy-automation/releases[here]. The downloadable archive name format is `zdm-util--`. @@ -114,14 +125,16 @@ Here's an example to wget {zdm-utility} 2.3.0: wget https://github.com/datastax/zdm-proxy-automation/releases/download/v2.3.0/zdm-util-linux-amd64-v2.3.0.tgz ---- -Once downloaded, unzip it. Here's an example with {zdm-utility} 2.3.0: +Once downloaded, unzip it. +Here's an example with {zdm-utility} 2.3.0: [source,bash] ---- tar -xvf zdm-util-linux-amd64-v2.3.0.tgz ---- -Run the {zdm-utility}. Here's an example with {zdm-utility} 2.3.0: +Run the {zdm-utility}. +Here's an example with {zdm-utility} 2.3.0: [source,bash] ---- @@ -132,9 +145,12 @@ The utility prompts you for a few configuration values, then creates and initial [TIP] ==== -The {zdm-utility} will store the configuration that you provide into a file named `ansible_container_init_config` in the current directory. If you run the utility again, it will detect the file and ask you if you wish to use that configuration or discard it. If the configuration is not fully valid, you will be prompted for the missing or invalid parameters only. +The {zdm-utility} will store the configuration that you provide into a file named `ansible_container_init_config` in the current directory. +If you run the utility again, it will detect the file and ask you if you wish to use that configuration or discard it. +If the configuration is not fully valid, you will be prompted for the missing or invalid parameters only. -You can also pass a custom configuration file to the {zdm-utility} with the optional command-line parameter `-utilConfigFile`. Example: +You can also pass a custom configuration file to the {zdm-utility} with the optional command-line parameter `-utilConfigFile`. +Example: Here's an example with {zdm-utility} 2.3.0: @@ -146,30 +162,41 @@ Here's an example with {zdm-utility} 2.3.0: [NOTE] ==== -The {zdm-utility} will validate each variable that you enter. In case of invalid variables, it will display specific messages to help you fix the problem. +The {zdm-utility} will validate each variable that you enter. +In case of invalid variables, it will display specific messages to help you fix the problem. -You have five attempts to enter valid variables. You can always run the {zdm-utility} again, if necessary. +You have five attempts to enter valid variables. +You can always run the {zdm-utility} again, if necessary. ==== -. Enter the path to, and name of, the SSH private key to access the proxy hosts. Example: +. Enter the path to, and name of, the SSH private key to access the proxy hosts. +Example: + [source,bash] ---- ~/my-zdm-key ---- -. Enter the common prefix of the private IP addresses of the proxy hosts. Example: +. Enter the common prefix of the private IP addresses of the proxy hosts. +Example: + [source,bash] ---- 172.18.* ---- -. You're asked if you have an existing Ansible inventory file. If you do, and you transferred it to the jumphost, you can just specify it. If you do not, the {zdm-utility} will create one based on your answers to prompts and save it. Here we'll assume that you do not have one. Enter `n`. + +. You're asked if you have an existing Ansible inventory file. +If you do, and you transferred it to the jumphost, you can just specify it. +If you do not, the {zdm-utility} will create one based on your answers to prompts and save it. +Here we'll assume that you do not have one. Enter `n`. ++ The created file will be named `zdm_ansible_inventory` in your working directory. -. Next, indicate if this deployment is for local testing and evaluation (such as when you're creating a demo or just experimenting with the {zdm-proxy}). In this example, we'll enter `n` because this scenario is for a production deployment. -. Now enter at least three proxy private IP addresses for the machines that will run the {zdm-proxy} instances, for a production deployment. (If we had indicated above that we're doing local testing in dev, only one proxy would have been required.) Example values entered at the {zdm-utility}'s prompt, for production: +. Next, indicate if this deployment is for local testing and evaluation (such as when you're creating a demo or just experimenting with the {zdm-proxy}). +In this example, we'll enter `n` because this scenario is for a production deployment. +. Now enter at least three proxy private IP addresses for the machines that will run the {zdm-proxy} instances, for a production deployment. +(If we had indicated above that we're doing local testing in dev, only one proxy would have been required.) +Example values entered at the {zdm-utility}'s prompt, for production: + [source,bash] ---- @@ -180,20 +207,27 @@ The created file will be named `zdm_ansible_inventory` in your working directory + To finish entering private IP addresses, simply press ENTER at the prompt. -. Optionally, when prompted, you can enter the private IP address of your Monitoring instance, which will use Prometheus to store data and Grafana to visualize it into a preconfigured dashboard. It is strongly recommended exposing the {zdm-proxy} metrics in the preconfigured dashboard that ships with the {zdm-automation} for easy monitoring. You can skip this step if you haven't decided which machine to use for monitoring, or if you wish to use your own monitoring stack. +. Optionally, when prompted, you can enter the private IP address of your Monitoring instance, which will use Prometheus to store data and Grafana to visualize it into a preconfigured dashboard. +It is strongly recommended exposing the {zdm-proxy} metrics in the preconfigured dashboard that ships with the {zdm-automation} for easy monitoring. +You can skip this step if you haven't decided which machine to use for monitoring, or if you wish to use your own monitoring stack. + [NOTE] ==== -We highly recommend that you configure a monitoring instance, unless you intend to use a monitoring stack that you already have. For migrations that may run for multiple days, it is essential that you use metrics to understand the performance and health of the {zdm-proxy} instances. +We highly recommend that you configure a monitoring instance, unless you intend to use a monitoring stack that you already have. +For migrations that may run for multiple days, it is essential that you use metrics to understand the performance and health of the {zdm-proxy} instances. -You cannot rely solely on information in the logs. They report connection or protocol errors, but do not give you enough information on how the {zdm-proxy} is working and how each cluster is responding. Metrics, however, provide especially helpful data and the graphs show you how they vary over time. The monitoring stack ships with preconfigured Grafana dashboards that are automatically set up as part of the monitoring deployment. +You cannot rely solely on information in the logs. +They report connection or protocol errors, but do not give you enough information on how the {zdm-proxy} is working and how each cluster is responding. +Metrics, however, provide especially helpful data and the graphs show you how they vary over time. +The monitoring stack ships with preconfigured Grafana dashboards that are automatically set up as part of the monitoring deployment. For details about the metrics you can observe in these preconfigured Grafana dashboards, see xref:troubleshooting-tips.adoc#how-to-leverage-metrics[this section] of the troubleshooting tips. ==== + You can choose to deploy the monitoring stack on the jumphost or on a different machine, as long as it can connect to the {zdm-proxy} instances over TCP on ports 9100 (to collect host-level metrics) and on the port on which the {zdm-proxy} exposes its own metrics, typically 14001. -In this example, we'll enter the same IP of the Ansible control host (the jumphost machine on which we're running the {zdm-utility}). Example: +In this example, we'll enter the same IP of the Ansible control host (the jumphost machine on which we're running the {zdm-utility}). +Example: [source,bash] ---- @@ -204,7 +238,8 @@ At this point, the {zdm-utility}: * Has created the Ansible Inventory to the default file, `zdm_ansible_inventory`. * Has written the {zdm-utility} configuration to the default file, `ansible_container_init_config`. -* Presents a summary of the configuration thus far, and prompts you to Continue. Example: +* Presents a summary of the configuration thus far, and prompts you to Continue. +Example: image::{imagesprefix}zdm-go-utility-results3.png[A summary of the configuration provided is displayed in the terminal] @@ -220,7 +255,8 @@ image::{imagesprefix}zdm-go-utility-success3.png[Ansible Docker container succes [NOTE] ==== -Depending on your circumstances, you can make different choices in the ZDM Utility, which will result in a path that is slightly different to the one explained here. The utility will guide you through the process with meaningful, self-explanatory messages and help you rectify any issue that you may encounter. +Depending on your circumstances, you can make different choices in the ZDM Utility, which will result in a path that is slightly different to the one explained here. +The utility will guide you through the process with meaningful, self-explanatory messages and help you rectify any issue that you may encounter. The successful outcome will always be a configured Ansible Control Host container ready to run the {zdm-automation}. ==== \ No newline at end of file diff --git a/modules/ROOT/pages/tls.adoc b/modules/ROOT/pages/tls.adoc index 8e17ab49..62223555 100644 --- a/modules/ROOT/pages/tls.adoc +++ b/modules/ROOT/pages/tls.adoc @@ -43,7 +43,7 @@ keytool -exportcert -keystore -alias -file Date: Mon, 18 Mar 2024 16:51:12 -0400 Subject: [PATCH 11/17] final readthrough edits. Phase 1 deploy, configure, and connect pages done --- .../ROOT/images/zdm-ansible-container-ls3.png | Bin 386433 -> 742626 bytes .../ROOT/pages/connect-clients-to-proxy.adoc | 72 ++++++++---- .../ROOT/pages/deploy-proxy-monitoring.adoc | 103 +++++++++++------- modules/ROOT/pages/tls.adoc | 44 +++++--- 4 files changed, 148 insertions(+), 71 deletions(-) diff --git a/modules/ROOT/images/zdm-ansible-container-ls3.png b/modules/ROOT/images/zdm-ansible-container-ls3.png index e7efa6e8893f591ebdfdbd9acbb022b31ffcaee8..2fd59a1b87b05ec81e38c936eef586e00b212bef 100644 GIT binary patch literal 742626 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

5$u8#=a4liMo29&@AzDxM^X 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 jIT@a!D@LVBnLB|7@Ivy0Y3C&vDK1^h(9Yq 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%0D9ZaqzRTrDCT!ai0AJ^M6L}#neG+_q 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�#?eTQ-j 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⪻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

    7pLp1tczXI+>)ID9azic;#!IPgbb$Pew-K< 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

    yHcl@zc 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

    -(CaD=#MOegh|I zy!U2UR+{m?3lE@$+2wj}?7$rQyJS?4lVgovASQ~woa3zKSLYI8X|ze!AM9pTkT*F4 zViIURevLxKc>3`$5WwWMBUlp!zl&0tav> zf8yDC(%oPJ>xi(L+P4kb5X2MdY#IOK+1ZPs(=f=fkABmrg~Z*Zz-XcTq;uco-g;G6 z!L)p+7a}-C+EJ(x{XU{6(P79Gl|ly@X@~e_=`QZ1H^*i!JHRAXSV7iSSOL@PAy4kt z;%h~{;3`4-Q7od6*sOH`1_l}1-3{xISlrj}SHJ=W6#0W+xZ|$jReNGzY?4SUkwX-{ z_d(W3Y`i&=AvzdmbKi2VXb0wep{8+PPr_$5b8fUYAIQFZrB$)c8OyWdE+JjrT>c~Y zv0sa-`e_kBnC_iWR@-@QZBAafH? z!|K70L;)70Km=3FiW$UmRJJiMRzlWAWM;i|IJ2mHsnngsQ}!d~K{t#*iaO~#Vq3*= zkBBijnlb%+<%Q-Yn?F&^tH)^{6T zA!c9@EcNqxV8Gj3l%2rDOtMn`rkY``=ymuz)!OU14Bz$AaG^T z=Y39owT8qc3$`<{Yr&My0PK32h8f?mMVfeof7Ly4VxyoP%%_VtN+3>bmgsh(enC&w z?m#eFIE}0dsy3H3mcw5zE(;@YeMC08xV<)q5xgOQA4W>)ZeX6hzi+_)OF=9Q%ni$> z*GTY;76S1pj`$vRDOtsUt;auF-MLp}wEOC~KdduCY7@4is7)A)8Eb)T`7Vn<9m)@o$U$E+Sf zBiywqP<{5a1B*VJeeKU7Z@KRSahq_eNQjY|NX~<~ZQg*?aE)I5bw)eoMfhg=EWn3(YYtTMZ8-g z*K<2R6c^Za$mdUf&o`w`Ns9U#Jc3yKic|HtmY(Y*wioA;b20P|9L;^_*V+^KBu*}% zr*y+|OvlDI@V_xpMcQC@3qW^9AZpIz--6bhK+KIF#Rx6{%oT$yq|ZoWo@vpmkcWh`{J z$e37NT{!9IOB;EfoE<)e!Z!Kj!!X+b!^oo7C;38qktBR7Qa(Q(q#BK)+ubKRGsIS} zJZu`rzl0TGT@|H6b)7+%<^WsCw#y(-*ZA1BLnD@Rg;c$8{Ve{pl|TI%rntOJ2(i=b z@_jPC`(Jv$x2$SQ8IDB%G@K8yZ@pLB01B72n}<6*_ZHe{Yoj| zPj11Q_~c$36c@tY?4kuyzoDRfeD?#f<184{^NS3YEWX)%n^UOWh%#+WbX=0+Ac=DE zHx@jubs>uq^H*(9ONq045seHe4Y(NamZ{wttblD*V&oK(qojmMGGFWP`nH?$n1gJhre($@Qf0)NXn02B&Jen+R9NP6_hfmA9rB=-@v$o*B_n?8`H7^(6}BW-RLj(W6$ z>Usg{5``y;*-NOU*WohKF0iM?DKpV26cw#gBv85+KKpDKr)JY;mRC7AGLwN?N|zjt zPf1lM~D5Uv>d8@4X^jq<{Zsu~P{T0q4nKUg7QkH^2EGU8?`(7kFv|Uo|w_+;vXv>u=-q#j+ z@HfBt?-;88?ssdMffQTWG%)?!#qeCe`1U@MX^6}FKyj`w|66|cX*6J74o-y}=M#PY z4qkh78wspEQT>JZpTEXupkU-H`PFaz&mWG|tMG<)r!$yf{Lf!w06@e{?L@}^Ov;|~ zZ`Bj6%OBoQ)9&jWzURA2{M`#L15(+;EE{#skJjJ)#hN|<%%XS!>z3&GKAwN~8V

  1. s7*2UeX$#7Iw}L_<#N~ST+Dz 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 G%=|wxJ^oDq diff --git a/modules/ROOT/pages/connect-clients-to-proxy.adoc b/modules/ROOT/pages/connect-clients-to-proxy.adoc index 377f6d07..2a757349 100644 --- a/modules/ROOT/pages/connect-clients-to-proxy.adoc +++ b/modules/ROOT/pages/connect-clients-to-proxy.adoc @@ -4,9 +4,14 @@ ifdef::env-github,env-browser,env-vscode[:imagesprefix: ../images/] ifndef::env-github,env-browser,env-vscode[:imagesprefix: ] -The {zdm-proxy} is designed to look and feel very much like a conventional Cassandra® cluster. You communicate with it using the CQL query language used in your existing client applications. It understands the same messaging protocols used by Cassandra, DataStax Enterprise (DSE) server and {company} Astra DB. As a result, most of your client applications won't be able to distinguish between connecting to {zdm-proxy} and connecting directly to your Cassandra cluster. +The {zdm-proxy} is designed to look and feel very much like a conventional Cassandra® cluster. +You communicate with it using the CQL query language used in your existing client applications. +It understands the same messaging protocols used by Cassandra, DataStax Enterprise (DSE) server and {company} Astra DB. +As a result, most of your client applications won't be able to distinguish between connecting to {zdm-proxy} and connecting directly to your Cassandra cluster. -On this page, we explain how to connect your client applications to a Cassandra cluster. We then move on to discuss how this process changes when connecting to a {zdm-proxy}. We conclude by describing two sample client applications that serve as a real-world examples of how to build a client application that works effectively with {zdm-proxy}. +On this page, we explain how to connect your client applications to a Cassandra cluster. +We then move on to discuss how this process changes when connecting to a {zdm-proxy}. +We conclude by describing two sample client applications that serve as real-world examples of how to build a client application that works effectively with {zdm-proxy}. You can use the provided sample client applications, in addition to your own, as a quick way to validate that the deployed {zdm-proxy} is reading and writing data from the expected Origin and Target clusters. @@ -22,11 +27,17 @@ At DataStax, we've developed and maintain a set of drivers for client applicatio * https://github.com/datastax/cpp-driver[{company} C/C++ driver for Apache Cassandra] * https://github.com/datastax/nodejs-driver[{company} Node.js driver for Apache Cassandra] -These drivers provide a native implementation of the messaging protocols used to communicate with a Cassandra or DSE cluster or Astra DB. They allow you to execute queries, iterate through results, access metadata about your cluster, and perform other related activities. +These drivers provide a native implementation of the messaging protocols used to communicate with a Cassandra or DSE cluster or Astra DB. +They allow you to execute queries, iterate through results, access metadata about your cluster, and perform other related activities. == Connecting {company} drivers to Cassandra -Perhaps the simplest way to demonstrate how to use the {company} drivers to connect your client application to a Cassandra cluster is an example in the form of some sample code. But there's a bit of a problem: the {company} drivers are independent projects implemented natively in the relevant programming language. This approach offers the benefit of allowing each project to provide an API that makes the most sense for the language or platform on which it's implemented. Unfortunately it also means there is some variation between languages. With that in mind, the following pseudocode provides reasonable guidance for understanding how a client application might use one of the drivers. +Perhaps the simplest way to demonstrate how to use the {company} drivers to connect your client application to a Cassandra cluster is an example in the form of some sample code. +But there's a bit of a problem: the {company} drivers are independent projects implemented natively in the relevant programming language. + +This approach offers the benefit of allowing each project to provide an API that makes the most sense for the language or platform on which it's implemented. +Unfortunately it also means there is some variation between languages. +With that in mind, the following pseudocode provides reasonable guidance for understanding how a client application might use one of the drivers. [source] ---- @@ -54,13 +65,15 @@ print(release_version) As noted, you'll see some differences in individual drivers: -* New versions of the Java driver no longer define a Cluster object: -** Client programs create a Session directly instead; -* and the Node.js driver has no notion of a Cluster or Session at all, instead using a Client object to represent this functionality. +* New versions of the Java driver no longer define a Cluster object. +Client programs create a Session directly. +* The Node.js driver has no notion of a Cluster or Session at all, instead using a Client object to represent this functionality. The details may vary but you'll still see the same general pattern described in the pseudocode in each of the drivers. -This topic does not describe details or APIs for any of the {company} drivers mentioned above. All the drivers come with a complete set of documentation for exactly this task. The following links provide some good starting points for learning about the interfaces for each specific driver: +This topic does not describe details or APIs for any of the {company} drivers mentioned above. +All the drivers come with a complete set of documentation for exactly this task. +The following links provide some good starting points for learning about the interfaces for each specific driver: * The https://docs.datastax.com/en/developer/java-driver/latest/manual/core/[core driver section] of the Java driver manual. * The https://docs.datastax.com/en/developer/python-driver/latest/getting_started/[getting started guide] for the Python driver. @@ -70,22 +83,31 @@ This topic does not describe details or APIs for any of the {company} drivers me [TIP] ==== -The links above lead to the documentation for the most recent version of each driver. You can find the documentation for earlier versions by selecting the appropriate version number from the drop-down menu in the upper right. +The links above lead to the documentation for the most recent version of each driver. +You can find the documentation for earlier versions by selecting the appropriate version number from the drop-down menu in the upper right. ==== == Connecting {company} drivers to {zdm-proxy} -We mentioned above that connecting to a {zdm-proxy} should be almost indistinguishable from connecting directly to your Cassandra cluster. This design decision means there isn't much to say here; everything we discussed in the section above also applies when connecting your {company} driver to a {zdm-proxy}. There are a few extra considerations to keep in mind, though, when using the proxy. +We mentioned above that connecting to a {zdm-proxy} should be almost indistinguishable from connecting directly to your Cassandra cluster. +This design decision means there isn't much to say here; everything we discussed in the section above also applies when connecting your {company} driver to a {zdm-proxy}. +There are a few extra considerations to keep in mind, though, when using the proxy. === Client-side compression -Client applications must not enable client-side compression when connecting through the {zdm-proxy}, as this is not currently supported. This is disabled by default in all drivers, but if it was enabled in your client application configuration it will have to be temporarily disabled when connecting to the {zdm-proxy}. +Client applications must not enable client-side compression when connecting through the {zdm-proxy}, as this is not currently supported. +This is disabled by default in all drivers, but if it was enabled in your client application configuration it will have to be temporarily disabled when connecting to the {zdm-proxy}. +[[_client_application_credentials]] === Client application credentials -The credentials provided by the client application are used when forwarding its requests. However, the client application has no notion that there are two clusters involved: from its point of view, it talks to just one cluster as usual. For this reason, the {zdm-proxy} will only use the client application credentials when forwarding requests to one cluster (typically Target), and it will resort to using the credentials in its own configuration to forward requests to the other cluster (typically Origin). + +The credentials provided by the client application are used when forwarding its requests. +However, the client application has no notion that there are two clusters involved: from its point of view, it talks to just one cluster as usual. +For this reason, the {zdm-proxy} will only use the client application credentials when forwarding requests to one cluster (typically Target), and it will resort to using the credentials in its own configuration to forward requests to the other cluster (typically Origin). This means that, if your {zdm-proxy} is configured with an Origin or Target cluster with **user authentication enabled**, your client application has to provide credentials when connecting to the proxy: -* If both clusters require authentication, your client application must pass the credentials for Target. This is also the case if only Target requires authentication but Origin does not. +* If both clusters require authentication, your client application must pass the credentials for Target. +This is also the case if only Target requires authentication but Origin does not. * If Origin requires authentication but Target does not, your client application must supply credentials for Origin. * If neither cluster requires authentication, no credentials are needed. @@ -117,16 +139,20 @@ This means that, if your {zdm-proxy} is configured with an Origin or Target clus image::zdm-proxy-credential-usage.png[ZDM proxy credentials usage, 550] === A note on the Astra Secure Connect Bundle -If your {zdm-proxy} is configured to use Astra DB as an Origin or Target, your client application **does not need** to provide an Astra Secure Connect Bundle (SCB) when connecting to the proxy. It will, however, have to supply the Astra client ID and client secret as a username and password (respectively). + +If your {zdm-proxy} is configured to use Astra DB as an Origin or Target, your client application **does not need** to provide an Astra Secure Connect Bundle (SCB) when connecting to the proxy. +It will, however, have to supply the Astra client ID and client secret as a username and password (respectively). == Sample client applications -The documentation for the {company} drivers provides information about how to connect these drivers to your Cassandra cluster or {zdm-proxy} and how to use them to issue queries, update data and perform other actions. In addition to the smaller code samples provided in the documentation, we also provide a few sample client applications which demonstrate the use of the {company} Java driver to interact with {zdm-proxy} as well as Origin and Target for that proxy. +The documentation for the {company} drivers provides information about how to connect these drivers to your Cassandra cluster or {zdm-proxy} and how to use them to issue queries, update data and perform other actions. +In addition to the smaller code samples provided in the documentation, we also provide a few sample client applications which demonstrate the use of the {company} Java driver to interact with {zdm-proxy} as well as Origin and Target for that proxy. === ZDM Demo Client -https://github.com/alicel/zdm-demo-client/[ZDM Demo Client] is a minimal Java web application which provides a simple, stripped-down example of an application built to work with {zdm-proxy}. After updating connection information you can compile and run the application locally and interact with it using HTTP clients such as `curl` or `wget`. +https://github.com/alicel/zdm-demo-client/[ZDM Demo Client] is a minimal Java web application which provides a simple, stripped-down example of an application built to work with {zdm-proxy}. +After updating connection information you can compile and run the application locally and interact with it using HTTP clients such as `curl` or `wget`. You can find the details of building and running ZDM Demo Client in the https://github.com/alicel/zdm-demo-client/blob/master/README.md[README]. @@ -138,13 +164,18 @@ https://github.com/absurdfarce/themis[Themis] is a Java command-line client appl * Directly into Target * Into the {zdm-proxy}, and subsequently on to Origin and Target -The client application can then be used to query the inserted data. This allows you to validate that the {zdm-proxy} is reading and writing data from the expected sources. Configuration details for the clusters and/or {zdm-proxy} are defined in a YAML file. Details are in the https://github.com/absurdfarce/themis/blob/main/README.md[README]. +The client application can then be used to query the inserted data. +This allows you to validate that the {zdm-proxy} is reading and writing data from the expected sources. +Configuration details for the clusters and/or {zdm-proxy} are defined in a YAML file. +Details are in the https://github.com/absurdfarce/themis/blob/main/README.md[README]. -In addition to any utility as a validation tool, Themis also serves as an example of a larger client application which uses the Java driver to connect to a {zdm-proxy} -- as well as directly to Cassandra or Astra DB clusters -- and perform operations. The configuration logic as well as the cluster and session management code have been cleanly separated into distinct packages to make them easy to understand. +In addition to any utility as a validation tool, Themis also serves as an example of a larger client application which uses the Java driver to connect to a {zdm-proxy} -- as well as directly to Cassandra or Astra DB clusters -- and perform operations. +The configuration logic as well as the cluster and session management code have been cleanly separated into distinct packages to make them easy to understand. == Connecting CQLSH to the {zdm-proxy} -https://downloads.datastax.com/#cqlsh[CQLSH] is a simple, command-line client that is able to connect to any CQL cluster, enabling you to interactively send CQL requests to it. CQLSH comes pre-installed on any Cassandra or DSE node, or it can be downloaded and run as a standalone client on any machine able to connect to the desired cluster. +https://downloads.datastax.com/#cqlsh[CQLSH] is a simple, command-line client that is able to connect to any CQL cluster, enabling you to interactively send CQL requests to it. +CQLSH comes pre-installed on any Cassandra or DSE node, or it can be downloaded and run as a standalone client on any machine able to connect to the desired cluster. Using CQLSH to connect to a {zdm-proxy} instance is very easy: @@ -164,4 +195,5 @@ For example, if one of your {zdm-proxy} instances has IP Address `172.18.10.34` ./cqlsh 172.18.10.34 14002 -u -p ---- -If the {zdm-proxy} listens on port `9042`, you can omit the port from the command above. If credentials are not required, just omit the `-u` and `-p` options. \ No newline at end of file +If the {zdm-proxy} listens on port `9042`, you can omit the port from the command above. +If credentials are not required, just omit the `-u` and `-p` options. \ No newline at end of file diff --git a/modules/ROOT/pages/deploy-proxy-monitoring.adoc b/modules/ROOT/pages/deploy-proxy-monitoring.adoc index 893b7328..399dab16 100644 --- a/modules/ROOT/pages/deploy-proxy-monitoring.adoc +++ b/modules/ROOT/pages/deploy-proxy-monitoring.adoc @@ -45,26 +45,34 @@ The {zdm-proxy} configuration is composed of four files: * `zdm_proxy_custom_tls_config.yml`, to configure TLS encryption if desired. === Cluster and core configuration -The next step is to edit the `zdm_proxy_cluster_config.yml` file in the Docker container. You'll want to enter your Cassandra/DSE username, password, and other variables. -In the container shell, `cd` to `~/zdm-proxy-automation/ansible/vars` and edit `zdm_proxy_cluster_config.yml`. The `vi` and `nano` text editors are available in the container. +The next step is to edit the `zdm_proxy_cluster_config.yml` file in the Docker container. +You'll want to enter your Cassandra/DSE username, password, and other variables. + +In the container shell, `cd` to `~/zdm-proxy-automation/ansible/vars` and edit `zdm_proxy_cluster_config.yml`. +The `vi` and `nano` text editors are available in the container. [NOTE] ==== -Starting in version 2.2.0 of the {zdm-automation}, we added the `zdm_proxy_cluster_config.yml` file to contain all the configuration variables for Origin and Target. Prior to version 2.2.0, the variables were in the `zdm_proxy_core_config.yml` file. +Starting in version 2.2.0 of the {zdm-automation}, we added the `zdm_proxy_cluster_config.yml` file to contain all the configuration variables for Origin and Target. +Prior to version 2.2.0, the variables were in the `zdm_proxy_core_config.yml` file. If you are using an automation version up to and including 2.1.0, please use `zdm_proxy_core_config.yml` to configure access to your clusters. ==== -There are two identical sets of variables to configure the {zdm-proxy} to connect to the cluster. One set is for Origin and its variables are prefixed with `origin`, while the set of variables for Target uses the `target` prefix. In the explanation below, `*` indicates any of these two prefixes as appropriate. +There are two identical sets of variables to configure the {zdm-proxy} to connect to the cluster. +One set is for Origin and its variables are prefixed with `origin`, while the set of variables for Target uses the `target` prefix. +In the explanation below, `*` indicates any of these two prefixes as appropriate. -These two sections are very important and are always required. Populate the appropriate variables in each section for the respective cluster, by uncommenting the variables and specifying their values as follows: +These two sections are very important and are always required. +Populate the appropriate variables in each section for the respective cluster, by uncommenting the variables and specifying their values as follows: . Cluster credentials: -.. If it is a self-managed cluster, `*_username` and `*_password` must be valid credentials for it. Leave blank if authentication is not enabled on the cluster. +.. If it is a self-managed cluster, `*_username` and `*_password` must be valid credentials for it. +Leave blank if authentication is not enabled on the cluster. .. If it is an Astra DB cluster, authentication is always enabled: `*_username` must be the Client ID and `*_password` the Client Secret of a valid Astra DB set of credentials with the `R/W User` role. . Contact points and port (only relevant for self-managed clusters, leave unset for Astra clusters) -.. `*_contact points` comma-separated list of IP addresses of the cluster's seed nodes. +.. `*_contact points`: comma-separated list of IP addresses of the cluster's seed nodes. .. `*_port`: port on which the cluster listens for client connections. Defaults to 9042. . For Astra DB clusters, choose one of the following options and leave unset the other (leave both unset for self-managed clusters): .. If you wish to manually provide the cluster's Secure Connect Bundle: @@ -72,7 +80,7 @@ These two sections are very important and are always required. Populate the appr ... Copy it to the container. Open a new shell on the jumphost, run `docker cp zdm-ansible-container:/home/ubuntu` ... Specify its path in `*_astra_secure_connect_bundle_path`. .. Otherwise, if you wish the automation to download the cluster's Secure Connect Bundle for you, just specify the two following variables: -... `*_astra_db_id`: the cluster's https://docs.datastax.com/en/astra-serverless/docs/astra-faq.html#_where_do_i_find_the_database_id_and_organization_id[database id]. +... `*_astra_db_id`: the cluster's https://docs.datastax.com/en/astra/astra-db-vector/faqs.html#where-do-i-find-the-organization-id-database-id-or-region-id[database id]. ... `*_astra_token`: the token field from a valid set of credentials for a `R/W User` Astra role (this is the long string that starts with `AstraCS:`). Save the file and exit the editor. @@ -107,39 +115,54 @@ target_astra_token: "AstraCS:dUTGnRs...jeiKoIqyw:01...29dfb7" ---- -The other file you need to be aware of is `zdm_proxy_core_config.yml`. This file contains some global variables that will be used in subsequent steps during the migration. It is good to familiarize yourself with this file, although these configuration variables do not need changing at this time: +The other file you need to be aware of is `zdm_proxy_core_config.yml`. +This file contains some global variables that will be used in subsequent steps during the migration. +It is good to familiarize yourself with this file, although these configuration variables do not need changing at this time: -. `primary_cluster`: which cluster is going to be the primary source of truth. This should be left set to its default value of `ORIGIN` at the start of the migration, and will be changed to `TARGET` after migrating all existing data. -. `read_mode`: leave to its default value of `PRIMARY_ONLY`. See xref:enable-async-dual-reads.adoc[] for more information on this variable. +. `primary_cluster`: which cluster is going to be the primary source of truth. +This should be left set to its default value of `ORIGIN` at the start of the migration, and will be changed to `TARGET` after migrating all existing data. +. `read_mode`: leave to its default value of `PRIMARY_ONLY`. +See xref:enable-async-dual-reads.adoc[] for more information on this variable. . `log_level`: leave to its default of `INFO`. Leave all these variables to their defaults for now. === Enable TLS encryption (optional) -If you wish to enable TLS encryption between the client application and the {zdm-proxy}, or between the {zdm-proxy} and one (or both) self-managed clusters, you will need to specify some additional configuration. To do so, please follow the steps on xref:tls.adoc[this page]. +If you wish to enable TLS encryption between the client application and the {zdm-proxy}, or between the {zdm-proxy} and one (or both) self-managed clusters, you will need to specify some additional configuration. +To do so, please follow the steps on xref:tls.adoc[this page]. +[[_advanced_configuration_optional]] === Advanced configuration (optional) -Here are some additional configuration variables that you may wish to review and change *at deployment time* in specific cases. All these variables are located in `vars/zdm_proxy_advanced_config.yml`. +Here are some additional configuration variables that you may wish to review and change *at deployment time* in specific cases. +All these variables are located in `vars/zdm_proxy_advanced_config.yml`. All advanced configuration variables not listed here are considered mutable and can be changed later if needed (changes can be easily applied to existing deployments in a rolling fashion using the relevant Ansible playbook, as explained later, see xref:manage-proxy-instances.adoc#change-mutable-config-variable[Change a mutable configuration variable]). ==== *Multi-datacenter clusters* -If Origin is a multi-datacenter cluster, you will need to specify the name of the datacenter that the {zdm-proxy} should consider local. To do this, set the property `origin_local_datacenter` to the datacenter name. Likewise, for multi-datacenter Target clusters you will need to set `target_local_datacenter` appropriately. +If Origin is a multi-datacenter cluster, you will need to specify the name of the datacenter that the {zdm-proxy} should consider local. To do this, set the property `origin_local_datacenter` to the datacenter name. +Likewise, for multi-datacenter Target clusters you will need to set `target_local_datacenter` appropriately. -These two variables are located in `vars/zdm_proxy_advanced_config.yml`. Note that this is not relevant for multi-region Astra DB clusters, where this is handled through region-specific Secure Connect Bundles. +These two variables are located in `vars/zdm_proxy_advanced_config.yml`. +Note that this is not relevant for multi-region Astra DB clusters, where this is handled through region-specific Secure Connect Bundles. +[[_ports]] ==== *Ports* -Each {zdm-proxy} instance listens on port 9042 by default, like a regular Cassandra cluster. This can be overridden by setting `zdm_proxy_listen_port` to a different value. This can be useful if the Origin nodes listen on a port that is not 9042 and you want to configure the {zdm-proxy} to listen on that same port to avoid changing the port in your client application configuration. +Each {zdm-proxy} instance listens on port 9042 by default, like a regular Cassandra cluster. +This can be overridden by setting `zdm_proxy_listen_port` to a different value. +This can be useful if the Origin nodes listen on a port that is not 9042 and you want to configure the {zdm-proxy} to listen on that same port to avoid changing the port in your client application configuration. -The {zdm-proxy} exposes metrics on port 14001 by default. This port is used by Prometheus to scrape the application-level proxy metrics. This can be changed by setting `metrics_port` to a different value if desired. +The {zdm-proxy} exposes metrics on port 14001 by default. +This port is used by Prometheus to scrape the application-level proxy metrics. +This can be changed by setting `metrics_port` to a different value if desired. == Use Ansible to deploy the {zdm-proxy} -Now you can run the playbook that you've configured above. From the shell connected to the container, ensure that you are in `/home/ubuntu/zdm-proxy-automation/ansible` and run: +Now you can run the playbook that you've configured above. +From the shell connected to the container, ensure that you are in `/home/ubuntu/zdm-proxy-automation/ansible` and run: [source,bash] ---- @@ -150,16 +173,18 @@ That's it! A {zdm-proxy} container has been created on each proxy host. == Indications of success on Origin and Target clusters -The playbook will create one {zdm-proxy} instance for each proxy host listed in the inventory file. It will indicate the operations that it is performing and print out any errors, or a success confirmation message at the end. +The playbook will create one {zdm-proxy} instance for each proxy host listed in the inventory file. +It will indicate the operations that it is performing and print out any errors, or a success confirmation message at the end. Confirm that the ZDM proxies are up and running by using one of the following options: -* Call the `liveness` and `readiness` HTTP endpoints for {zdm-proxy} instances -* Check {zdm-proxy} instances via docker logs +* Call the `liveness` and `readiness` HTTP endpoints for {zdm-proxy} instances. +* Check {zdm-proxy} instances via docker logs. === Call the `liveness` and `readiness` HTTP endpoints -ZDM metrics provide `/health/liveness` and `/health/readiness` HTTP endpoints, which you can call to determine the state of {zdm-proxy} instances. It's often fine to simply submit the `readiness` check to return the proxy's state. +ZDM metrics provide `/health/liveness` and `/health/readiness` HTTP endpoints, which you can call to determine the state of {zdm-proxy} instances. +It's often fine to simply submit the `readiness` check to return the proxy's state. The format: @@ -216,10 +241,10 @@ Result:: -- ==== - === Check {zdm-proxy} instances via docker logs -After running the playbook, you can `ssh` into one of the servers where one of the deployed {zdm-proxy} instances is running. You can do so from within the Ansible container, or directly from the jumphost machine: +After running the playbook, you can `ssh` into one of the servers where one of the deployed {zdm-proxy} instances is running. +You can do so from within the Ansible container, or directly from the jumphost machine: [source,bash] ---- @@ -254,7 +279,8 @@ time="2023-01-13T22:21:42Z" level=info msg="Proxy connected and ready to accept time="2023-01-13T22:21:42Z" level=info msg="Proxy started. Waiting for SIGINT/SIGTERM to shutdown." ---- -Also, you can check the status of the running Docker image. Here's an example with {zdm-proxy} 2.1.0: +Also, you can check the status of the running Docker image. +Here's an example with {zdm-proxy} 2.1.0: [source,bash] ---- @@ -269,7 +295,8 @@ If the {zdm-proxy} instances fail to start up due to mistakes in the configurati ==== With the exception of the Origin and Target credentials and the `primary_cluster` variable, which can all be changed for existing deployments in a rolling fashion, all cluster connection configuration variables are considered immutable and can only be changed by recreating the deployment. -If you wish to change any of the cluster connection configuration variables (other than credentials and `primary_cluster`) on an existing deployment, you will need to re-run the `deploy_zdm_proxy.yml` playbook. This playbook can be run as many times as necessary. +If you wish to change any of the cluster connection configuration variables (other than credentials and `primary_cluster`) on an existing deployment, you will need to re-run the `deploy_zdm_proxy.yml` playbook. +This playbook can be run as many times as necessary. Please note that running the `deploy_zdm_proxy.yml` playbook will result in a brief window of unavailability of the whole {zdm-proxy} deployment while all the {zdm-proxy} instances are torn down and recreated. ==== @@ -279,23 +306,25 @@ Please note that running the `deploy_zdm_proxy.yml` playbook will result in a br The {zdm-automation} enables you to easily set up a self-contained monitoring stack that is preconfigured to collect metrics from your {zdm-proxy} instances and display them in ready-to-use Grafana dashboards. +The monitoring stack is deployed entirely on Docker. +It includes the following components, all deployed as Docker containers: - -The monitoring stack is deployed entirely on Docker. It includes the following components, all deployed as Docker containers: - -* Prometheus node exporter, which runs on each {zdm-proxy} host and makes OS- and host-level metrics available to Prometheus -* Prometheus server, to collect metrics from the {zdm-proxy} process, its Golang runtime and the Prometheus node exporter -* Grafana, to visualize all these metrics in three preconfigured dashboards (see xref:troubleshooting-tips.adoc#how-to-leverage-metrics[this section] of the troubleshooting tips for details) +* Prometheus node exporter, which runs on each {zdm-proxy} host and makes OS- and host-level metrics available to Prometheus. +* Prometheus server, to collect metrics from the {zdm-proxy} process, its Golang runtime and the Prometheus node exporter. +* Grafana, to visualize all these metrics in three preconfigured dashboards (see xref:troubleshooting-tips.adoc#how-to-leverage-metrics[this section] of the troubleshooting tips for details). After running the playbook described here, you will have a fully configured monitoring stack connected to your {zdm-proxy} deployment. [NOTE] ==== -There are no additional prerequisites or dependencies for this playbook to execute. If it is not already present, Docker will automatically be installed by the playbook on your chosen monitoring server. +There are no additional prerequisites or dependencies for this playbook to execute. +If it is not already present, Docker will automatically be installed by the playbook on your chosen monitoring server. ==== === Connect to the Ansible Control Host -Make sure you are connected to the Ansible Control Host docker container. As above, you can do so from the jumphost machine by running: + +Make sure you are connected to the Ansible Control Host docker container. +As above, you can do so from the jumphost machine by running: [source,bash] ---- @@ -327,12 +356,12 @@ ansible-playbook deploy_zdm_monitoring.yml -i zdm_ansible_inventory === Check the Grafana dashboard -In a browser, open http://:3000. +In a browser, open \http://:3000 Login with: -* **username**: admin -* **password**: the password you configured +* *username*: admin +* *password*: the password you configured [TIP] ==== diff --git a/modules/ROOT/pages/tls.adoc b/modules/ROOT/pages/tls.adoc index 62223555..62d169de 100644 --- a/modules/ROOT/pages/tls.adoc +++ b/modules/ROOT/pages/tls.adoc @@ -6,7 +6,8 @@ ifndef::env-github,env-browser,env-vscode[:imagesprefix: ] {zdm-proxy} supports proxy-to-cluster and application-to-proxy TLS encryption. -The TLS configuration is an optional part of the initial {zdm-proxy} configuration. See the information here in this topic, and then refer to the {zdm-automation} topics that cover: +The TLS configuration is an optional part of the initial {zdm-proxy} configuration. +See the information here in this topic, and then refer to the {zdm-automation} topics that cover: * xref:setup-ansible-playbooks.adoc[] * xref:deploy-proxy-monitoring.adoc[] @@ -15,16 +16,21 @@ The TLS configuration is an optional part of the initial {zdm-proxy} configurati * All TLS configuration is optional. Enable TLS between the {zdm-proxy} and any cluster that requires it, and/or between your client application and the {zdm-proxy} if required. -* Proxy-to-cluster TLS can be configured between the {zdm-proxy} and Origin/Target (either or both) as desired. Each set of configurations is independent of the other. When using proxy-to-cluster TLS, the {zdm-proxy} acts as the TLS client and the cluster as the TLS server. One-way TLS and Mutual TLS are both supported and can be enabled depending on each cluster's requirements. +* Proxy-to-cluster TLS can be configured between the {zdm-proxy} and Origin/Target (either or both) as desired. +Each set of configurations is independent of the other. When using proxy-to-cluster TLS, the {zdm-proxy} acts as the TLS client and the cluster as the TLS server. +One-way TLS and Mutual TLS are both supported and can be enabled depending on each cluster's requirements. -* When using application-to-proxy TLS, your client application is the TLS client and the {zdm-proxy} is the TLS server. One-way TLS and Mutual TLS are both supported. +* When using application-to-proxy TLS, your client application is the TLS client and the {zdm-proxy} is the TLS server. +One-way TLS and Mutual TLS are both supported. * When the {zdm-proxy} connects to Astra DB clusters, it always implicitly uses Mutual TLS. This is done through the Secure Connect Bundle (SCB) and does not require any extra configuration. +[[_retrieving_files_from_a_jks_keystore]] == Retrieving files from a JKS keystore -If you are already using TLS between your client application and Origin, the files needed to configure TLS will already be used in the client application's configuration (TLS client files) and Origin's configuration (TLS Server files). In some cases, these files may be contained in a JKS keystore. +If you are already using TLS between your client application and Origin, the files needed to configure TLS will already be used in the client application's configuration (TLS client files) and Origin's configuration (TLS Server files). +In some cases, these files may be contained in a JKS keystore. The {zdm-proxy} does not accept a JKS keystore, requiring the raw files instead. @@ -47,7 +53,8 @@ For more details, see the https://docs.oracle.com/javase/8/docs/technotes/tools/ == Proxy to self-managed cluster TLS -Here's how to configure TLS between the {zdm-proxy} and a self-managed (non-Astra DB) cluster. In this case the {zdm-proxy} acts as the TLS client and the cluster acts as the TLS server. +Here's how to configure TLS between the {zdm-proxy} and a self-managed (non-Astra DB) cluster. +In this case the {zdm-proxy} acts as the TLS client and the cluster acts as the TLS server. The files required to configure proxy-to-cluster TLS are: @@ -83,18 +90,21 @@ There is a set of TLS configuration variables for Origin and a separate set for Here is how to do it: -* Ensure that you have a shell open to the container. If you do not, you can open it with `docker exec -it zdm-ansible-container bash`. +* Ensure that you have a shell open to the container. +If you do not, you can open it with `docker exec -it zdm-ansible-container bash`. * From this shell, uncomment the relevant variables and edit their values in the configuration file `zdm-proxy-automation/ansible/vars/zdm_proxy_custom_tls_config.yml` as follows. ** For proxy-to-Origin TLS configuration: *** `origin_tls_user_dir_path`: uncomment and leave to its preset value of `/home/ubuntu/origin_tls_files`. *** `origin_tls_server_ca_filename`: filename (without path) of the Server CA. *** `origin_tls_client_cert_filename`: filename (without path) of the Client cert. This is for Mutual TLS only, leave unset otherwise. - *** `origin_tls_client_key_filename`: filename (without path) of the Client key. For Mutual TLS only, leave unset otherwise. + *** `origin_tls_client_key_filename`: filename (without path) of the Client key. + For Mutual TLS only, leave unset otherwise. ** The configuration for proxy-to-Target TLS is done in the same way but using the Target-specific configuration variables (`target_tls_*`). == Application-to-proxy TLS -Here are the steps to enable TLS between your client application and the {zdm-proxy} if required. Please bear in mind that in this case your client application is the TLS client and the {zdm-proxy} is the TLS server. +Here are the steps to enable TLS between your client application and the {zdm-proxy} if required. +Please bear in mind that in this case your client application is the TLS client and the {zdm-proxy} is the TLS server. The files required by the proxy to configure application-to-proxy TLS are: @@ -119,12 +129,17 @@ Here are the steps to configure application-to-proxy TLS: * If your TLS files are in a JKS keystore, extract them as plain text (see xref:tls.adoc#_retrieving_files_from_a_jks_keystore[]). * Upload the required files to the jumphost: Server CA, Server certificate and Server key. * From a shell on the jumphost, copy the files to the `zdm_proxy_tls_files` TLS directory into the Ansible Control Host container: `docker cp zdm-ansible-container:/home/ubuntu/zdm_proxy_tls_files`. -* Ensure that you have a shell open to the container. If you do not, you can open it with `docker exec -it zdm-ansible-container bash`. -* From this shell, edit the file `zdm-proxy-automation/ansible/vars/zdm_proxy_custom_tls_config.yml`, uncommenting and populating the relevant configuration variables. These are in the bottom section of `vars/proxy_custom_tls_config_input.yml` and are all prefixed with `zdm_proxy`: +* Ensure that you have a shell open to the container. +If you do not, you can open it with `docker exec -it zdm-ansible-container bash`. +* From this shell, edit the file `zdm-proxy-automation/ansible/vars/zdm_proxy_custom_tls_config.yml`, uncommenting and populating the relevant configuration variables. +These are in the bottom section of `vars/proxy_custom_tls_config_input.yml` and are all prefixed with `zdm_proxy`: ** `zdm_proxy_tls_user_dir_path_name`: uncomment and leave to its preset value of `/home/ubuntu/zdm_proxy_tls_files`. -** `zdm_proxy_tls_server_ca_filename`: filename (without path) of the server CA that the proxy must use. Always required. -** `zdm_proxy_tls_server_cert_filename` and `zdm_proxy_tls_server_key_filename` : filenames (without path) of the server certificate and server key that the proxy must use. Both always required. -** `zdm_proxy_tls_require_client_auth`: whether you want to enable Mutual TLS between the application and the proxy. Optional: defaults to `false` ( = one-way TLS ), can be set to `true` to enable Mutual TLS. +** `zdm_proxy_tls_server_ca_filename`: filename (without path) of the server CA that the proxy must use. +Always required. +** `zdm_proxy_tls_server_cert_filename` and `zdm_proxy_tls_server_key_filename` : filenames (without path) of the server certificate and server key that the proxy must use. +Both always required. +** `zdm_proxy_tls_require_client_auth`: whether you want to enable Mutual TLS between the application and the proxy. +Optional: defaults to `false` ( = one-way TLS ), can be set to `true` to enable Mutual TLS. [TIP] ==== @@ -133,6 +148,7 @@ Remember that in this case, the {zdm-proxy} is the TLS server; thus the word `se == Apply the configuration -This is all that is needed at this point. As part of its normal execution, the proxy deployment playbook will automatically distribute all TLS files and apply the TLS configuration to all {zdm-proxy} instances. +This is all that is needed at this point. +As part of its normal execution, the proxy deployment playbook will automatically distribute all TLS files and apply the TLS configuration to all {zdm-proxy} instances. Just go back to xref:deploy-proxy-monitoring.adoc#_advanced_configuration_optional[Optional advanced configuration] to finalize the {zdm-proxy} configuration and then execute the deployment playbook. \ No newline at end of file From afc590eb88b451b2e56c4a5672cb0388f18b3186 Mon Sep 17 00:00:00 2001 From: Emelia Wilkinson Date: Tue, 19 Mar 2024 15:02:16 -0400 Subject: [PATCH 12/17] final readthrough edits. Phase 1 leverage, manage, Phase 2 CDM, and DSBulk migrator pages done --- .../ROOT/pages/cassandra-data-migrator.adoc | 214 +++++++--- .../ROOT/pages/deploy-proxy-monitoring.adoc | 3 +- modules/ROOT/pages/dsbulk-migrator.adoc | 373 +++++++++--------- modules/ROOT/pages/glossary.adoc | 2 +- .../ROOT/pages/manage-proxy-instances.adoc | 96 +++-- modules/ROOT/pages/metrics.adoc | 33 +- 6 files changed, 433 insertions(+), 288 deletions(-) diff --git a/modules/ROOT/pages/cassandra-data-migrator.adoc b/modules/ROOT/pages/cassandra-data-migrator.adoc index 8dd15ac6..3f8cba33 100644 --- a/modules/ROOT/pages/cassandra-data-migrator.adoc +++ b/modules/ROOT/pages/cassandra-data-migrator.adoc @@ -5,7 +5,8 @@ Use {cstar-data-migrator} to migrate and validate tables between Origin and Targ [[cdm-prereqs]] == {cstar-data-migrator} prerequisites -* Install or switch to Java 11. The Spark binaries are compiled with this version of Java. +* Install or switch to Java 11. +The Spark binaries are compiled with this version of Java. * Install https://archive.apache.org/dist/spark/spark-3.5.1/[Spark 3.5.1] on a single VM (no cluster necessary) where you want to run this job. * Optionally, install https://maven.apache.org/download.cgi[Maven] 3.9.x if you want to build the JAR for local development. @@ -28,11 +29,13 @@ All migration tools (`cassandra-data-migrator` + `dsbulk` + `cqlsh`) are availab [[cdm-install-as-jar]] == Install {cstar-data-migrator} as a JAR file -Download the *latest* JAR file from the {cstar-data-migrator} https://github.com/datastax/cassandra-data-migrator/packages/1832128[GitHub repo]. image:https://img.shields.io/github/v/release/datastax/cassandra-data-migrator?color=green[Latest release] +Download the *latest* JAR file from the {cstar-data-migrator} https://github.com/datastax/cassandra-data-migrator/packages/1832128[GitHub repo]. +image:https://img.shields.io/github/v/release/datastax/cassandra-data-migrator?color=green[Latest release] [NOTE] ==== -Version 4.x of {cstar-data-migrator} is not backward-compatible with `*.properties` files created in previous versions, and package names have changed. If you're starting new, we recommended that you use the latest released version. +Version 4.x of {cstar-data-migrator} is not backward-compatible with `*.properties` files created in previous versions, and package names have changed. +If you're starting new, we recommended that you use the latest released version. ==== [[cdm-build-jar-local]] @@ -55,8 +58,15 @@ The fat jar (`cassandra-data-migrator-x.y.z.jar`) file should be present now in [[cdm-steps]] == {cstar-data-migrator} steps -1. Configure for your environment the `cdm*.properties` file that's provided in the {cstar-data-migrator} https://github.com/datastax/cassandra-data-migrator/tree/main/src/resources[GitHub repo]. The file can have any name. It does not need to be `cdm.properties` or `cdm-detailed.properties`. In both versions, only the parameters that aren't commented out will be processed by the `spark-submit` job. Other parameter values use defaults or are ignored. See the descriptions and defaults in each file. Refer to: - * The simplified sample properties configuration, https://github.com/datastax/cassandra-data-migrator/blob/main/src/resources/cdm.properties[cdm.properties]. This file contains only those parameters that are commonly configured. +1. Configure for your environment the `cdm*.properties` file that's provided in the {cstar-data-migrator} https://github.com/datastax/cassandra-data-migrator/tree/main/src/resources[GitHub repo]. +The file can have any name. +It does not need to be `cdm.properties` or `cdm-detailed.properties`. +In both versions, only the parameters that aren't commented out will be processed by the `spark-submit` job. +Other parameter values use defaults or are ignored. +See the descriptions and defaults in each file. +Refer to: + * The simplified sample properties configuration, https://github.com/datastax/cassandra-data-migrator/blob/main/src/resources/cdm.properties[cdm.properties]. + This file contains only those parameters that are commonly configured. * The complete sample properties configuration, https://github.com/datastax/cassandra-data-migrator/blob/main/src/resources/cdm-detailed.properties[cdm-detailed.properties], for the full set of configurable settings. 2. Place the properties file that you elected to use and customize where it can be accessed while running the job via `spark-submit`. @@ -104,7 +114,8 @@ Example: [TIP] ==== -To get the list of missing or mismatched records, grep for all `ERROR` entries in the log files. Differences noted in the log file are listed by primary-key values. +To get the list of missing or mismatched records, grep for all `ERROR` entries in the log files. +Differences noted in the log file are listed by primary-key values. ==== You can also run the {cstar-data-migrator} validation job in an **AutoCorrect** mode. This mode can: @@ -112,7 +123,7 @@ You can also run the {cstar-data-migrator} validation job in an **AutoCorrect** * Add any missing records from Origin to Target. * Update any mismatched records between Origin and Target; this action makes Target the same as Origin. -To enable or disable this feature, use one or both of the following settings in your *.properties configuration file. +To enable or disable this feature, use one or both of the following settings in your `*.properties` configuration file. [source,properties] ---- @@ -122,13 +133,15 @@ spark.cdm.autocorrect.mismatch false|true [IMPORTANT] ==== -The {cstar-data-migrator} validation job will never delete records from Target. The job only adds or updates data on Target. +The {cstar-data-migrator} validation job will never delete records from Target. +The job only adds or updates data on Target. ==== [[cdm--partition-ranges]] == Migrating or validating specific partition ranges -You can also use {cstar-data-migrator} to migrate or validate specific partition ranges, by using a **partition-file** with the name `./._partitions.csv`. Use the following format in the CSV file, in the current folder as input. +You can also use {cstar-data-migrator} to migrate or validate specific partition ranges, by using a **partition-file** with the name `./._partitions.csv`. +Use the following format in the CSV file, in the current folder as input. Example: [source,csv] @@ -157,13 +170,19 @@ This mode is specifically useful to processes a subset of partition-ranges that [NOTE] ==== -A file named `./._partitions.csv` is auto-generated by the migration & validation jobs, in the format shown above. The file contains any failed partition ranges. No file is created if there were no failed partitions. You can use the CSV as input to process any failed partition in a subsequent run. +A file named `./._partitions.csv` is auto-generated by the migration & validation jobs, in the format shown above. +The file contains any failed partition ranges. +No file is created if there were no failed partitions. +You can use the CSV as input to process any failed partition in a subsequent run. ==== [[cdm-guardrail-checks]] == Perform large-field guardrail violation checks -Use {cstar-data-migrator} to identify large fields from a table that may break your cluster guardrails. For example, {astra_db} has a 10MB limit for a single large field. Specify `--class com.datastax.cdm.job.GuardrailCheck` on the command. Example: +Use {cstar-data-migrator} to identify large fields from a table that may break your cluster guardrails. +For example, {astra_db} has a 10MB limit for a single large field. +Specify `--class com.datastax.cdm.job.GuardrailCheck` on the command. +Example: [source,bash] ---- @@ -199,7 +218,8 @@ Use {cstar-data-migrator} to identify large fields from a table that may break y | `spark.cdm.connect.origin.host` | `localhost` -| Hostname/IP address of the cluster. May be a comma-separated list, and can follow the `:` convention. +| Hostname/IP address of the cluster. +May be a comma-separated list, and can follow the `:` convention. | `spark.cdm.connect.origin.port` | `9042` @@ -207,7 +227,8 @@ Use {cstar-data-migrator} to identify large fields from a table that may break y | `spark.cdm.connect.origin.scb` | (Not set) -| Secure Connect Bundle, used to connect to an Astra DB database. Example: `file:///aaa/bbb/scb-enterprise.zip`. +| Secure Connect Bundle, used to connect to an Astra DB database. +Example: `file:///aaa/bbb/scb-enterprise.zip`. | `spark.cdm.connect.origin.username` | `cassandra` @@ -219,7 +240,8 @@ Use {cstar-data-migrator} to identify large fields from a table that may break y | `spark.cdm.connect.target.host` | `localhost` -| Hostname/IP address of the cluster. May be a comma-separated list, and can follow the `:` convention. +| Hostname/IP address of the cluster. +May be a comma-separated list, and can follow the `:` convention. | `spark.cdm.connect.target.port` | `9042` @@ -227,7 +249,9 @@ Use {cstar-data-migrator} to identify large fields from a table that may break y | `spark.cdm.connect.target.scb` | (Not set) -| Secure Connect Bundle, used to connect to an Astra DB database. Default is not set. Example if set: `file:///aaa/bbb/my-scb.zip`. +| Secure Connect Bundle, used to connect to an Astra DB database. +Default is not set. +Example if set: `file:///aaa/bbb/my-scb.zip`. | `spark.cdm.connect.target.username` | `cassandra` @@ -249,19 +273,25 @@ Use {cstar-data-migrator} to identify large fields from a table that may break y | `spark.cdm.schema.origin.keyspaceTable` | -| Required - the `.` of the table to be migrated. Table must exist in Origin. +| Required - the `.` of the table to be migrated. +Table must exist in Origin. | `spark.cdm.schema.origin.column.ttl.automatic` | `true` -| Default is `true`, unless `spark.cdm.schema.origin.column.ttl.names` is specified. When `true`, the Time To Live (TTL) of the Target record will be determined by finding the maximum TTL of all Origin columns that can have TTL set (which excludes partition key, clustering key, collections/UDT/tuple, and frozen columns). When `false`, and `spark.cdm.schema.origin.column.ttl.names` is not set, the Target record will have the TTL determined by the Target table configuration. +| Default is `true`, unless `spark.cdm.schema.origin.column.ttl.names` is specified. +When `true`, the Time To Live (TTL) of the Target record will be determined by finding the maximum TTL of all Origin columns that can have TTL set (which excludes partition key, clustering key, collections/UDT/tuple, and frozen columns). +When `false`, and `spark.cdm.schema.origin.column.ttl.names` is not set, the Target record will have the TTL determined by the Target table configuration. | `spark.cdm.schema.origin.column.ttl.names` | -| Default is empty, meaning the names will be determined automatically if `spark.cdm.schema.origin.column.ttl.automatic` is set. Specify a subset of eligible columns that are used to calculate the TTL of the Target record. +| Default is empty, meaning the names will be determined automatically if `spark.cdm.schema.origin.column.ttl.automatic` is set. +Specify a subset of eligible columns that are used to calculate the TTL of the Target record. | `spark.cdm.schema.origin.column.writetime.automatic` | `true` -| Default is `true`, unless `spark.cdm.schema.origin.column.writetime.names` is specified. When `true`, the `WRITETIME` of the Target record will be determined by finding the maximum `WRITETIME` of all Origin columns that can have `WRITETIME` set (which excludes partition key, clustering key, collections/UDT/tuple, and frozen columns). When `false`, and `spark.cdm.schema.origin.column.writetime.names` is not set, the Target record will have the `WRITETIME` determined by the Target table configuration. +| Default is `true`, unless `spark.cdm.schema.origin.column.writetime.names` is specified. +When `true`, the `WRITETIME` of the Target record will be determined by finding the maximum `WRITETIME` of all Origin columns that can have `WRITETIME` set (which excludes partition key, clustering key, collections/UDT/tuple, and frozen columns). +When `false`, and `spark.cdm.schema.origin.column.writetime.names` is not set, the Target record will have the `WRITETIME` determined by the Target table configuration. [NOTE] ==== The `spark.cdm.transform.custom.writetime` property, if set, would override `spark.cdm.schema.origin.column.writetime`. @@ -269,20 +299,26 @@ The `spark.cdm.transform.custom.writetime` property, if set, would override `spa | `spark.cdm.schema.origin.column.writetime.names` | -| Default is empty, meaning the names will be determined automatically if `spark.cdm.schema.origin.column.writetime.automatic` is set. Otherwise, specify a subset of eligible columns that are used to calculate the WRITETIME of the Target record. Example: `data_col1,data_col2,...` +| Default is empty, meaning the names will be determined automatically if `spark.cdm.schema.origin.column.writetime.automatic` is set. +Otherwise, specify a subset of eligible columns that are used to calculate the WRITETIME of the Target record. +Example: `data_col1,data_col2,...` | `spark.cdm.schema.origin.column.names.to.target` | -| Default is empty. If column names are changed between Origin and Target, then this mapped list provides a mechanism to associate the two. The format is `:`. The list is comma-separated. You only need to list renamed columns. +| Default is empty. +If column names are changed between Origin and Target, then this mapped list provides a mechanism to associate the two. +The format is `:`. +The list is comma-separated. +You only need to list renamed columns. |=== [NOTE] ==== -For optimization reasons, {cstar-data-migrator} does not migrate TTL and writetime at the field-level. Instead, {cstar-data-migrator} finds the field with the highest TTL, and the field with the highest writetime within an Origin table row, and uses those values on the entire Target table row. +For optimization reasons, {cstar-data-migrator} does not migrate TTL and writetime at the field-level. +Instead, {cstar-data-migrator} finds the field with the highest TTL, and the field with the highest writetime within an Origin table row, and uses those values on the entire Target table row. ==== - [[cdm-target-schema-params]] === Target schema parameter @@ -292,7 +328,9 @@ For optimization reasons, {cstar-data-migrator} does not migrate TTL and writeti | `spark.cdm.schema.target.keyspaceTable` | Equals the value of `spark.cdm.schema.origin.keyspaceTable` -| This parameter is commented out. It's the `.` of the table to be migrated into the Target. Table must exist in Target. +| This parameter is commented out. +It's the `.` of the table to be migrated into the Target. +Table must exist in Target. |=== @@ -300,7 +338,9 @@ For optimization reasons, {cstar-data-migrator} does not migrate TTL and writeti [[cdm-auto-correction-params]] === Auto-correction parameters -Auto-correction parameters allow {cstar-data-migrator} to correct data differences found between Origin and Target when you run the `DiffData` program. Typically, these are run disabled (for "what if" migration testing), which will generate a list of data discrepancies. The reasons for these discrepancies can then be investigated, and if necessary the parameters below can be enabled. +Auto-correction parameters allow {cstar-data-migrator} to correct data differences found between Origin and Target when you run the `DiffData` program. +Typically, these are run disabled (for "what if" migration testing), which will generate a list of data discrepancies. +The reasons for these discrepancies can then be investigated, and if necessary the parameters below can be enabled. For information about invoking `DiffData` in a {cstar-data-migrator} command, see xref:#cdm-validation-steps[{cstar-data-migrator} steps in validation mode] in this topic. @@ -317,16 +357,22 @@ For information about invoking `DiffData` in a {cstar-data-migrator} command, se | When `true`, data that is different between Origin and Target will be reconciled. [NOTE] ==== -The `TIMESTAMP` of records may have an effect. If the `WRITETIME` of the Origin record (determined with `.writetime.names`) is earlier than the `WRITETIME` of the Target record, the change will not appear in Target. This comparative state may be particularly challenging to troubleshoot if individual columns (cells) have been modified in Target. +The `TIMESTAMP` of records may have an effect. +If the `WRITETIME` of the Origin record (determined with `.writetime.names`) is earlier than the `WRITETIME` of the Target record, the change will not appear in Target. +This comparative state may be particularly challenging to troubleshoot if individual columns (cells) have been modified in Target. ==== | `spark.cdm.autocorrect.missing.counter` | `false` -| Commented out. By default, Counter tables are not copied when missing, unless explicitly set. +| Commented out. +By default, Counter tables are not copied when missing, unless explicitly set. | `spark.tokenrange.partitionFile` | `./._partitions.csv` -| Commented out. This CSV file is used as input, as well as output when applicable. If the file exists, only the partition ranges in this file will be migrated or validated. Similarly, if exceptions occur while migrating or validating, partition ranges with exceptions will be logged to this file. +| Commented out. +This CSV file is used as input, as well as output when applicable. +If the file exists, only the partition ranges in this file will be migrated or validated. +Similarly, if exceptions occur while migrating or validating, partition ranges with exceptions will be logged to this file. |=== @@ -342,39 +388,55 @@ Performance and operations parameters that can affect migration throughput, erro | `spark.cdm.perfops.numParts` | `10000` -| In standard operation, the full token range (-2^63 .. 2^63-1) is divided into a number of parts, which will be parallel-processed. You should aim for each part to comprise a total of ≈1-10GB of data to migrate. During initial testing, you may want this to be a small number (such as `1`). +| In standard operation, the full token range (-2^63 .. 2^63-1) is divided into a number of parts, which will be parallel-processed. +You should aim for each part to comprise a total of ≈1-10GB of data to migrate. +During initial testing, you may want this to be a small number (such as `1`). | `spark.cdm.perfops.batchSize` | `5` -| When writing to Target, this comprises the number of records that will be put into an `UNLOGGED` batch. {cstar-data-migrator} will tend to work on the same partition at a time. Thus if your partition sizes are larger, this number may be increased. If the `spark.cdm.perfops.batchSize` would mean that more than 1 partition is often contained in a batch, reduce this parameter's value. Ideally < 1% of batches have more than 1 partition. +| When writing to Target, this comprises the number of records that will be put into an `UNLOGGED` batch. +{cstar-data-migrator} will tend to work on the same partition at a time. +Thus if your partition sizes are larger, this number may be increased. +If the `spark.cdm.perfops.batchSize` would mean that more than 1 partition is often contained in a batch, reduce this parameter's value. +Ideally < 1% of batches have more than 1 partition. | `spark.cdm.perfops.ratelimit.origin` | `20000` -| Concurrent number of operations across all parallel threads from Origin. This value may be adjusted up (or down), depending on the amount of data and the processing capacity of the Origin cluster. +| Concurrent number of operations across all parallel threads from Origin. +This value may be adjusted up (or down), depending on the amount of data and the processing capacity of the Origin cluster. | `spark.cdm.perfops.ratelimit.target` | `40000` -| Concurrent number of operations across all parallel threads from Target. This may be adjusted up (or down), depending on the amount of data and the processing capacity of the Target cluster. +| Concurrent number of operations across all parallel threads from Target. +This may be adjusted up (or down), depending on the amount of data and the processing capacity of the Target cluster. | `spark.cdm.perfops.consistency.read` | `LOCAL_QUORUM` -| Commented out. Read consistency from Origin, and also from Target when records are read for comparison purposes. The consistency parameters may be one of: `ANY`, `ONE`, `TWO`, `THREE`, `QUORUM`, `LOCAL_ONE`, `EACH_QUORUM`, `LOCAL_QUORUM`, `SERIAL`, `LOCAL_SERIAL`, `ALL`. +| Commented out. +Read consistency from Origin, and also from Target when records are read for comparison purposes. +The consistency parameters may be one of: `ANY`, `ONE`, `TWO`, `THREE`, `QUORUM`, `LOCAL_ONE`, `EACH_QUORUM`, `LOCAL_QUORUM`, `SERIAL`, `LOCAL_SERIAL`, `ALL`. | `spark.cdm.perfops.consistency.write` | `LOCAL_QUORUM` -| Commented out. Write consistency to Target. The consistency parameters may be one of: `ANY`, `ONE`, `TWO`, `THREE`, `QUORUM`, `LOCAL_ONE`, `EACH_QUORUM`, `LOCAL_QUORUM`, `SERIAL`, `LOCAL_SERIAL`, `ALL`. +| Commented out. +Write consistency to Target. +The consistency parameters may be one of: `ANY`, `ONE`, `TWO`, `THREE`, `QUORUM`, `LOCAL_ONE`, `EACH_QUORUM`, `LOCAL_QUORUM`, `SERIAL`, `LOCAL_SERIAL`, `ALL`. | `spark.cdm.perfops.printStatsAfter` | `100000` -| Commented out. Number of rows of processing after which a progress log entry will be made. +| Commented out. +Number of rows of processing after which a progress log entry will be made. | `spark.cdm.perfops.fetchSizeInRows` | `1000` -| Commented out. This parameter affects the frequency of reads from Origin, and also the frequency of flushes to Target. +| Commented out. +This parameter affects the frequency of reads from Origin, and also the frequency of flushes to Target. | `spark.cdm.perfops.errorLimit` | `0` -| Commented out. Controls how many errors a thread may encounter during `MigrateData` and `DiffData` operations before failing. Recommendation: set this parameter to a non-zero value **only when not doing** a mutation-type operation, such as when you're running `DiffData` without `.autocorrect`. +| Commented out. +Controls how many errors a thread may encounter during `MigrateData` and `DiffData` operations before failing. +Recommendation: set this parameter to a non-zero value **only when not doing** a mutation-type operation, such as when you're running `DiffData` without `.autocorrect`. |=== @@ -393,19 +455,27 @@ By default, these parameters are commented out. | `spark.cdm.transform.missing.key.ts.replace.value` | `1685577600000` | Timestamp value in milliseconds. -Partition and clustering columns cannot have null values, but if these are added as part of a schema transformation between Origin and Target, it is possible that the Origin side is null. In this case, the `Migrate` data operation would fail. This parameter allows a crude constant value to be used in its place, separate from the Constant values feature. +Partition and clustering columns cannot have null values, but if these are added as part of a schema transformation between Origin and Target, it is possible that the Origin side is null. +In this case, the `Migrate` data operation would fail. +This parameter allows a crude constant value to be used in its place, separate from the Constant values feature. | `spark.cdm.transform.custom.writetime` | `0` -| Default is 0 (disabled). Timestamp value in microseconds to use as the `WRITETIME` for the Target record. This is useful when the `WRITETIME` of the record in Origin cannot be determined (such as when the only non-key columns are collections). This parameter allows a crude constant value to be used in its place, and overrides `spark.cdm.schema.origin.column.writetime.names`. +| Default is 0 (disabled). +Timestamp value in microseconds to use as the `WRITETIME` for the Target record. +This is useful when the `WRITETIME` of the record in Origin cannot be determined (such as when the only non-key columns are collections). +This parameter allows a crude constant value to be used in its place, and overrides `spark.cdm.schema.origin.column.writetime.names`. | `spark.cdm.transform.custom.writetime.incrementBy` | `0` -| Default is `0`. This is useful when you have a List that is not frozen, and you are updating this via the autocorrect feature. Lists are not idempotent, and subsequent UPSERTs would add duplicates to the list. +| Default is `0`. +This is useful when you have a List that is not frozen, and you are updating this via the autocorrect feature. +Lists are not idempotent, and subsequent UPSERTs would add duplicates to the list. | `spark.cdm.transform.codecs` | -| Default is empty. A comma-separated list of additional codecs to enable. +| Default is empty. +A comma-separated list of additional codecs to enable. * `INT_STRING` : int stored in a String. * `DOUBLE_STRING` : double stored in a String. @@ -421,12 +491,14 @@ Where there are multiple type pair options, such as with `TIMESTAMP_STRING_*`, o | `spark.cdm.transform.codecs.timestamp.string.format` | `yyyyMMddHHmmss` -| Configuration for `CQL_TIMESTAMP_TO_STRING_FORMAT` codec. Default format is `yyyyMMddHHmmss`; `DateTimeFormatter.ofPattern(formatString)` +| Configuration for `CQL_TIMESTAMP_TO_STRING_FORMAT` codec. +Default format is `yyyyMMddHHmmss`; `DateTimeFormatter.ofPattern(formatString)` | `spark.cdm.transform.codecs.timestamp.string.zone` | `UTC` -| Default is `UTC`. Must be in `ZoneRulesProvider.getAvailableZoneIds()`. +| Default is `UTC`. +Must be in `ZoneRulesProvider.getAvailableZoneIds()`. |=== @@ -434,7 +506,8 @@ Where there are multiple type pair options, such as with `TIMESTAMP_STRING_*`, o [[cdm-cassandra-filter-params]] === Cassandra filter parameters -Cassandra filters are applied on the coordinator node. Note that, depending on the filter, the coordinator node may need to do a lot more work than is normal, notably because {cstar-data-migrator} specifies `ALLOW FILTERING`. +Cassandra filters are applied on the coordinator node. +Note that, depending on the filter, the coordinator node may need to do a lot more work than is normal, notably because {cstar-data-migrator} specifies `ALLOW FILTERING`. By default, these parameters are commented out. @@ -444,15 +517,17 @@ By default, these parameters are commented out. | `spark.cdm.filter.cassandra.partition.min` | `-9223372036854775808` -| Default is `0` (when using `RandomPartitioner`) and `-9223372036854775808` (-2^63) otherwise. Lower partition bound (inclusive). +| Default is `0` (when using `RandomPartitioner`) and `-9223372036854775808` (-2^63) otherwise. +Lower partition bound (inclusive). | `spark.cdm.filter.cassandra.partition.max` | `9223372036854775807` -| Default is `2^127-1` (when using `RandomPartitioner`) and `9223372036854775807` (2^63-1) otherwise. Upper partition bound (inclusive). +| Default is `2^127-1` (when using `RandomPartitioner`) and `9223372036854775807` (2^63-1) otherwise. +Upper partition bound (inclusive). | `spark.cdm.filter.cassandra.whereCondition` | -| CQL added to the `WHERE` clause of `SELECT` statements from Origin +| CQL added to the `WHERE` clause of `SELECT` statements from Origin. |=== @@ -460,7 +535,11 @@ By default, these parameters are commented out. [[cdm-java-filter-params]] === Java filter parameters -Java filters are applied on the client node. Data must be pulled from the Origin cluster and then filtered. However, this option may have a lower impact on the production cluster than xref:#cdm-cassandra-filter-params[Cassandra filters]. Java filters put load onto the {cstar-data-migrator} processing node, by sending more data from Cassandra. Cassandra filters put load on the Cassandra nodes, notably because {cstar-data-migrator} specifies `ALLOW FILTERING`, which could cause the coordinator node to perform a lot more work. +Java filters are applied on the client node. +Data must be pulled from the Origin cluster and then filtered. +However, this option may have a lower impact on the production cluster than xref:cdm-cassandra-filter-params[Cassandra filters]. +Java filters put load onto the {cstar-data-migrator} processing node, by sending more data from Cassandra. +Cassandra filters put load on the Cassandra nodes, notably because {cstar-data-migrator} specifies `ALLOW FILTERING`, which could cause the coordinator node to perform a lot more work. By default, these parameters are commented out. @@ -471,23 +550,34 @@ By default, these parameters are commented out. | `spark.cdm.filter.java.token.percent` | `100` | Percent (between 1 and 100) of the token in each Split that will be migrated. -This property is used to do a wide and random sampling of the data. The percentage value is applied to each split. Invalid percentages will be treated as 100. +This property is used to do a wide and random sampling of the data. +The percentage value is applied to each split. +Invalid percentages will be treated as 100. | `spark.cdm.filter.java.writetime.min` | `0` -| The lowest (inclusive) writetime values to be migrated. Using the `spark.cdm.filter.java.writetime.min` and `spark.cdm.filter.java.writetime.max` thresholds, {cstar-data-migrator} can filter records based on their writetimes. The maximum writetime of the columns configured at `spark.cdm.schema.origin.column.writetime.names` will be compared to the `.min` and `.max` thresholds, which must be in **microseconds since the epoch**. If the `spark.cdm..schema.origin.column.writetime.names` are not specified, or the thresholds are null or otherwise invalid, the filter will be ignored. Note that `spark.cdm.s.perfops.batchSize` will be ignored when this filter is in place; a value of 1 will be used instead. +| The lowest (inclusive) writetime values to be migrated. +Using the `spark.cdm.filter.java.writetime.min` and `spark.cdm.filter.java.writetime.max` thresholds, {cstar-data-migrator} can filter records based on their writetimes. +The maximum writetime of the columns configured at `spark.cdm.schema.origin.column.writetime.names` will be compared to the `.min` and `.max` thresholds, which must be in **microseconds since the epoch**. +If the `spark.cdm.schema.origin.column.writetime.names` are not specified, or the thresholds are null or otherwise invalid, the filter will be ignored. +Note that `spark.cdm.s.perfops.batchSize` will be ignored when this filter is in place; a value of 1 will be used instead. | `spark.cdm.filter.java.writetime.max` | `9223372036854775807` -| The highest (inclusive) writetime values to be migrated. Maximum timestamp of the columns specified by `spark.cdm.schema.origin.column.writetime.names`; if that property is not specified, or is for some reason null, the filter is ignored. +| The highest (inclusive) writetime values to be migrated. +Maximum timestamp of the columns specified by `spark.cdm.schema.origin.column.writetime.names`; if that property is not specified, or is for some reason null, the filter is ignored. | `spark.cdm.filter.java.column.name` | -| Filter rows based on matching a configured value. With `spark.cdm.filter.java.column.name`, specify the column name against which the `spark.cdm.filter.java.column.value` is compared. Must be on the column list specified at `spark.cdm.schema.origin.column.names`. The column value will be converted to a String, trimmed of whitespace on both ends, and compared. +| Filter rows based on matching a configured value. +With `spark.cdm.filter.java.column.name`, specify the column name against which the `spark.cdm.filter.java.column.value` is compared. +Must be on the column list specified at `spark.cdm.schema.origin.column.names`. +The column value will be converted to a String, trimmed of whitespace on both ends, and compared. | `spark.cdm.filter.java.column.value` | -| String value to use as comparison. Whitespace on the ends of `spark.cdm.filter.java.column.value` will be trimmed. +| String value to use as comparison. +Whitespace on the ends of `spark.cdm.filter.java.column.value` will be trimmed. |=== @@ -513,7 +603,9 @@ By default, these parameters are commented out. | `spark.cdm.feature.constantColumns.values` | -| A comma-separated list of hard-coded values. Each value should be provided as you would use on the `CQLSH` command line. Examples: `'abcd'` for a string; `1234` for an int, and so on. +| A comma-separated list of hard-coded values. +Each value should be provided as you would use on the `CQLSH` command line. +Examples: `'abcd'` for a string; `1234` for an int, and so on. | `spark.cdm.feature.constantColumns.splitRegex` | `,` @@ -534,10 +626,12 @@ By default, these parameters are commented out. |Property | Notes | `spark.cdm.feature.explodeMap.origin.name` -| The name of the map column, such as `my_map`. Must be defined on `spark.cdm.schema.origin.column.names`, and the corresponding type on `spark.cdm.schema.origin.column.types` must be a map. +| The name of the map column, such as `my_map`. +Must be defined on `spark.cdm.schema.origin.column.names`, and the corresponding type on `spark.cdm.schema.origin.column.types` must be a map. | `spark.cdm.feature.explodeMap.origin.name.key` -| The name of the column on the Target table that will hold the map key, such as `my_map_key`. This key must be present on the Target primary key `spark.cdm.schema.target.column.id.names`. +| The name of the column on the Target table that will hold the map key, such as `my_map_key`. +This key must be present on the Target primary key `spark.cdm.schema.target.column.id.names`. | `spark.cdm.feature.explodeMap.origin.value` | The name of the column on the Target table that will hold the map value, such as `my_map_value`. @@ -558,7 +652,9 @@ By default, these parameters are commented out. | `spark.cdm.feature.guardrail.colSizeInKB` | `0` -| The `0` default means the guardrail check is not done. If set, table records with one or more fields that exceed the column size in kB will be flagged. Note this is kB (base 10), not kiB (base 2). +| The `0` default means the guardrail check is not done. +If set, table records with one or more fields that exceed the column size in kB will be flagged. +Note this is kB (base 10), not kiB (base 2). |=== @@ -587,7 +683,7 @@ By default, these parameters are commented out. | | Password needed to open the truststore. -| `spark.cdm.connect.origin.tls.trustStore.type ` +| `spark.cdm.connect.origin.tls.trustStore.type` | `JKS` | @@ -615,7 +711,7 @@ By default, these parameters are commented out. | | Password needed to open the truststore. -| `spark.cdm.connect.target.tls.trustStore.type ` +| `spark.cdm.connect.target.tls.trustStore.type` | `JKS` | diff --git a/modules/ROOT/pages/deploy-proxy-monitoring.adoc b/modules/ROOT/pages/deploy-proxy-monitoring.adoc index 399dab16..e60b4213 100644 --- a/modules/ROOT/pages/deploy-proxy-monitoring.adoc +++ b/modules/ROOT/pages/deploy-proxy-monitoring.adoc @@ -171,6 +171,7 @@ ansible-playbook deploy_zdm_proxy.yml -i zdm_ansible_inventory That's it! A {zdm-proxy} container has been created on each proxy host. +[[_indications_of_success_on_origin_and_target_clusters]] == Indications of success on Origin and Target clusters The playbook will create one {zdm-proxy} instance for each proxy host listed in the inventory file. @@ -301,7 +302,7 @@ This playbook can be run as many times as necessary. Please note that running the `deploy_zdm_proxy.yml` playbook will result in a brief window of unavailability of the whole {zdm-proxy} deployment while all the {zdm-proxy} instances are torn down and recreated. ==== - +[[_setting_up_the_monitoring_stack]] == Setting up the Monitoring stack The {zdm-automation} enables you to easily set up a self-contained monitoring stack that is preconfigured to collect metrics from your {zdm-proxy} instances and display them in ready-to-use Grafana dashboards. diff --git a/modules/ROOT/pages/dsbulk-migrator.adoc b/modules/ROOT/pages/dsbulk-migrator.adoc index 9cc3e131..b3406605 100644 --- a/modules/ROOT/pages/dsbulk-migrator.adoc +++ b/modules/ROOT/pages/dsbulk-migrator.adoc @@ -13,7 +13,8 @@ Use {dsbulk-migrator} to perform simple migration of smaller data quantities, wh [[building-dsbulk-migrator]] == Building {dsbulk-migrator} -Building {dsbulk-migrator} is accomplished with Maven. First, clone the git repo to your local machine. Example: +Building {dsbulk-migrator} is accomplished with Maven. First, clone the git repo to your local machine. +Example: [source,bash] ---- @@ -31,30 +32,26 @@ mvn clean package The build produces two distributable fat jars: -* `dsbulk-migrator--embedded-driver.jar` : contains an embedded Java driver; suitable for - live migrations using an external DSBulk, or for script generation. This jar is NOT suitable for - live migrations using an embedded DSBulk, since no DSBulk classes are present. - -* `dsbulk-migrator--embedded-dsbulk.jar`: contains an embedded DSBulk and an embedded Java - driver; suitable for all operations. Note that this jar is much bigger than the previous one, due - to the presence of DSBulk classes. - +* `dsbulk-migrator--embedded-driver.jar` : contains an embedded Java driver; suitable for live migrations using an external DSBulk, or for script generation. +This jar is NOT suitable for live migrations using an embedded DSBulk, since no DSBulk classes are present. +* `dsbulk-migrator--embedded-dsbulk.jar`: contains an embedded DSBulk and an embedded Java driver; suitable for all operations. +Note that this jar is much bigger than the previous one, due to the presence of DSBulk classes. [[testing-dsbulk-migrator]] == Testing {dsbulk-migrator} -The project contains a few integration tests. Run them with: +The project contains a few integration tests. +Run them with: [source,bash] ---- mvn clean verify ---- -The integration tests require https://github.com/datastax/simulacron[Simulacron]. Be sure to meet -all the https://github.com/datastax/simulacron#prerequisites[Simulacron prerequisites] before running the +The integration tests require https://github.com/datastax/simulacron[Simulacron]. +Be sure to meet all the https://github.com/datastax/simulacron#prerequisites[Simulacron prerequisites] before running the tests. - [[running-dsbulk-migrator]] == Running {dsbulk-migrator} @@ -72,11 +69,9 @@ When generating a migration script, most options serve as default values in the Note however that, even when generating scripts, this tool still needs to access the Origin cluster in order to gather metadata about the tables to migrate. -When generating a DDL file, only a few options are meaningful. Because standard DSBulk is not used, and the -import cluster is never contacted, import options and DSBulk-related options are ignored. The tool -still needs to access the Origin cluster in order to gather metadata about the keyspaces and tables -for which to generate DDL statements. - +When generating a DDL file, only a few options are meaningful. +Because standard DSBulk is not used, and the import cluster is never contacted, import options and DSBulk-related options are ignored. +The tool still needs to access the Origin cluster in order to gather metadata about the keyspaces and tables for which to generate DDL statements. [[dsbulk-migrator-reference]] == {dsbulk-migrator} reference @@ -84,97 +79,97 @@ for which to generate DDL statements. * xref:#dsbulk-live[Live migration command-line options] * xref:#dsbulk-script[Script generation command-line options] * xref:#dsbulk-ddl[DDL generation command-line options] -* xref:#dsbulk-help[Getting {dsbulk-migrator} help] +* xref:#getting-help-with-dsbulk-migrator[Getting {dsbulk-migrator} help] * xref:#dsbulk-examples[{dsbulk-migrator} examples] [[dsbulk-live]] === Live migration command-line options -The following options are available for the `migrate-live` command. Most options have sensible default values and do not -need to be specified, unless you want to override the default value. +The following options are available for the `migrate-live` command. +Most options have sensible default values and do not need to be specified, unless you want to override the default value. [cols="2,8,14"] |=== | `-c` | `--dsbulk-cmd=CMD` -| The external DSBulk command to use. -Ignored if the embedded DSBulk is being used. -The default is simply 'dsbulk', assuming that the command is available through the `PATH` variable contents. +| The external DSBulk command to use. +Ignored if the embedded DSBulk is being used. +The default is simply `dsbulk`, assuming that the command is available through the `PATH` variable contents. | `-d` | `--data-dir=PATH` -| The directory where data will be exported to and imported from. -The default is a 'data' subdirectory in the current working directory. -The data directory will be created if it does not exist. -Tables will be exported and imported in subdirectories of the data directory specified here. +| The directory where data will be exported to and imported from. +The default is a `data` subdirectory in the current working directory. +The data directory will be created if it does not exist. +Tables will be exported and imported in subdirectories of the data directory specified here. There will be one subdirectory per keyspace in the data directory, then one subdirectory per table in each keyspace directory. | `-e` | `--dsbulk-use-embedded` -| Use the embedded DSBulk version instead of an external one. +| Use the embedded DSBulk version instead of an external one. The default is to use an external DSBulk command. | | `--export-bundle=PATH` -| The path to a secure connect bundle to connect to the Origin cluster, if that cluster is a {company} {astra_db} cluster. +| The path to a secure connect bundle to connect to the Origin cluster, if that cluster is a {company} {astra_db} cluster. Options `--export-host` and `--export-bundle` are mutually exclusive. | | `--export-consistency=CONSISTENCY` -| The consistency level to use when exporting data. +| The consistency level to use when exporting data. The default is `LOCAL_QUORUM`. | | `--export-dsbulk-option=OPT=VALUE` -| An extra DSBulk option to use when exporting. -Any valid DSBulk option can be specified here, and it will passed as is to the DSBulk process. -DSBulk options, including driver options, must be passed as `--long.option.name=`. +| An extra DSBulk option to use when exporting. +Any valid DSBulk option can be specified here, and it will passed as is to the DSBulk process. +DSBulk options, including driver options, must be passed as `--long.option.name=`. Short options are not supported. | | `--export-host=HOST[:PORT]` -| The host name or IP and, optionally, the port of a node from the Origin cluster. -If the port is not specified, it will default to `9042`. -This option can be specified multiple times. +| The host name or IP and, optionally, the port of a node from the Origin cluster. +If the port is not specified, it will default to `9042`. +This option can be specified multiple times. Options `--export-host` and `--export-bundle` are mutually exclusive. | | `--export-max-concurrent-files=NUM\|AUTO` -| The maximum number of concurrent files to write to. -Must be a positive number or the special value `AUTO`. +| The maximum number of concurrent files to write to. +Must be a positive number or the special value `AUTO`. The default is `AUTO`. | | `--export-max-concurrent-queries=NUM\|AUTO` -| The maximum number of concurrent queries to execute. -Must be a positive number or the special value `AUTO`. +| The maximum number of concurrent queries to execute. +Must be a positive number or the special value `AUTO`. The default is `AUTO`. | | `--export-max-records=NUM` -| The maximum number of records to export for each table. -Must be a positive number or `-1`. +| The maximum number of records to export for each table. +Must be a positive number or `-1`. The default is `-1` (export the entire table). | | `--export-password` -| The password to use to authenticate against the Origin cluster. -Options `--export-username` and `--export-password` must be provided together, or not at all. +| The password to use to authenticate against the Origin cluster. +Options `--export-username` and `--export-password` must be provided together, or not at all. Omit the parameter value to be prompted for the password interactively. | | `--export-splits=NUM\|NC` -| The maximum number of token range queries to generate. -Use the `NC` syntax to specify a multiple of the number of available cores. -For example, `8C` = 8 times the number of available cores. -The default is `8C`. +| The maximum number of token range queries to generate. +Use the `NC` syntax to specify a multiple of the number of available cores. +For example, `8C` = 8 times the number of available cores. +The default is `8C`. This is an advanced setting; you should rarely need to modify the default value. | | `--export-username=STRING` -| The username to use to authenticate against the Origin cluster. +| The username to use to authenticate against the Origin cluster. Options `--export-username` and `--export-password` must be provided together, or not at all. | `-h` @@ -183,56 +178,56 @@ Options `--export-username` and `--export-password` must be provided together, o | | `--import-bundle=PATH` -| The path to a secure connect bundle to connect to the Target cluster, if it's a {company} {astra_db} cluster. +| The path to a secure connect bundle to connect to the Target cluster, if it's a {company} {astra_db} cluster. Options `--import-host` and `--import-bundle` are mutually exclusive. | | `--import-consistency=CONSISTENCY` -| The consistency level to use when importing data. +| The consistency level to use when importing data. The default is `LOCAL_QUORUM`. | | `--import-default-timestamp=` -| The default timestamp to use when importing data. -Must be a valid instant in ISO-8601 syntax. +| The default timestamp to use when importing data. +Must be a valid instant in ISO-8601 syntax. The default is `1970-01-01T00:00:00Z`. | | `--import-dsbulk-option=OPT=VALUE` -| An extra DSBulk option to use when importing. -Any valid DSBulk option can be specified here, and it will passed as is to the DSBulk process. -DSBulk options, including driver options, must be passed as `--long.option.name=`. +| An extra DSBulk option to use when importing. +Any valid DSBulk option can be specified here, and it will passed as is to the DSBulk process. +DSBulk options, including driver options, must be passed as `--long.option.name=`. Short options are not supported. | | `--import-host=HOST[:PORT]` -| The host name or IP and, optionally, the port of a node from the Target cluster. -If the port is not specified, it will default to `9042`. -This option can be specified multiple times. -Options `--import-host` and `--import-bundle` are mutually exclusive. +| The host name or IP and, optionally, the port of a node from the Target cluster. +If the port is not specified, it will default to `9042`. +This option can be specified multiple times. +Options `--import-host` and `--import-bundle` are mutually exclusive. | -| `--import-max-concurrent-files=NUM\|AUTO` -| The maximum number of concurrent files to read from. -Must be a positive number or the special value `AUTO`. +| `--import-max-concurrent-files=NUM\|AUTO` +| The maximum number of concurrent files to read from. +Must be a positive number or the special value `AUTO`. The default is `AUTO`. | | `--import-max-concurrent-queries=NUM\|AUTO` -| The maximum number of concurrent queries to execute. -Must be a positive number or the special value `AUTO`. +| The maximum number of concurrent queries to execute. +Must be a positive number or the special value `AUTO`. The default is `AUTO`. | | `--import-max-errors=NUM` -| The maximum number of failed records to tolerate when importing data. -The default is `1000`. +| The maximum number of failed records to tolerate when importing data. +The default is `1000`. Failed records will appear in a `load.bad` file in the DSBulk operation directory. | | `--import-password` -| The password to use to authenticate against the Target cluster. -Options `--import-username` and `--import-password` must be provided together, or not at all. +| The password to use to authenticate against the Target cluster. +Options `--import-username` and `--import-password` must be provided together, or not at all. Omit the parameter value to be prompted for the password interactively. | @@ -241,50 +236,50 @@ Omit the parameter value to be prompted for the password interactively. | `-k` | `--keyspaces=REGEX` -| A regular expression to select keyspaces to migrate. -The default is to migrate all keyspaces except system keyspaces, DSE-specific keyspaces, and the OpsCenter keyspace. +| A regular expression to select keyspaces to migrate. +The default is to migrate all keyspaces except system keyspaces, DSE-specific keyspaces, and the OpsCenter keyspace. Case-sensitive keyspace names must be entered in their exact case. | `-l` | `--dsbulk-log-dir=PATH` -| The directory where DSBulk should store its logs. -The default is a 'logs' subdirectory in the current working directory. -This subdirectory will be created if it does not exist. +| The directory where DSBulk should store its logs. +The default is a `logs` subdirectory in the current working directory. +This subdirectory will be created if it does not exist. Each DSBulk operation will create a subdirectory in the log directory specified here. | | `--max-concurrent-ops=NUM` -| The maximum number of concurrent operations (exports and imports) to carry. -The default is `1`. -Set this to higher values to allow exports and imports to occur concurrently. +| The maximum number of concurrent operations (exports and imports) to carry. +The default is `1`. +Set this to higher values to allow exports and imports to occur concurrently. For example, with a value of `2`, each table will be imported as soon as it is exported, while the next table is being exported. | | `--skip-truncate-confirmation` -| Skip truncate confirmation before actually truncating tables. +| Skip truncate confirmation before actually truncating tables. Only applicable when migrating counter tables, ignored otherwise. | `-t` -| `--tables=REGEX` -| A regular expression to select tables to migrate. -The default is to migrate all tables in the keyspaces that were selected for migration with `--keyspaces`. +| `--tables=REGEX` +| A regular expression to select tables to migrate. +The default is to migrate all tables in the keyspaces that were selected for migration with `--keyspaces`. Case-sensitive table names must be entered in their exact case. | | `--table-types=regular\|counter\|all` -| The table types to migrate. +| The table types to migrate. The default is `all`. | | `--truncate-before-export` -| Truncate tables before the export instead of after. -The default is to truncate after the export. +| Truncate tables before the export instead of after. +The default is to truncate after the export. Only applicable when migrating counter tables, ignored otherwise. | `-w` | `--dsbulk-working-dir=PATH` -| The directory where DSBulk should be executed. -Ignored if the embedded DSBulk is being used. +| The directory where DSBulk should be executed. +Ignored if the embedded DSBulk is being used. If unspecified, it defaults to the current working directory. |=== @@ -293,166 +288,166 @@ If unspecified, it defaults to the current working directory. [[dsbulk-script]] === Script generation command-line options -The following options are available for the `generate-script` command. +The following options are available for the `generate-script` command. Most options have sensible default values and do not need to be specified, unless you want to override the default value. [cols="2,8,14"] |=== -| `-c` +| `-c` | `--dsbulk-cmd=CMD` -| The DSBulk command to use. -The default is simply 'dsbulk', assuming that the command is available through the `PATH` variable contents. +| The DSBulk command to use. +The default is simply `dsbulk`, assuming that the command is available through the `PATH` variable contents. | `-d` | `--data-dir=PATH` | The directory where data will be exported to and imported from. -The default is a 'data' subdirectory in the current working directory. +The default is a `data` subdirectory in the current working directory. The data directory will be created if it does not exist. -| +| | `--export-bundle=PATH` -| The path to a secure connect bundle to connect to the Origin cluster, if that cluster is a {company} {astra_db} cluster. +| The path to a secure connect bundle to connect to the Origin cluster, if that cluster is a {company} {astra_db} cluster. Options `--export-host` and `--export-bundle` are mutually exclusive. -| +| | `--export-consistency=CONSISTENCY` -| The consistency level to use when exporting data. +| The consistency level to use when exporting data. The default is `LOCAL_QUORUM`. -| +| | `--export-dsbulk-option=OPT=VALUE` -| An extra DSBulk option to use when exporting. -Any valid DSBulk option can be specified here, and it will passed as is to the DSBulk process. -DSBulk options, including driver options, must be passed as `--long.option.name=`. +| An extra DSBulk option to use when exporting. +Any valid DSBulk option can be specified here, and it will passed as is to the DSBulk process. +DSBulk options, including driver options, must be passed as `--long.option.name=`. Short options are not supported. -| +| | `--export-host=HOST[:PORT]` -| The host name or IP and, optionally, the port of a node from the Origin cluster. -If the port is not specified, it will default to `9042`. -This option can be specified multiple times. +| The host name or IP and, optionally, the port of a node from the Origin cluster. +If the port is not specified, it will default to `9042`. +This option can be specified multiple times. Options `--export-host` and `--export-bundle` are mutually exclusive. -| +| | `--export-max-concurrent-files=NUM\|AUTO` -| The maximum number of concurrent files to write to. -Must be a positive number or the special value `AUTO`. +| The maximum number of concurrent files to write to. +Must be a positive number or the special value `AUTO`. The default is `AUTO`. -| +| | `--export-max-concurrent-queries=NUM\|AUTO` -| The maximum number of concurrent queries to execute. -Must be a positive number or the special value `AUTO`. +| The maximum number of concurrent queries to execute. +Must be a positive number or the special value `AUTO`. The default is `AUTO`. -| +| | `--export-max-records=NUM` -| The maximum number of records to export for each table. -Must be a positive number or `-1`. +| The maximum number of records to export for each table. +Must be a positive number or `-1`. The default is `-1` (export the entire table). -| +| | `--export-password` -| The password to use to authenticate against the Origin cluster. -Options `--export-username` and `--export-password` must be provided together, or not at all. +| The password to use to authenticate against the Origin cluster. +Options `--export-username` and `--export-password` must be provided together, or not at all. Omit the parameter value to be prompted for the password interactively. -| +| | `--export-splits=NUM\|NC` -| The maximum number of token range queries to generate. -Use the `NC` syntax to specify a multiple of the number of available cores. -For example, `8C` = 8 times the number of available cores. -The default is `8C`. -This is an advanced setting. You should rarely need to modify the default value. - -| +| The maximum number of token range queries to generate. +Use the `NC` syntax to specify a multiple of the number of available cores. +For example, `8C` = 8 times the number of available cores. +The default is `8C`. +This is an advanced setting. +You should rarely need to modify the default value. + +| | `--export-username=STRING` -| The username to use to authenticate against the Origin cluster. +| The username to use to authenticate against the Origin cluster. Options `--export-username` and `--export-password` must be provided together, or not at all. -| `-h` +| `-h` | `--help` | Displays this help text. -| +| | `--import-bundle=PATH` -| The path to a secure connect bundle to connect to the Target cluster, if it's a {company} {astra_db} cluster. +| The path to a secure connect bundle to connect to the Target cluster, if it's a {company} {astra_db} cluster. Options `--import-host` and `--import-bundle` are mutually exclusive. -| +| | `--import-consistency=CONSISTENCY` -| The consistency level to use when importing data. +| The consistency level to use when importing data. The default is `LOCAL_QUORUM`. -| +| | `--import-default-timestamp=` -| The default timestamp to use when importing data. -Must be a valid instant in ISO-8601 syntax. +| The default timestamp to use when importing data. +Must be a valid instant in ISO-8601 syntax. The default is `1970-01-01T00:00:00Z`. -| +| | `--import-dsbulk-option=OPT=VALUE` -| An extra DSBulk option to use when importing. -Any valid DSBulk option can be specified here, and it will passed as is to the DSBulk process. -DSBulk options, including driver options, must be passed as `--long.option.name=`. +| An extra DSBulk option to use when importing. +Any valid DSBulk option can be specified here, and it will passed as is to the DSBulk process. +DSBulk options, including driver options, must be passed as `--long.option.name=`. Short options are not supported. -| +| | `--import-host=HOST[:PORT]` -| The host name or IP and, optionally, the port of a node from the Target cluster. -If the port is not specified, it will default to `9042`. -This option can be specified multiple times. -Options `--import-host` and `--import-bundle` are mutually exclusive. +| The host name or IP and, optionally, the port of a node from the Target cluster. +If the port is not specified, it will default to `9042`. +This option can be specified multiple times. +Options `--import-host` and `--import-bundle` are mutually exclusive. -| +| | `--import-max-concurrent-files=NUM\|AUTO` -| The maximum number of concurrent files to read from. -Must be a positive number or the special value `AUTO`. +| The maximum number of concurrent files to read from. +Must be a positive number or the special value `AUTO`. The default is `AUTO`. -| +| | `--import-max-concurrent-queries=NUM\|AUTO` -| The maximum number of concurrent queries to execute. -Must be a positive number or the special value `AUTO`. +| The maximum number of concurrent queries to execute. +Must be a positive number or the special value `AUTO`. The default is `AUTO`. -| +| | `--import-max-errors=NUM` -| The maximum number of failed records to tolerate when importing data. -The default is `1000`. +| The maximum number of failed records to tolerate when importing data. +The default is `1000`. Failed records will appear in a `load.bad` file in the DSBulk operation directory. -| +| | `--import-password` -| The password to use to authenticate against the Target cluster. -Options `--import-username` and `--import-password` must be provided together, or not at all. +| The password to use to authenticate against the Target cluster. +Options `--import-username` and `--import-password` must be provided together, or not at all. Omit the parameter value to be prompted for the password interactively. -| +| | `--import-username=STRING` | The username to use to authenticate against the Target cluster. Options `--import-username` and `--import-password` must be provided together, or not at all. | `-k` | `--keyspaces=REGEX` -| A regular expression to select keyspaces to migrate. -The default is to migrate all keyspaces except system keyspaces, DSE-specific keyspaces, and the OpsCenter keyspace. +| A regular expression to select keyspaces to migrate. +The default is to migrate all keyspaces except system keyspaces, DSE-specific keyspaces, and the OpsCenter keyspace. Case-sensitive keyspace names must be entered in their exact case. | `-l` | `--dsbulk-log-dir=PATH` -| The directory where DSBulk should store its logs. -The default is a 'logs' subdirectory in the current working directory. -This subdirectory will be created if it does not exist. +| The directory where DSBulk should store its logs. +The default is a `logs` subdirectory in the current working directory. +This subdirectory will be created if it does not exist. Each DSBulk operation will create a subdirectory in the log directory specified here. - | `-t` -| `--tables=REGEX` -| A regular expression to select tables to migrate. -The default is to migrate all tables in the keyspaces that were selected for migration with `--keyspaces`. +| `--tables=REGEX` +| A regular expression to select tables to migrate. +The default is to migrate all tables in the keyspaces that were selected for migration with `--keyspaces`. Case-sensitive table names must be entered in their exact case. | @@ -474,58 +469,58 @@ Most options have sensible default values and do not need to be specified, unles | `-a` | `--optimize-for-astra` -| Produce CQL scripts optimized for {company} {astra_db}. -{astra_db} does not allow some options in DDL statements. +| Produce CQL scripts optimized for {company} {astra_db}. +{astra_db} does not allow some options in DDL statements. Using this {dsbulk-migrator} command option, forbidden {astra_db} options will be omitted from the generated CQL files. | `-d` | `--data-dir=PATH` -| The directory where data will be exported to and imported from. -The default is a 'data' subdirectory in the current working directory. -The data directory will be created if it does not exist. +| The directory where data will be exported to and imported from. +The default is a `data` subdirectory in the current working directory. +The data directory will be created if it does not exist. -| +| | `--export-bundle=PATH` -| The path to a secure connect bundle to connect to the Origin cluster, if that cluster is a {company} {astra_db} cluster. +| The path to a secure connect bundle to connect to the Origin cluster, if that cluster is a {company} {astra_db} cluster. Options `--export-host` and `--export-bundle` are mutually exclusive. -| +| | `--export-host=HOST[:PORT]` -| The host name or IP and, optionally, the port of a node from the Origin cluster. -If the port is not specified, it will default to `9042`. -This option can be specified multiple times. +| The host name or IP and, optionally, the port of a node from the Origin cluster. +If the port is not specified, it will default to `9042`. +This option can be specified multiple times. Options `--export-host` and `--export-bundle` are mutually exclusive. -| +| | `--export-password` -| The password to use to authenticate against the Origin cluster. -Options `--export-username` and `--export-password` must be provided together, or not at all. +| The password to use to authenticate against the Origin cluster. +Options `--export-username` and `--export-password` must be provided together, or not at all. Omit the parameter value to be prompted for the password interactively. -| +| | `--export-username=STRING` -| The username to use to authenticate against the Origin cluster. +| The username to use to authenticate against the Origin cluster. Options `--export-username` and `--export-password` must be provided together, or not at all. -| `-h` +| `-h` | `--help` | Displays this help text. | `-k` | `--keyspaces=REGEX` -| A regular expression to select keyspaces to migrate. -The default is to migrate all keyspaces except system keyspaces, DSE-specific keyspaces, and the OpsCenter keyspace. +| A regular expression to select keyspaces to migrate. +The default is to migrate all keyspaces except system keyspaces, DSE-specific keyspaces, and the OpsCenter keyspace. Case-sensitive keyspace names must be entered in their exact case. | `-t` -| `--tables=REGEX` -| A regular expression to select tables to migrate. -The default is to migrate all tables in the keyspaces that were selected for migration with `--keyspaces`. +| `--tables=REGEX` +| A regular expression to select tables to migrate. +The default is to migrate all tables in the keyspaces that were selected for migration with `--keyspaces`. Case-sensitive table names must be entered in their exact case. -| +| | `--table-types=regular\|counter\|all` -| The table types to migrate. +| The table types to migrate. The default is `all`. |=== @@ -548,8 +543,6 @@ For individual command help and each one's options: java -jar /path/to/dsbulk-migrator-embedded-dsbulk.jar COMMAND --help ---- - - [[dsbulk-examples]] == {dsbulk-migrator} examples diff --git a/modules/ROOT/pages/glossary.adoc b/modules/ROOT/pages/glossary.adoc index bcd4cc4f..1fab4b46 100644 --- a/modules/ROOT/pages/glossary.adoc +++ b/modules/ROOT/pages/glossary.adoc @@ -30,7 +30,7 @@ Cassandra Query Language (CQL) is a query language for the Cassandra database. I Your existing Cassandra-based cluster, whether it's open-source Apache Cassandra®, DataStax Enterprise (DSE), or Astra DB. -[[primary-cluster]] +[[_primary_cluster]] == Primary cluster The cluster that is currently considered the "primary" source of truth. While writes are always sent to both clusters, the primary cluster is the one to which all synchronous reads are always sent, and their results are returned to the client application. During a migration, Origin is typically the primary cluster. Near the end of the migration, you'll shift the primary cluster to be Target. diff --git a/modules/ROOT/pages/manage-proxy-instances.adoc b/modules/ROOT/pages/manage-proxy-instances.adoc index 9a41bbae..0480210f 100644 --- a/modules/ROOT/pages/manage-proxy-instances.adoc +++ b/modules/ROOT/pages/manage-proxy-instances.adoc @@ -42,7 +42,8 @@ This is all that is needed. [NOTE] ==== -This playbook simply restarts the existing {zdm-proxy} containers. It does **not** apply any configuration change or change the version. +This playbook simply restarts the existing {zdm-proxy} containers. +It does **not** apply any configuration change or change the version. If you wish to xref:change-mutable-config-variable[apply configuration changes] or xref:_upgrade_the_proxy_version[perform version upgrades] in a rolling fashion, follow the instructions in the respective sections. ==== @@ -59,7 +60,8 @@ The pause between the restart of each {zdm-proxy} instance defaults to 10 second [TIP] ==== -To check the state of your {zdm-proxy} instances, you have a couple of options. See xref:deploy-proxy-monitoring.adoc#_indications_of_success_on_origin_and_target_clusters[Indications of success on Origin and Target clusters]. +To check the state of your {zdm-proxy} instances, you have a couple of options. +See xref:deploy-proxy-monitoring.adoc#_indications_of_success_on_origin_and_target_clusters[Indications of success on Origin and Target clusters]. ==== == Access the proxy logs @@ -68,7 +70,8 @@ To confirm that the {zdm-proxy} instances are operating normally, or investigate === View the logs -The {zdm-proxy} runs as a Docker container on each proxy host. Its logs can be viewed by connecting to a proxy host and running the following command. +The {zdm-proxy} runs as a Docker container on each proxy host. +Its logs can be viewed by connecting to a proxy host and running the following command. [source,bash] ---- @@ -79,7 +82,8 @@ To leave the logs open and continuously output the latest log messages, append t === Collect the logs -You can easily retrieve the logs of all {zdm-proxy} instances using a dedicated playbook (`collect_zdm_proxy_logs.yml`). You can view the playbook's configuration values in `vars/zdm_proxy_log_collection_config.yml`, but no changes to it are required. +You can easily retrieve the logs of all {zdm-proxy} instances using a dedicated playbook (`collect_zdm_proxy_logs.yml`). +You can view the playbook's configuration values in `vars/zdm_proxy_log_collection_config.yml`, but no changes to it are required. Connect to the Ansible Control Host container as explained above and run: @@ -107,14 +111,18 @@ The following configuration variables are considered mutable and can be changed Commonly changed variables, located in `vars/zdm_proxy_core_config.yml`: * `primary_cluster`: -** This variable determines which cluster is currently considered the xref:glossary.adoc#_primary_cluster[primary cluster]. At the start of the migration, the primary cluster is Origin, as it contains all the data. In Phase 4 of the migration, once all the existing data has been transferred and any validation/reconciliation step has been successfully executed, you can switch the primary cluster to be Target. +** This variable determines which cluster is currently considered the xref:glossary.adoc#_primary_cluster[primary cluster]. +At the start of the migration, the primary cluster is Origin, as it contains all the data. +In Phase 4 of the migration, once all the existing data has been transferred and any validation/reconciliation step has been successfully executed, you can switch the primary cluster to be Target. ** Valid values: `ORIGIN`, `TARGET`. * `read_mode`: ** This variable determines how reads are handled by the {zdm-proxy}. ** Valid values: *** `PRIMARY_ONLY`: reads are only sent synchronously to the primary cluster. This is the default behavior. -*** `DUAL_ASYNC_ON_SECONDARY`: reads are sent synchronously to the primary cluster and also asynchronously to the secondary cluster. See xref:enable-async-dual-reads.adoc[]. -** Typically, when choosing `DUAL_ASYNC_ON_SECONDARY` you will want to ensure that `primary_cluster` is still set to `ORIGIN`. When you are ready to use Target as the primary cluster, you should revert `read_mode` to `PRIMARY_ONLY`. +*** `DUAL_ASYNC_ON_SECONDARY`: reads are sent synchronously to the primary cluster and also asynchronously to the secondary cluster. +See xref:enable-async-dual-reads.adoc[]. +** Typically, when choosing `DUAL_ASYNC_ON_SECONDARY` you will want to ensure that `primary_cluster` is still set to `ORIGIN`. +When you are ready to use Target as the primary cluster, you should revert `read_mode` to `PRIMARY_ONLY`. * `log_level`: ** Defaults to `INFO`. ** Only set to `DEBUG` if necessary and revert to `INFO` as soon as possible, as the extra logging can have a slight performance impact. @@ -125,39 +133,54 @@ Other, rarely changed variables: * Target username/password, in `vars/zdm_proxy_cluster_config.yml`) * Advanced configuration variables, located in `vars/zdm_proxy_advanced_config.yml`: ** `zdm_proxy_max_clients_connections`: -*** Maximum number of client connections that the {zdm-proxy} should accept. Each client connection results in additional cluster connections and causes the allocation of several in-memory structures, so this variable can be tweaked to cap the total number on each instance. A high number of client connections per proxy instance may cause some performance degradation, especially at high throughput. +*** Maximum number of client connections that the {zdm-proxy} should accept. +Each client connection results in additional cluster connections and causes the allocation of several in-memory structures, so this variable can be tweaked to cap the total number on each instance. +A high number of client connections per proxy instance may cause some performance degradation, especially at high throughput. *** Defaults to `1000`. ** `replace_cql_functions`: *** Whether the {zdm-proxy} should replace standard CQL function calls in write requests with a value computed at proxy level. *** Currently, only the replacement of `now()` is supported. -*** Boolean value. Disabled by default. Enabling this will have a noticeable performance impact. +*** Boolean value. +Disabled by default. +Enabling this will have a noticeable performance impact. ** `zdm_proxy_request_timeout_ms`: *** Global timeout (in ms) of a request at proxy level. -*** This variable determines how long the {zdm-proxy} will wait for one cluster (in case of reads) or both clusters (in case of writes) to reply to a request. If this timeout is reached, the {zdm-proxy} will abandon that request and no longer consider it as pending, thus freeing up the corresponding internal resources. Note that, in this case, the {zdm-proxy} will not return any result or error: when the client application's own timeout is reached, the driver will time out the request on its side. -*** Defaults to `10000` ms. If your client application has a higher client-side timeout because it is expected to generate requests that take longer to complete, you need to increase this timeout accordingly. +*** This variable determines how long the {zdm-proxy} will wait for one cluster (in case of reads) or both clusters (in case of writes) to reply to a request. +If this timeout is reached, the {zdm-proxy} will abandon that request and no longer consider it as pending, thus freeing up the corresponding internal resources. +Note that, in this case, the {zdm-proxy} will not return any result or error: when the client application's own timeout is reached, the driver will time out the request on its side. +*** Defaults to `10000` ms. +If your client application has a higher client-side timeout because it is expected to generate requests that take longer to complete, you need to increase this timeout accordingly. ** `origin_connection_timeout_ms` and `target_connection_timeout_ms`: *** Timeout (in ms) when attempting to establish a connection from the proxy to Origin or Target. *** Defaults to `30000` ms. ** `async_handshake_timeout_ms`: *** Timeout (in ms) when performing the initialization (handshake) of a proxy-to-secondary cluster connection that will be used solely for asynchronous dual reads. -*** If this timeout occurs, the asynchronous reads will not be sent. This has no impact on the handling of synchronous requests: the {zdm-proxy} will continue to handle all synchronous reads and writes normally. +*** If this timeout occurs, the asynchronous reads will not be sent. +This has no impact on the handling of synchronous requests: the {zdm-proxy} will continue to handle all synchronous reads and writes normally. *** Defaults to `4000` ms. ** `heartbeat_interval_ms`: -*** Frequency (in ms) with which heartbeats will be sent on cluster connections (i.e. all control and request connections to Origin and Target). Heartbeats keep idle connections alive. +*** Frequency (in ms) with which heartbeats will be sent on cluster connections (i.e. all control and request connections to Origin and Target). +Heartbeats keep idle connections alive. *** Defaults to `30000` ms. ** `metrics_enabled`: *** Whether metrics collection should be enabled. -*** Boolean value. Defaults to `true`, but can be set to `false` to completely disable metrics collection. This is not recommended. +*** Boolean value. +Defaults to `true`, but can be set to `false` to completely disable metrics collection. +This is not recommended. ** [[zdm_proxy_max_stream_ids]]`zdm_proxy_max_stream_ids`: -*** In the CQL protocol every request has a unique id, named stream id. This variable allows you to tune the maximum pool size of the available stream ids managed by the {zdm-proxy} per client connection. In the application client, the stream ids are managed internally by the driver, and in most drivers the max number is 2048 (the same default value used in the proxy). If you have a custom driver configuration with a higher value, you should change this property accordingly. +*** In the CQL protocol every request has a unique id, named stream id. +This variable allows you to tune the maximum pool size of the available stream ids managed by the {zdm-proxy} per client connection. +In the application client, the stream ids are managed internally by the driver, and in most drivers the max number is 2048 (the same default value used in the proxy). +If you have a custom driver configuration with a higher value, you should change this property accordingly. *** Defaults to `2048`. Deprecated variables, which will be removed in a future {zdm-proxy} release: * `forward_client_credentials_to_origin`: ** Whether the credentials provided by the client application are for Origin. -** Boolean value. Defaults to `false` (the client application is expected to pass Target credentials), can be set to `true` if the client passes credentials for Origin instead. +** Boolean value. +Defaults to `false` (the client application is expected to pass Target credentials), can be set to `true` if the client passes credentials for Origin instead. To change any of these variables, edit the desired values in `vars/zdm_proxy_core_config.yml`, `vars/zdm_proxy_cluster_config.yml` (credentials only) and/or `vars/zdm_proxy_advanced_config.yml` (mutable variables only, as listed above). @@ -168,7 +191,9 @@ To apply the configuration changes to the {zdm-proxy} instances in a rolling fas ansible-playbook rolling_update_zdm_proxy.yml -i zdm_ansible_inventory ---- -This playbook operates by recreating each proxy container one by one. The {zdm-proxy} deployment remains available at all times and can be safely used throughout this operation. The playbook automates the following steps: +This playbook operates by recreating each proxy container one by one. +The {zdm-proxy} deployment remains available at all times and can be safely used throughout this operation. +The playbook automates the following steps: . It stops one container gracefully, waiting for it to shut down. . It recreates the container and starts it up. @@ -176,26 +201,31 @@ This playbook operates by recreating each proxy container one by one. The {zdm-p [IMPORTANT] ==== A configuration change is a destructive action because containers are considered immutable. -Note that this will remove the previous container and its logs. Make sure you collect the logs prior to this operation if you want to keep them. +Note that this will remove the previous container and its logs. +Make sure you collect the logs prior to this operation if you want to keep them. ==== . It checks that the container has come up successfully by checking the readiness endpoint: .. If unsuccessful, it repeats the check for six times at 5-second intervals and eventually interrupts the whole process if the check still fails. .. If successful, it waits for 10 seconds and then moves on to the next container. -The pause between the restart of each {zdm-proxy} instance defaults to 10 seconds. If you wish to change this value, you can edit `vars/zdm_playbook_internal_config.yml` (located in `zdm-proxy-automation/ansible/vars`) and set it to the desired number of seconds. +The pause between the restart of each {zdm-proxy} instance defaults to 10 seconds. +If you wish to change this value, you can edit `vars/zdm_playbook_internal_config.yml` (located in `zdm-proxy-automation/ansible/vars`) and set it to the desired number of seconds. [NOTE] ==== All configuration variables that are not listed in this section are considered immutable and can only be changed by recreating the deployment. -If you wish to change any of the immutable configuration variables on an existing deployment, you will need to re-run the deployment playbook (`deploy_zdm_proxy.yml`, as documented in xref:deploy-proxy-monitoring.adoc[this page]). This playbook can be run as many times as necessary. +If you wish to change any of the immutable configuration variables on an existing deployment, you will need to re-run the deployment playbook (`deploy_zdm_proxy.yml`, as documented in xref:deploy-proxy-monitoring.adoc[this page]). +This playbook can be run as many times as necessary. Please note that running the `deploy_zdm_proxy.yml` playbook will result in a brief window of unavailability of the whole {zdm-proxy} deployment while all the {zdm-proxy} instances are torn down and recreated. ==== +[[_upgrade_the_proxy_version]] == Upgrade the proxy version -The {zdm-proxy} version is displayed at startup, in a message such as `Starting ZDM proxy version ...`. It can also be retrieved at any time by using the `version` option as in the following command. +The {zdm-proxy} version is displayed at startup, in a message such as `Starting ZDM proxy version ...`. +It can also be retrieved at any time by using the `version` option as in the following command. Example: @@ -211,7 +241,9 @@ Here's an example for {zdm-proxy} 2.1.x: docker run --rm datastax/zdm-proxy:2.1.x -version ---- -The playbook for configuration changes can also be used to upgrade the {zdm-proxy} version in a rolling fashion. All containers will be recreated with the image of the specified version. The same behavior and observations as above apply here. +The playbook for configuration changes can also be used to upgrade the {zdm-proxy} version in a rolling fashion. +All containers will be recreated with the image of the specified version. +The same behavior and observations as above apply here. To perform an upgrade, change the version tag number to the desired version in `vars/zdm_proxy_container.yml`: @@ -238,14 +270,24 @@ ansible-playbook rolling_update_zdm_proxy.yml -i zdm_ansible_inventory == Scaling operations -{zdm-automation} doesn't provide a way to perform scaling up/down operations in a rolling fashion out of the box. If you need a larger {zdm-proxy} deployment, you have two options: +{zdm-automation} doesn't provide a way to perform scaling up/down operations in a rolling fashion out of the box. +If you need a larger {zdm-proxy} deployment, you have two options: + +. Creating a new deployment and moving your client applications to it. +This is the recommended approach, which can be done through the automation without any downtime. +. Adding more instances to the existing deployment. +This is slightly more manual and requires a brief downtime window. + +The first option requires that you deploy a new {zdm-proxy} cluster on the side, and move the client applications to this new proxy cluster. +This can be done by creating a new {zdm-proxy} deployment with the desired topology on a new set of machines (following the normal process), and then changing the contact points in the application configuration so that the application instances point to the new {zdm-proxy} deployment. -. Creating a new deployment and moving your client applications to it. This is the recommended approach, which can be done through the automation without any downtime. -. Adding more instances to the existing deployment. This is slightly more manual and requires a brief downtime window. +This first option just requires a rolling restart of the application instances (to apply the contact point configuration update) and does not cause any interruption of service, because the application instances can just move seamlessly from the old deployment to the new one, which are able to serve requests straight away. -The first option requires that you deploy a new {zdm-proxy} cluster on the side, and move the client applications to this new proxy cluster. This can be done by creating a new {zdm-proxy} deployment with the desired topology on a new set of machines (following the normal process), and then changing the contact points in the application configuration so that the application instances point to the new {zdm-proxy} deployment. This just requires a rolling restart of the application instances (to apply the contact point configuration update) and does not cause any interruption of service, because the application instances can just move seamlessly from the old deployment to the new one, which are able to serve requests straight away. +The second option consists of changing the topology of an existing ZDM proxy deployment. +For example, let's say that you wish to add three new nodes to an existing six-node deployment. +To do this, you need to amend the inventory file so that it contains one line for each machine where you want a proxy instance to be deployed (in this case, the amended inventory file will contain nine proxy IPs, six of which were already there plus the three new ones) and then run the `deploy_zdm_proxy.yml` playbook again. -The second option consists of changing the topology of an existing ZDM proxy deployment. For example, let's say that you wish to add three new nodes to an existing six-node deployment. To do this, you need to amend the inventory file so that it contains one line for each machine where you want a proxy instance to be deployed (in this case, the amended inventory file will contain nine proxy IPs, six of which were already there plus the three new ones) and then run the `deploy_zdm_proxy.yml` playbook again. This will stop the existing six proxies, destroy them, create a new nine-node deployment from scratch based on the amended inventory and start it up, therefore resulting in a brief interruption of availability of the whole {zdm-proxy} deployment. +This second option will stop the existing six proxies, destroy them, create a new nine-node deployment from scratch based on the amended inventory and start it up, therefore resulting in a brief interruption of availability of the whole {zdm-proxy} deployment. [NOTE] ==== diff --git a/modules/ROOT/pages/metrics.adoc b/modules/ROOT/pages/metrics.adoc index e0e323fc..c5b6adb2 100644 --- a/modules/ROOT/pages/metrics.adoc +++ b/modules/ROOT/pages/metrics.adoc @@ -9,13 +9,15 @@ This topic provides detailed information about the metrics captured by the {zdm- The {zdm-proxy} gathers a large number of metrics, which allows you to gain deep insights into how it is operating with regard to its communication with client applications and clusters, as well as its request handling. -Having visibility on all aspects of the {zdm-proxy}'s behavior is extremely important in the context of a migration of critical client applications, and is a great help in building confidence in the process and troubleshooting any issues. For this reason, we strongly encourage you to monitor the {zdm-proxy}, either by deploying the self-contained monitoring stack provided by the {zdm-automation} or by importing the pre-built Grafana dashboards in your own monitoring infrastructure. +Having visibility on all aspects of the {zdm-proxy}'s behavior is extremely important in the context of a migration of critical client applications, and is a great help in building confidence in the process and troubleshooting any issues. +For this reason, we strongly encourage you to monitor the {zdm-proxy}, either by deploying the self-contained monitoring stack provided by the {zdm-automation} or by importing the pre-built Grafana dashboards in your own monitoring infrastructure. == Retrieving the {zdm-proxy} metrics {zdm-proxy} exposes an HTTP endpoint that returns metrics in the Prometheus format. -{zdm-automation} can deploy Prometheus and Grafana, configuring them automatically, as explained xref:deploy-proxy-monitoring.adoc#_setting_up_the_monitoring_stack[here]. The Grafana dashboards are ready to go with metrics that are being scraped from the {zdm-proxy} instances. +{zdm-automation} can deploy Prometheus and Grafana, configuring them automatically, as explained xref:deploy-proxy-monitoring.adoc#_setting_up_the_monitoring_stack[here]. +The Grafana dashboards are ready to go with metrics that are being scraped from the {zdm-proxy} instances. If you already have a Grafana deployment then you can import the dashboards from the two ZDM dashboard files from this https://github.com/datastax/zdm-proxy-automation/tree/main/grafana-dashboards[{zdm-automation} GitHub location]. @@ -32,7 +34,9 @@ image::{imagesprefix}zdm-grafana-proxy-dashboard1.png[Grafana dashboard shows th === Proxy-level metrics * Latency: -** Read Latency: total latency measured by the {zdm-proxy} (including post-processing like response aggregation) for read requests. This metric has two labels (`reads_origin` and `reads_target`): the label that has data will depend on which cluster is receiving the reads, i.e. which cluster is currently considered the xref:glossary.adoc#_primary_cluster[primary cluster]. This is configured by the {zdm-automation} through the variable `primary_cluster`, or directly through the environment variable `ZDM_PRIMARY_CLUSTER` of the {zdm-proxy}. +** Read Latency: total latency measured by the {zdm-proxy} (including post-processing like response aggregation) for read requests. +This metric has two labels (`reads_origin` and `reads_target`): the label that has data will depend on which cluster is receiving the reads, i.e. which cluster is currently considered the xref:glossary.adoc#_primary_cluster[primary cluster]. +This is configured by the {zdm-automation} through the variable `primary_cluster`, or directly through the environment variable `ZDM_PRIMARY_CLUSTER` of the {zdm-proxy}. ** Write Latency: total latency measured by the {zdm-proxy} (including post-processing like response aggregation) for write requests. * Throughput (same structure as the previous latency metrics): @@ -47,8 +51,10 @@ image::{imagesprefix}zdm-grafana-proxy-dashboard1.png[Grafana dashboard shows th ** Cache Misses: meaning, a prepared statement was sent to the {zdm-proxy}, but it wasn't on its cache, so the proxy returned an `UNPREPARED` response to make the driver send the `PREPARE` request again. ** Number of cached prepared statements. -* Request Failure Rates: number of request failures per interval. You can set the interval via the `Error Rate interval` dashboard variable at the top. -** Read Failure Rate: one `cluster` label with two settings: `origin` and `target`. The label that contains data depends on which cluster is currently considered the primary (same as the latency and throughput metrics explained above). +* Request Failure Rates: number of request failures per interval. +You can set the interval via the `Error Rate interval` dashboard variable at the top. +** Read Failure Rate: one `cluster` label with two settings: `origin` and `target`. +The label that contains data depends on which cluster is currently considered the primary (same as the latency and throughput metrics explained above). ** Write Failure Rate: one `failed_on` label with three settings: `origin`, `target` and `both`. *** `failed_on=origin`: the write request failed on Origin ONLY. *** `failed_on=target`: the write request failed on Target ONLY. @@ -73,7 +79,9 @@ To see error metrics by error type, see the node-level error metrics on the next * Number of Used Stream Ids: ** Tracks the total number of used xref:manage-proxy-instances.adoc#zdm_proxy_max_stream_ids[stream ids] ("request ids") per connection type (Origin, Target and Async). -* Number of errors per error type per Origin node and per Target node. Possible values for the `error` type label: +* Number of errors per error type per Origin node and per Target node. +Possible values for the `error` type label: ++ ** `error=client_timeout` ** `error=read_failure` ** `error=read_timeout` @@ -85,13 +93,15 @@ To see error metrics by error type, see the node-level error metrics on the next === Asynchronous read requests metrics -These metrics are specific to asynchronous reads, so they are only populated if asynchronous dual reads are enabled. This is done by setting the {zdm-automation} variable `read_mode`, or its equivalent environment variable `ZDM_READ_MODE`, to `DUAL_ASYNC_ON_SECONDARY` as explained xref:enable-async-dual-reads.adoc[here]. +These metrics are specific to asynchronous reads, so they are only populated if asynchronous dual reads are enabled. +This is done by setting the {zdm-automation} variable `read_mode`, or its equivalent environment variable `ZDM_READ_MODE`, to `DUAL_ASYNC_ON_SECONDARY` as explained xref:enable-async-dual-reads.adoc[here]. These metrics track: * Latency. * Throughput. -* Number of dedicated connections per node for async reads: whether it's Origin or Target connections depends on the {zdm-proxy} configuration. That is, if the primary cluster is Origin, then the asynchronous reads are sent to Target. +* Number of dedicated connections per node for async reads: whether it's Origin or Target connections depends on the {zdm-proxy} configuration. +That is, if the primary cluster is Origin, then the asynchronous reads are sent to Target. * Number of errors per error type per node. === Insights via the {zdm-proxy} metrics @@ -104,7 +114,8 @@ Some examples of problems manifesting on these metrics: == Go runtime metrics dashboard and system dashboard -This dashboard in Grafana is not as important as the {zdm-proxy} dashboard. However, it may be useful to troubleshoot performance issues. Here you can see memory usage, Garbage Collection (GC) duration, open fds (file descriptors - useful to detect leaked connections), and the number of goroutines: +This dashboard in Grafana is not as important as the {zdm-proxy} dashboard. However, it may be useful to troubleshoot performance issues. +Here you can see memory usage, Garbage Collection (GC) duration, open fds (file descriptors - useful to detect leaked connections), and the number of goroutines: image::{imagesprefix}zdm-golang-dashboard.png[Golang metrics dashboard example is shown.] @@ -115,4 +126,6 @@ Some examples of problem areas on these Go runtime metrics: * Always increasing memory usage. * Always increasing number of goroutines. -The ZDM monitoring stack also includes a system-level dashboard collected through the Prometheus Node Exporter. This dashboard contains hardware and OS-level metrics for the host on which the proxy runs. This can be useful to check the available resources and identify low-level bottlenecks or issues. +The ZDM monitoring stack also includes a system-level dashboard collected through the Prometheus Node Exporter. +This dashboard contains hardware and OS-level metrics for the host on which the proxy runs. +This can be useful to check the available resources and identify low-level bottlenecks or issues. From b28094c0ffc18c17f19f70666cbeb55f6c608355 Mon Sep 17 00:00:00 2001 From: Emelia Wilkinson Date: Tue, 19 Mar 2024 16:48:16 -0400 Subject: [PATCH 13/17] final readthrough edits. Phase 3 and 4 pages done --- modules/ROOT/pages/change-read-routing.adoc | 29 ++++++++++++++----- .../ROOT/pages/connect-clients-to-proxy.adoc | 1 + .../ROOT/pages/enable-async-dual-reads.adoc | 28 +++++++++++++----- modules/ROOT/pages/metrics.adoc | 1 + 4 files changed, 43 insertions(+), 16 deletions(-) diff --git a/modules/ROOT/pages/change-read-routing.adoc b/modules/ROOT/pages/change-read-routing.adoc index 4321aa1e..d30a6c7f 100644 --- a/modules/ROOT/pages/change-read-routing.adoc +++ b/modules/ROOT/pages/change-read-routing.adoc @@ -19,7 +19,9 @@ This operation is a configuration change that can be carried out as explained xr [TIP] ==== -If you performed the optional steps described in the prior topic, xref:enable-async-dual-reads.adoc[] -- to verify that your Target cluster was ready and tuned appropriately to handle the production read load -- be sure to disable async dual reads when you're done testing. If you haven't already, revert `read_mode` in `vars/zdm_proxy_core_config.yml` to `PRIMARY_ONLY` when switching sync reads to Target. Example: +If you performed the optional steps described in the prior topic, xref:enable-async-dual-reads.adoc[] -- to verify that your Target cluster was ready and tuned appropriately to handle the production read load -- be sure to disable async dual reads when you're done testing. +If you haven't already, revert `read_mode` in `vars/zdm_proxy_core_config.yml` to `PRIMARY_ONLY` when switching sync reads to Target. +Example: [source,yml] ---- @@ -30,6 +32,7 @@ Otherwise, if you don't disable async dual reads, {zdm-proxy} instances would co ==== == Changing the read routing configuration + If you're not there already, `ssh` back into the jumphost: [source,bash] @@ -60,11 +63,14 @@ Run the playbook that changes the configuration of the existing {zdm-proxy} depl ansible-playbook rolling_update_zdm_proxy.yml -i zdm_ansible_inventory ---- -Wait for the {zdm-proxy} instances to be restarted by Ansible, one by one. All instances will now send all reads to Target instead of Origin. In other words, Target is now the primary cluster, but the {zdm-proxy} is still keeping Origin up-to-date via dual writes. +Wait for the {zdm-proxy} instances to be restarted by Ansible, one by one. +All instances will now send all reads to Target instead of Origin. +In other words, Target is now the primary cluster, but the {zdm-proxy} is still keeping Origin up-to-date via dual writes. == Verifying the read routing change -Once the read routing configuration change has been rolled out, you may want to verify that reads are correctly sent to Target as expected. This is not a required step, but you may wish to do it for peace of mind. +Once the read routing configuration change has been rolled out, you may want to verify that reads are correctly sent to Target as expected. +This is not a required step, but you may wish to do it for peace of mind. [TIP] ==== @@ -80,11 +86,18 @@ Although `DESCRIBE` requests are not system requests, they are also generally re Verifying that the correct routing is taking place is a slightly cumbersome operation, due to the fact that the purpose of the ZDM process is to align the clusters and therefore, by definition, the data will be identical on both sides. -For this reason, the only way to do a manual verification test is to force a discrepancy of some test data between the clusters. To do this, you could consider using the xref:connect-clients-to-proxy.adoc#_themis_client[Themis sample client application]. This client application connects directly to Origin, Target and the {zdm-proxy}, inserts some test data in its own table and allows you to view the results of reads from each source. Please refer to its README for more information. +For this reason, the only way to do a manual verification test is to force a discrepancy of some test data between the clusters. +To do this, you could consider using the xref:connect-clients-to-proxy.adoc#_themis_client[Themis sample client application]. +This client application connects directly to Origin, Target and the {zdm-proxy}, inserts some test data in its own table and allows you to view the results of reads from each source. +Please refer to its README for more information. Alternatively, you could follow this manual procedure: -* Create a small test table on both clusters, for example a simple key/value table (it could be in an existing keyspace, or in one that you create specifically for this test). For example `CREATE TABLE test_keyspace.test_table(k TEXT PRIMARY KEY, v TEXT);`. -* Use `cqlsh` to connect *directly to Origin*. Insert a row with any key, and with a value specific to Origin, for example `INSERT INTO test_keyspace.test_table(k, v) VALUES ('1', 'Hello from Origin!');`. -* Now, use `cqlsh` to connect *directly to Target*. Insert a row with the same key as above, but with a value specific to Target, for example `INSERT INTO test_keyspace.test_table(k, v) VALUES ('1', 'Hello from Target!');`. -* Now, use `cqlsh` to connect to the {zdm-proxy} (see xref:connect-clients-to-proxy.adoc#_connecting_cqlsh_to_the_zdm_proxy[here] for how to do this) and issue a read request for this test table: `SELECT * FROM test_keyspace.test_table WHERE k = '1';`. The result will clearly show you where the read actually comes from. +* Create a small test table on both clusters, for example a simple key/value table (it could be in an existing keyspace, or in one that you create specifically for this test). +For example `CREATE TABLE test_keyspace.test_table(k TEXT PRIMARY KEY, v TEXT);`. +* Use `cqlsh` to connect *directly to Origin*. +Insert a row with any key, and with a value specific to Origin, for example `INSERT INTO test_keyspace.test_table(k, v) VALUES ('1', 'Hello from Origin!');`. +* Now, use `cqlsh` to connect *directly to Target*. +Insert a row with the same key as above, but with a value specific to Target, for example `INSERT INTO test_keyspace.test_table(k, v) VALUES ('1', 'Hello from Target!');`. +* Now, use `cqlsh` to connect to the {zdm-proxy} (see xref:connect-clients-to-proxy.adoc#_connecting_cqlsh_to_the_zdm_proxy[here] for how to do this) and issue a read request for this test table: `SELECT * FROM test_keyspace.test_table WHERE k = '1';`. +The result will clearly show you where the read actually comes from. diff --git a/modules/ROOT/pages/connect-clients-to-proxy.adoc b/modules/ROOT/pages/connect-clients-to-proxy.adoc index 2a757349..29d24aab 100644 --- a/modules/ROOT/pages/connect-clients-to-proxy.adoc +++ b/modules/ROOT/pages/connect-clients-to-proxy.adoc @@ -156,6 +156,7 @@ After updating connection information you can compile and run the application lo You can find the details of building and running ZDM Demo Client in the https://github.com/alicel/zdm-demo-client/blob/master/README.md[README]. +[[_themis_client]] === Themis client https://github.com/absurdfarce/themis[Themis] is a Java command-line client application that allows you to insert randomly-generated data into some combination of these three sources: diff --git a/modules/ROOT/pages/enable-async-dual-reads.adoc b/modules/ROOT/pages/enable-async-dual-reads.adoc index fc0a3dd5..e023de8c 100644 --- a/modules/ROOT/pages/enable-async-dual-reads.adoc +++ b/modules/ROOT/pages/enable-async-dual-reads.adoc @@ -3,7 +3,8 @@ ifdef::env-github,env-browser,env-vscode[:imagesprefix: ../images/] ifndef::env-github,env-browser,env-vscode[:imagesprefix: ] -In this phase, you can optionally enable asynchronous dual reads. The idea is to test performance and verify that Target can handle your application's live request load before cutting over from Origin to Target. +In this phase, you can optionally enable asynchronous dual reads. +The idea is to test performance and verify that Target can handle your application's live request load before cutting over from Origin to Target. //include::partial$lightbox-tip.adoc[] @@ -13,7 +14,8 @@ image::{imagesprefix}migration-phase3ra.png[Phase 3 diagram shows optional step [TIP] ==== -As you test the performance on Target, be sure to examine the async read metrics. As noted in the xref:#_validating_performance_and_error_rate[section] below, you can learn more in xref:metrics.adoc#_asynchronous_read_requests_metrics[Asynchronous read requests metrics]. +As you test the performance on Target, be sure to examine the async read metrics. +As noted in the xref:#_validating_performance_and_error_rate[section] below, you can learn more in xref:metrics.adoc#_asynchronous_read_requests_metrics[Asynchronous read requests metrics]. ==== == Steps @@ -38,24 +40,32 @@ To apply this change, run the `rolling_update_zdm_proxy.yml` playbook as explain [NOTE] ==== -This optional phase introduces an additional check to make sure that Target can handle the load without timeouts or unacceptable latencies. You would typically perform this step once you have migrated all the existing data from Origin and completed all validation checks and reconciliation, if necessary. +This optional phase introduces an additional check to make sure that Target can handle the load without timeouts or unacceptable latencies. +You would typically perform this step once you have migrated all the existing data from Origin and completed all validation checks and reconciliation, if necessary. ==== == Asynchronous Dual Reads mode -When using the {zdm-proxy}, all writes are synchronously sent to both Origin and Target. Reads operate differently: with the default read mode, reads are only sent to the primary cluster (Origin by default). +When using the {zdm-proxy}, all writes are synchronously sent to both Origin and Target. +Reads operate differently: with the default read mode, reads are only sent to the primary cluster (Origin by default). Before changing the read routing so that reads are routed to Target (phase 4), you may want to temporarily send the reads to both clusters, to make sure that Target can handle the full workload of reads and writes. -If you set the proxy's read mode configuration variable (`read_mode`) to `DUAL_ASYNC_ON_SECONDARY`, then asynchronous dual reads will be enabled. That change will result in reads being additionally sent to the secondary cluster. The proxy will return the read response to the client application as soon as the primary cluster's response arrives. +If you set the proxy's read mode configuration variable (`read_mode`) to `DUAL_ASYNC_ON_SECONDARY`, then asynchronous dual reads will be enabled. +That change will result in reads being additionally sent to the secondary cluster. +The proxy will return the read response to the client application as soon as the primary cluster's response arrives. -The secondary cluster's response will only be used to track metrics. There will be no impact to the client application if the read fails on the secondary cluster, or if the read performance on the secondary cluster is degraded. Therefore, this feature can be used as a safer way to test the full workload on Target before making the switch to set Target as the primary cluster (phase 4). +The secondary cluster's response will only be used to track metrics. +There will be no impact to the client application if the read fails on the secondary cluster, or if the read performance on the secondary cluster is degraded. +Therefore, this feature can be used as a safer way to test the full workload on Target before making the switch to set Target as the primary cluster (phase 4). [NOTE] ==== -In some cases the additional read requests can cause the write requests to fail or timeout on that cluster. This means that, while this feature provides a way to route read requests to Target with a lower chance of having impact on the client application, it doesn't completely eliminate that chance. +In some cases the additional read requests can cause the write requests to fail or timeout on that cluster. +This means that, while this feature provides a way to route read requests to Target with a lower chance of having impact on the client application, it doesn't completely eliminate that chance. ==== +[[_validating_performance_and_error_rate]] == Validating performance and error rate Because the client application is not impacted by these asynchronous reads, the only way to measure the performance and error rate of these asynchronous reads are: @@ -71,5 +81,7 @@ For more, see xref:metrics.adoc#_asynchronous_read_requests_metrics[Asynchronous [TIP] ==== -Once you are satisfied that your Target cluster is ready and tuned appropriately to handle the production read load, you can decide to switch your sync reads to Target. At this point, be sure to also disable async dual reads by reverting `read_mode` in `vars/zdm_proxy_core_config.yml` to `PRIMARY_ONLY`. This step is explained in more detail in the xref:change-read-routing.adoc[next topic]. +Once you are satisfied that your Target cluster is ready and tuned appropriately to handle the production read load, you can decide to switch your sync reads to Target. +At this point, be sure to also disable async dual reads by reverting `read_mode` in `vars/zdm_proxy_core_config.yml` to `PRIMARY_ONLY`. +This step is explained in more detail in the xref:change-read-routing.adoc[next topic]. ==== diff --git a/modules/ROOT/pages/metrics.adoc b/modules/ROOT/pages/metrics.adoc index c5b6adb2..97783885 100644 --- a/modules/ROOT/pages/metrics.adoc +++ b/modules/ROOT/pages/metrics.adoc @@ -91,6 +91,7 @@ Possible values for the `error` type label: ** `error=unavailable` ** `error=unprepared` +[[_asynchronous_read_requests_metrics]] === Asynchronous read requests metrics These metrics are specific to asynchronous reads, so they are only populated if asynchronous dual reads are enabled. From 6670c951f8a89ced951fd92860ea363741f7fd29 Mon Sep 17 00:00:00 2001 From: Emelia Wilkinson Date: Wed, 20 Mar 2024 17:27:19 -0400 Subject: [PATCH 14/17] final readthrough edits. Phase 5, troubleshooting, troubleshooting tips, and troubleshooting scenarios pages are done. --- .../ROOT/pages/connect-clients-to-proxy.adoc | 1 + .../ROOT/pages/connect-clients-to-target.adoc | 28 +++-- modules/ROOT/pages/glossary.adoc | 1 + .../ROOT/pages/manage-proxy-instances.adoc | 2 + .../ROOT/pages/troubleshooting-scenarios.adoc | 116 ++++++++++-------- modules/ROOT/pages/troubleshooting-tips.adoc | 51 +++++--- modules/ROOT/pages/troubleshooting.adoc | 3 +- 7 files changed, 128 insertions(+), 74 deletions(-) diff --git a/modules/ROOT/pages/connect-clients-to-proxy.adoc b/modules/ROOT/pages/connect-clients-to-proxy.adoc index 29d24aab..93f382b8 100644 --- a/modules/ROOT/pages/connect-clients-to-proxy.adoc +++ b/modules/ROOT/pages/connect-clients-to-proxy.adoc @@ -30,6 +30,7 @@ At DataStax, we've developed and maintain a set of drivers for client applicatio These drivers provide a native implementation of the messaging protocols used to communicate with a Cassandra or DSE cluster or Astra DB. They allow you to execute queries, iterate through results, access metadata about your cluster, and perform other related activities. +[[_connecting_company_drivers_to_cassandra]] == Connecting {company} drivers to Cassandra Perhaps the simplest way to demonstrate how to use the {company} drivers to connect your client application to a Cassandra cluster is an example in the form of some sample code. diff --git a/modules/ROOT/pages/connect-clients-to-target.adoc b/modules/ROOT/pages/connect-clients-to-target.adoc index 10d76142..d0b202aa 100644 --- a/modules/ROOT/pages/connect-clients-to-target.adoc +++ b/modules/ROOT/pages/connect-clients-to-target.adoc @@ -14,7 +14,8 @@ At this point in our migration phases, we've completed: * Phase 4: Changed read routing to Target. -Now we're ready to perform Phase 5, in which we will configure our client applications to connect directly to Target. The way you do this varies based on whether your Target is Astra DB or a regular Apache Cassandra® or DataStax Enterprise cluster. +Now we're ready to perform Phase 5, in which we will configure our client applications to connect directly to Target. +The way you do this varies based on whether your Target is Astra DB or a regular Apache Cassandra® or DataStax Enterprise cluster. //include::partial$lightbox-tip.adoc[] @@ -24,7 +25,8 @@ image::{imagesprefix}migration-phase5ra.png[Phase 5 diagram shows apps no longer == Configuring your driver to connect to a generic CQL cluster -If your Target is a generic CQL cluster (such as Apache Cassandra or DataStax Enterprise), you can connect your client application to it in a similar way as you previously connected it to Origin, but with the appropriate contact points and any additional configuration that your Target may require. For further information, please refer to the documentation of the driver language and version that you are using. +If your Target is a generic CQL cluster (such as Apache Cassandra or DataStax Enterprise), you can connect your client application to it in a similar way as you previously connected it to Origin, but with the appropriate contact points and any additional configuration that your Target may require. +For further information, please refer to the documentation of the driver language and version that you are using. == Configuring your driver to connect to Astra DB @@ -40,7 +42,8 @@ To connect to your Astra DB cluster, you will need: include::partial$tip-scb.adoc[] -You will also need to check whether the driver used by your client application has native support for the xref:glossary.adoc#_secure_connect_bundle_scb[Astra DB Secure Connect Bundle]. To do so, please refer to the documentation for your driver language and version, +You will also need to check whether the driver used by your client application has native support for the xref:glossary.adoc#_secure_connect_bundle_scb[Astra DB Secure Connect Bundle]. +To do so, please refer to the documentation for your driver language and version, and check the per-language https://docs.datastax.com/en/driver-matrix/docs/version-compatibility.html[driver compatibility matrix] for details (look for the support status in the **Astra / Cloud** column for your driver version). // The SCB support was made available beginning the following versions in the drivers: @@ -73,7 +76,8 @@ Recalling the xref:connect-clients-to-proxy.adoc#_connecting_company_drivers_to_ [source] ---- // Create an object to represent a Cassandra cluster -// Note: there is no need to specify contact points when connecting to Astra DB. All connection information is implicitly passed in the SCB +// Note: there is no need to specify contact points when connecting to Astra DB. +// All connection information is implicitly passed in the SCB Cluster my_cluster = Cluster.build_new_cluster(username="my_AstraDB_client_ID", password="my_AstraDB_client_secret", secure_connect_bundle="/path/to/scb.zip") // Connect our Cluster object to our Cassandra cluster, returning a Session @@ -93,7 +97,8 @@ my_cluster.close() print(release_version) ---- -As noted before, this pseudocode is just a guideline to illustrate the changes that are needed. For the specific syntax that applies to your driver, please refer to the documentation for your driver language and version: +As noted before, this pseudocode is just a guideline to illustrate the changes that are needed. +For the specific syntax that applies to your driver, please refer to the documentation for your driver language and version: * https://docs.datastax.com/en/astra-serverless/docs/connect/drivers/connect-cplusplus.html[C++ driver]. @@ -105,19 +110,23 @@ As noted before, this pseudocode is just a guideline to illustrate the changes t * https://docs.datastax.com/en/astra-serverless/docs/connect/drivers/connect-python.html[Python driver]. -That's it! Your client application is now able to connect directly to your Astra DB cluster. +That's it! +Your client application is now able to connect directly to your Astra DB cluster. === Drivers without support for the Secure Connect Bundle It is possible to configure older or community-contributed drivers to connect to Astra DB even if they lack built-in SCB support. -To do so, you will need to extract the files from the SCB and use them to enable Mutual TLS in the configuration of your driver. Please see https://docs.datastax.com/en/astra-serverless/docs/connect/drivers/legacy-drivers.html[here] for detailed instructions for each driver. +To do so, you will need to extract the files from the SCB and use them to enable Mutual TLS in the configuration of your driver. +Please see https://docs.datastax.com/en/astra-serverless/docs/connect/drivers/legacy-drivers.html[here] for detailed instructions for each driver. Alternatively, you could also consider using https://www.datastax.com/blog/easily-connect-apache-cassandra-workloads-to-datastaxs-serverless-dbaas-with-our-cql-proxy[CQL Proxy], which is an open-source lightweight proxy that abstracts away all Astra-specific connection configuration from your client application. === A word on the cloud-native drivers -Now that your client application is running on Astra DB, you can take advantage of many additional features and APIs that Astra DB offers such as gRPC, GraphQL, Document REST APIs and many more. To access these features, you may wish to consider moving to a cloud-native driver. This can be done at any time, as part of the future development and evolution of your client application. +Now that your client application is running on Astra DB, you can take advantage of many additional features and APIs that Astra DB offers such as gRPC, GraphQL, Document REST APIs and many more. +To access these features, you may wish to consider moving to a cloud-native driver. +This can be done at any time, as part of the future development and evolution of your client application. Here are the cloud-native drivers currently available: @@ -126,4 +135,5 @@ Here are the cloud-native drivers currently available: == Phase 5 of migration completed -Until this point, in case of any issues, you could have abandoned the migration and rolled back to connect directly to Origin at any time. From this point onward, the clusters will diverge, and Target is the source of truth for your client applications and data. +Until this point, in case of any issues, you could have abandoned the migration and rolled back to connect directly to Origin at any time. +From this point onward, the clusters will diverge, and Target is the source of truth for your client applications and data. \ No newline at end of file diff --git a/modules/ROOT/pages/glossary.adoc b/modules/ROOT/pages/glossary.adoc index 1fab4b46..e6daa6b8 100644 --- a/modules/ROOT/pages/glossary.adoc +++ b/modules/ROOT/pages/glossary.adoc @@ -60,6 +60,7 @@ If you set the proxy's read mode configuration variable (`read_mode`) to `DUAL_A For more, see <>. Also see xref:enable-async-dual-reads.adoc[]. +[[_secure_connect_bundle_scb]] == Secure Connect Bundle (SCB) A ZIP file generated in https://astra.datastax.com[Astra Portal] that contains connection metadata and TLS encryption certificates (but not the database credentials) for your {astra_db} database. For details, see https://docs.datastax.com/en/astra-serverless/docs/connect/secure-connect-bundle.html[Working with the Secure Connect Bundle]. diff --git a/modules/ROOT/pages/manage-proxy-instances.adoc b/modules/ROOT/pages/manage-proxy-instances.adoc index 0480210f..ddc55978 100644 --- a/modules/ROOT/pages/manage-proxy-instances.adoc +++ b/modules/ROOT/pages/manage-proxy-instances.adoc @@ -68,6 +68,7 @@ See xref:deploy-proxy-monitoring.adoc#_indications_of_success_on_origin_and_targ To confirm that the {zdm-proxy} instances are operating normally, or investigate any issue, you can view or collect their logs. +[[_view_the_logs]] === View the logs The {zdm-proxy} runs as a Docker container on each proxy host. @@ -80,6 +81,7 @@ docker container logs zdm-proxy-container To leave the logs open and continuously output the latest log messages, append the `--follow` (or `-f`) option to the command above. +[[_collect_the_logs]] === Collect the logs You can easily retrieve the logs of all {zdm-proxy} instances using a dedicated playbook (`collect_zdm_proxy_logs.yml`). diff --git a/modules/ROOT/pages/troubleshooting-scenarios.adoc b/modules/ROOT/pages/troubleshooting-scenarios.adoc index e16963b9..4ddc07ba 100644 --- a/modules/ROOT/pages/troubleshooting-scenarios.adoc +++ b/modules/ROOT/pages/troubleshooting-scenarios.adoc @@ -3,7 +3,8 @@ ifdef::env-github,env-browser,env-vscode[:imagesprefix: ../images/] ifndef::env-github,env-browser,env-vscode[:imagesprefix: ] -Refer the following troubleshooting scenarios for information about resolving common migration issues. Each section presents: +Refer the following troubleshooting scenarios for information about resolving common migration issues. +Each section presents: * Symptoms * Cause @@ -17,13 +18,17 @@ You changed the values of some configuration variables in the automation and the === Cause -The {zdm-proxy} configuration comprises a number of variables, but only a subset of these can be changed on an existing deployment in a rolling fashion. The variables that can be changed with a rolling update are listed xref:manage-proxy-instances.adoc#change-mutable-config-variable[here]. +The {zdm-proxy} configuration comprises a number of variables, but only a subset of these can be changed on an existing deployment in a rolling fashion. +The variables that can be changed with a rolling update are listed xref:manage-proxy-instances.adoc#change-mutable-config-variable[here]. -All other configuration variables excluded from the list above are considered immutable and can only be changed by a redeployment. This is by design: immutable configuration variables should not be changed after finalizing the deployment prior to starting the migration, so allowing them to be changed through a rolling update would risk accidentally propagating some misconfiguration that could compromise the deployment's integrity. +All other configuration variables excluded from the list above are considered immutable and can only be changed by a redeployment. +This is by design: immutable configuration variables should not be changed after finalizing the deployment prior to starting the migration, so allowing them to be changed through a rolling update would risk accidentally propagating some misconfiguration that could compromise the deployment's integrity. === Solution or Workaround -To change the value of configuration variables that are considered immutable, simply run the `deploy_zdm_proxy.yml` playbook again. This playbook can be run as many times as necessary and will just recreate the entire {zdm-proxy} deployment from scratch with the provided configuration. Please note that this does not happen in a rolling fashion: the existing {zdm-proxy} instances will be torn down all at the same time prior to being recreated, resulting in a brief window in which the whole {zdm-proxy} deployment will become unavailable. +To change the value of configuration variables that are considered immutable, simply run the `deploy_zdm_proxy.yml` playbook again. +This playbook can be run as many times as necessary and will just recreate the entire {zdm-proxy} deployment from scratch with the provided configuration. +Please note that this does not happen in a rolling fashion: the existing {zdm-proxy} instances will be torn down all at the same time prior to being recreated, resulting in a brief window in which the whole {zdm-proxy} deployment will become unavailable. == Unsupported protocol version error on the client application @@ -53,11 +58,11 @@ https://datastax-oss.atlassian.net/browse/JAVA-2905[JAVA-2905] is a driver bug t If you are using spring boot and/or spring-data-cassandra then an upgrade of these dependencies will be necessary to a version that has the java driver fix. -Alternatively, you can force the protocol version on the driver to the max supported version by both clusters. V4 is a good recommendation that usually fits all but if the user is migrating from DSE to DSE then DSE_V1 should be used for DSE 5.x and DSE_V2 should be used for DSE 6.x. - -To force the protocol version on the Java driver, check this section of the https://docs.datastax.com/en/developer/java-driver/3.11/manual/native_protocol/#controlling-the-protocol-version[driver manual, window="_blank"]. We don't believe this issue affects Java driver 3.x, but here are the https://docs.datastax.com/en/developer/java-driver/3.11/manual/native_protocol/#controlling-the-protocol-version[instructions, window="_blank"] on how to force the version on 3.x, if necessary. - +Alternatively, you can force the protocol version on the driver to the max supported version by both clusters. +V4 is a good recommendation that usually fits all but if the user is migrating from DSE to DSE then DSE_V1 should be used for DSE 5.x and DSE_V2 should be used for DSE 6.x. +To force the protocol version on the Java driver, check this section of the https://docs.datastax.com/en/developer/java-driver/3.11/manual/native_protocol/#controlling-the-protocol-version[driver manual, window="_blank"]. +We don't believe this issue affects Java driver 3.x, but here are the https://docs.datastax.com/en/developer/java-driver/3.11/manual/native_protocol/#controlling-the-protocol-version[instructions, window="_blank"] on how to force the version on 3.x, if necessary. == Protocol errors in the proxy logs but clients can connect successfully @@ -74,9 +79,11 @@ msg=Invalid or unsupported protocol version (5)).\"\n","stream":"stderr","time": === Cause -Protocol errors like these are a normal part of the handshake process where the protocol version is being negotiated. These protocol version downgrades happen when either the {zdm-proxy} or at least one of the clusters doesn't support the version requested by the client. +Protocol errors like these are a normal part of the handshake process where the protocol version is being negotiated. +These protocol version downgrades happen when either the {zdm-proxy} or at least one of the clusters doesn't support the version requested by the client. -V5 downgrades are enforced by the {zdm-proxy} but any other downgrade is requested by one of the clusters when they don't support the version that the client requested. The proxy supports V3, V4, DSE_V1 and DSE_V2. +V5 downgrades are enforced by the {zdm-proxy} but any other downgrade is requested by one of the clusters when they don't support the version that the client requested. +The proxy supports V3, V4, DSE_V1 and DSE_V2. //// ZDM-71 tracks a request to support v2. @@ -86,9 +93,9 @@ ZDM-71 tracks a request to support v2. These log messages are informative only (log level `DEBUG`). -If you find one of these messages with a higher log level (especially `level=error`) then there might be a bug. At that point the issue will need to be investigated by the ZDM team. This log message with a log level of `ERROR` means that the protocol error occurred after the handshake, and this is a fatal unexpected error that results in a disconnect for that particular connection. - - +If you find one of these messages with a higher log level (especially `level=error`) then there might be a bug. +At that point the issue will need to be investigated by the ZDM team. +This log message with a log level of `ERROR` means that the protocol error occurred after the handshake, and this is a fatal unexpected error that results in a disconnect for that particular connection. == Error during proxy startup: `Invalid or unsupported protocol version: 3` @@ -126,7 +133,9 @@ time="2022-10-01T19:58:15+01:00" level=error msg="Couldn't start proxy, retrying === Cause -The control connections of the {zdm-proxy} don't perform protocol version negotiation, they only attempt to use protocol version 3. If one of the origin clusters doesn't support at least V3 (e.g. Cassandra 2.0, DSE 4.6), then ZDM cannot be used for that migration at the moment. We plan to introduce support for Cassandra 2.0 and DSE 4.6 very soon. +The control connections of the {zdm-proxy} don't perform protocol version negotiation, they only attempt to use protocol version 3. +If one of the origin clusters doesn't support at least V3 (e.g. Cassandra 2.0, DSE 4.6), then ZDM cannot be used for that migration at the moment. +We plan to introduce support for Cassandra 2.0 and DSE 4.6 very soon. === Solution or Workaround @@ -157,15 +166,18 @@ This error means that at least one of these three sets of credentials is incorre === Solution or Workaround -If the authentication error is preventing the proxy from starting then it's either the Origin or Target credentials that are incorrect or have insufficient permissions. The log message shows whether it is the Target or Origin handshake that is failing. +If the authentication error is preventing the proxy from starting then it's either the Origin or Target credentials that are incorrect or have insufficient permissions. +The log message shows whether it is the Target or Origin handshake that is failing. If the proxy is able to start up -- that is, this message can be seen in the logs: `Proxy started. Waiting for SIGINT/SIGTERM to shutdown.` -then the authentication error is happening when a client application tries to open a connection to the proxy. In this case, the issue is with the Client credentials so the application itself is using invalid credentials (incorrect username/password or insufficient permissions). +then the authentication error is happening when a client application tries to open a connection to the proxy. +In this case, the issue is with the Client credentials so the application itself is using invalid credentials (incorrect username/password or insufficient permissions). -Note that the proxy startup message has log level `INFO` so if the configured log level on the proxy is `warning` or `error`, you will have to rely on other ways to know whether the {zdm-proxy} started correctly. You can check if the docker container is running (or process if docker isn't being used) or if there is a log message similar to `Error launching proxy`. +Note that the proxy startup message has log level `INFO` so if the configured log level on the proxy is `warning` or `error`, you will have to rely on other ways to know whether the {zdm-proxy} started correctly. +You can check if the docker container is running (or process if docker isn't being used) or if there is a log message similar to `Error launching proxy`. == The {zdm-proxy} listens on a custom port, and all applications are able to connect to one proxy instance only @@ -186,7 +198,8 @@ For example, using the Java driver, if the {zdm-proxy} instances were listening `.addContactPoints("172.18.10.36:14035", "172.18.11.48:14035", "172.18.12.61:14035")` -The contact point is used as the first point of contact to the cluster, but the driver discovers the rest of the nodes via CQL queries. However, this discovery process doesn't discover the ports, just the addresses so the driver uses the addresses it discovers with the port that is configured at startup. +The contact point is used as the first point of contact to the cluster, but the driver discovers the rest of the nodes via CQL queries. +However, this discovery process doesn't discover the ports, just the addresses so the driver uses the addresses it discovers with the port that is configured at startup. As a result, port 14035 will only be used for the contact point initially discovered, while for all other nodes the driver will attempt to use the default 9042 port. @@ -201,7 +214,7 @@ In the application, ensure that the custom port is explicitly indicated using th ---- -== Syntax error " no viable alternative at input 'CALL' " in proxy logs +== Syntax error "no viable alternative at input 'CALL'" in proxy logs === Symptoms @@ -216,13 +229,16 @@ at input 'CALL' ([CALL]...))\"\n","stream":"stderr","time":"2022-07-20T13:10:47. === Cause -The log message indicates that the server doesn't recognize the word “CALL” in the query string which most likely means that it is a RPC (remote procedure call). From the proxy logs alone, it is not possible to see what method is being called by the query but it's very likely the RPC that the drivers use to send DSE Insights data to the server. +The log message indicates that the server doesn't recognize the word “CALL” in the query string which most likely means that it is an RPC (remote procedure call). +From the proxy logs alone, it is not possible to see what method is being called by the query but it's very likely the RPC that the drivers use to send DSE Insights data to the server. -Most {company} drivers have DSE Insights reporting enabled by default when they detect a server version that supports it (regardless of whether the feature is enabled on the server side or not). The driver might also have it enabled for Astra DB depending on what server version Astra DB is returning for queries involving the `system.local` and `system.peers` tables. +Most {company} drivers have DSE Insights reporting enabled by default when they detect a server version that supports it (regardless of whether the feature is enabled on the server side or not). +The driver might also have it enabled for Astra DB depending on what server version Astra DB is returning for queries involving the `system.local` and `system.peers` tables. === Solution or Workaround -These log messages are harmless but if your need to get rid of them, you can disable the DSE Insights driver feature through the driver configuration. Refer to https://github.com/datastax/java-driver/blob/65d2c19c401175dcc6c370560dd5f783d05b05b9/core/src/main/resources/reference.conf#L1328[this property, window="_blank"] for Java driver 4.x. +These log messages are harmless but if your need to get rid of them, you can disable the DSE Insights driver feature through the driver configuration. +Refer to https://github.com/datastax/java-driver/blob/65d2c19c401175dcc6c370560dd5f783d05b05b9/core/src/main/resources/reference.conf#L1328[this property, window="_blank"] for Java driver 4.x. @@ -238,9 +254,8 @@ The {zdm-automation} specifies a custom set of credentials instead of relying on === Solution or Workaround -Check the credentials that are being used by looking up the `vars/zdm_monitoring_config.yml` file on the {zdm-automation} directory. These credentials can also be modified before deploying the metrics stack. - - +Check the credentials that are being used by looking up the `vars/zdm_monitoring_config.yml` file on the {zdm-automation} directory. +These credentials can also be modified before deploying the metrics stack. == Proxy starts but client cannot connect (connection timeout/closed) @@ -282,8 +297,7 @@ ERRO[0076] Client Handler could not be created: ORIGIN-CONNECTOR context timed o The control connection (during {zdm-proxy} startup) cycles through the nodes until it finds one that can be connected to. For client connections, each proxy instance cycles through its "assigned nodes" only. -_(The "assigned nodes" are a different subset of the cluster nodes for each proxy instance, -generally non-overlapping between proxy instances so as to avoid any interference with the load balancing already in place at client-side driver level. +_(The "assigned nodes" are a different subset of the cluster nodes for each proxy instance, generally non-overlapping between proxy instances so as to avoid any interference with the load balancing already in place at client-side driver level. The assigned nodes are not necessarily contact points: even discovered nodes undergo assignment to proxy instances.)_ In the example above, the {zdm-proxy} doesn't have connectivity to 10.0.63.20, which was chosen as the origin node for the incoming client connection, but it was able to connect to 10.0.63.163 during startup. @@ -312,8 +326,6 @@ Restart the client application to force an immediate reconnect. If you expect {zdm-proxy} instances to go down frequently, change the reconnection policy on the driver so that the interval between reconnection attempts has a shorter limit. - - == Error with Astra DevOps API when using the {zdm-automation} === Symptoms @@ -333,8 +345,8 @@ The Astra DevOps API is likely temporarily unavailable. === Solution or Workaround -Download the Astra DB Secure Connect Bundle (SCB) manually and provide its path to the {zdm-automation} as explained xref:deploy-proxy-monitoring.adoc#_core_configuration[here]. For information about the SCB, see https://docs.datastax.com/en/astra-serverless/docs/connect/secure-connect-bundle.html[working with Secure Connect Bundle, window="_blank"]. - +Download the Astra DB Secure Connect Bundle (SCB) manually and provide its path to the {zdm-automation} as explained xref:deploy-proxy-monitoring.adoc#_core_configuration[here]. +For information about the SCB, see https://docs.datastax.com/en/astra-serverless/docs/connect/secure-connect-bundle.html[working with Secure Connect Bundle, window="_blank"]. == Metadata service (Astra) returned not successful status code 4xx or 5xx @@ -361,9 +373,8 @@ Start by opening Astra Portal and checking the `Status` of your database. If it is `Hibernated`, click the “Resume” button and wait for it to become `Active`. If it is `Active` already, then it is likely an issue with permissions. -We recommend starting with a token that has the Database Administrator role in Astra DB to confirm that it is a permissions issue. Refer to https://docs.datastax.com/en/astra-serverless/docs/manage/org/manage-permissions.html[Manage user permissions, window="_blank"]. - - +We recommend starting with a token that has the Database Administrator role in Astra DB to confirm that it is a permissions issue. +Refer to https://docs.datastax.com/en/astra/astra-db-vector/administration/manage-database-access.html[Manage user permissions, window="_blank"]. == Async read timeouts / stream id map exhausted @@ -382,19 +393,22 @@ Dual reads are enabled and the following messages are found in the {zdm-proxy} l === Cause -The last log message is logged when the async connection runs out of stream ids. The async connection is a connection dedicated to the async reads (asynchronous dual reads feature). This can be caused by timeouts (first log message) or the connection not being able to keep up with the load. +The last log message is logged when the async connection runs out of stream ids. +The async connection is a connection dedicated to the async reads (asynchronous dual reads feature). +This can be caused by timeouts (first log message) or the connection not being able to keep up with the load. -If the log files are being spammed with these messages then it is likely that an outage occurred which caused all responses to arrive after requests timed out (second log message). In this case the async connection might not be able to recover. +If the log files are being spammed with these messages then it is likely that an outage occurred which caused all responses to arrive after requests timed out (second log message). +In this case the async connection might not be able to recover. === Solution or Workaround Keep in mind that any errors in the async request path (dual reads) will not affect the client application so these log messages might be useful to predict what may happen when the reads are switched over to the TARGET cluster but async read errors/warnings by themselves do not cause any impact to the client. -Starting in version 2.1.0, you can now tune the maximum number of stream ids available per connection, which by default is 2048. You can increase it to match your driver configuration through the xref:manage-proxy-instances.adoc#zdm_proxy_max_stream_ids[zdm_proxy_max_stream_ids] property. - -If these errors are being constantly written to the log files (for minutes or even hours) then it is likely that only an application OR {zdm-proxy} restart will fix it. If you find an issue like this please submit an https://github.com/datastax/zdm-proxy/issues[Issue, window="_blank"] in our GitHub repo. - +Starting in version 2.1.0, you can now tune the maximum number of stream ids available per connection, which by default is 2048. +You can increase it to match your driver configuration through the xref:manage-proxy-instances.adoc#zdm_proxy_max_stream_ids[zdm_proxy_max_stream_ids] property. +If these errors are being constantly written to the log files (for minutes or even hours) then it is likely that only an application OR {zdm-proxy} restart will fix it. +If you find an issue like this please submit an https://github.com/datastax/zdm-proxy/issues[Issue, window="_blank"] in our GitHub repo. == Client application closed connection errors every 10 minutes when migrating to Astra DB @@ -403,7 +417,6 @@ If these errors are being constantly written to the log files (for minutes or ev This issue is fixed in {zdm-proxy} 2.1.0. See the Fix section below. ==== - === Symptoms Every 10 minutes a message is logged in the {zdm-proxy} logs showing a disconnect that was caused by Astra DB. @@ -415,7 +428,8 @@ Every 10 minutes a message is logged in the {zdm-proxy} logs showing a disconnec === Cause -Astra DB terminates idle connections after 10 minutes of inactivity. If a client application is only sending reads through a connection then the Target (i.e. Astra in this case) connection will not get any traffic because ZDM forwards all reads to the Origin connection. +Astra DB terminates idle connections after 10 minutes of inactivity. +If a client application is only sending reads through a connection then the Target (i.e. Astra in this case) connection will not get any traffic because ZDM forwards all reads to the Origin connection. === Solution or Workaround @@ -438,23 +452,26 @@ The results of these tests show latency/throughput values are worse with ZDM tha === Cause -ZDM will always add additional latency which, depending on the nature of the test, will also result in a lower throughput. Whether this performance hit is expected or not depends on the difference between the ZDM test results and the test results with the cluster that performed the worst. +ZDM will always add additional latency which, depending on the nature of the test, will also result in a lower throughput. +Whether this performance hit is expected or not depends on the difference between the ZDM test results and the test results with the cluster that performed the worst. -Writes in ZDM require an `ACK` from both clusters while reads only require the result from the Origin cluster (or target if the proxy is set up to route reads to the target cluster). This means that if Origin has better performance than Target then ZDM will inevitably have a worse performance for writes. +Writes in ZDM require an `ACK` from both clusters while reads only require the result from the Origin cluster (or target if the proxy is set up to route reads to the target cluster). +This means that if Origin has better performance than Target then ZDM will inevitably have a worse performance for writes. From our testing benchmarks, a performance degradation of up to 2x latency is not unheard of even without external factors adding more latency, but it is still worth checking some things that might add additional latency like whether the proxy is deployed on the same Availability Zone (AZ) as the Origin cluster or application instances. -Simple statements and batch statements are things that will make the proxy add additional latency compared to normal prepared statements. Simple statements should be discouraged especially with the zdm-proxy because currently the proxy takes a considerable amount of time just parsing the queries and with prepared statements the proxy only has to parse them once. +Simple statements and batch statements are things that will make the proxy add additional latency compared to normal prepared statements. +Simple statements should be discouraged especially with the {zdm-proxy} because currently the proxy takes a considerable amount of time just parsing the queries and with prepared statements the proxy only has to parse them once. === Solution or Workaround If you are using simple statements, consider using prepared statements as the best first step. -Increasing the number of proxies might help, but only if the VMs resources (CPU, RAM or network IO) are near capacity. The {zdm-proxy} doesn't use a lot of RAM, but it uses a lot of CPU and network IO. +Increasing the number of proxies might help, but only if the VMs resources (CPU, RAM or network IO) are near capacity. +The {zdm-proxy} doesn't use a lot of RAM, but it uses a lot of CPU and network IO. Deploying the proxy instances on VMs with faster CPUs and faster network IO might help, but only your own tests will reveal whether it helps, because it depends on the workload type and details about your environment such as network/VPC configurations, hardware, and so on. - == `InsightsRpc` related permissions errors === Symptoms @@ -469,7 +486,8 @@ time="2023-05-05T19:14:31Z" level=debug msg="Recording TARGET-CONNECTOR other er === Cause -This could be the case if the origin (DSE) cluster has Metrics Collector enabled to report metrics for {company} drivers and `my_user` does not have the required permissions. {zdm-proxy} simply passes through these. +This could be the case if the origin (DSE) cluster has Metrics Collector enabled to report metrics for {company} drivers and `my_user` does not have the required permissions. +{zdm-proxy} simply passes through these. === Solution or Workaround @@ -482,4 +500,4 @@ There are two options to get this fixed. ==== Option 2: Use this option if disabling metrics collector is not an option -* Using a superuser role, grant the appropriate permissions to `my_user` role by running `GRANT EXECUTE ON REMOTE OBJECT InsightsRpc TO my_user;` +* Using a superuser role, grant the appropriate permissions to `my_user` role by running `GRANT EXECUTE ON REMOTE OBJECT InsightsRpc TO my_user;` \ No newline at end of file diff --git a/modules/ROOT/pages/troubleshooting-tips.adoc b/modules/ROOT/pages/troubleshooting-tips.adoc index 74afd5ab..e85793df 100644 --- a/modules/ROOT/pages/troubleshooting-tips.adoc +++ b/modules/ROOT/pages/troubleshooting-tips.adoc @@ -11,8 +11,7 @@ Depending on how you deployed {zdm-proxy}, there may be different ways to access the logs. If you used the {zdm-automation}, see xref:manage-proxy-instances.adoc#_view_the_logs[View the logs] for a quick way to view the logs of a single proxy instance. -Follow the instructions on xref:manage-proxy-instances.adoc#_collect_the_logs[Collect the logs], -instead, for a playbook that systematically retrieves all logs by all instances and packages them in a zip archive for later inspection. +Follow the instructions on xref:manage-proxy-instances.adoc#_collect_the_logs[Collect the logs] for a playbook that systematically retrieves all logs by all instances and packages them in a zip archive for later inspection. If you did not use the {zdm-automation}, you might have to access the logs differently. If Docker is used, enter the following command to export the logs of a container to a file: @@ -31,7 +30,9 @@ Keep in mind that docker logs are deleted if the container is recreated. Make sure that the log level of the {zdm-proxy} is set to the appropriate value: -* If you deployed the {zdm-proxy} through the {zdm-automation}, the log level is determined by the variable `log_level` in `vars/zdm_proxy_core_config.yml`. This value can be changed in a rolling fashion by editing this variable and running the playbook `rolling_update_zdm_proxy.yml`. For more information, see xref:manage-proxy-instances.adoc#change-mutable-config-variable[Change a mutable configuration variable]. +* If you deployed the {zdm-proxy} through the {zdm-automation}, the log level is determined by the variable `log_level` in `vars/zdm_proxy_core_config.yml`. +This value can be changed in a rolling fashion by editing this variable and running the playbook `rolling_update_zdm_proxy.yml`. +For more information, see xref:manage-proxy-instances.adoc#change-mutable-config-variable[Change a mutable configuration variable]. * If you did not use the {zdm-automation} to deploy the {zdm-proxy}, change the environment variable `ZDM_LOG_LEVEL` on each proxy instance and restart it. @@ -39,7 +40,8 @@ Here are the most common messages you'll find in the proxy logs: === {zdm-proxy} startup message -Assuming the Log Level is not filtering out `INFO` entries, you can look for the following type of log message in order to verify that the {zdm-proxy} is starting up correctly. Example: +Assuming the Log Level is not filtering out `INFO` entries, you can look for the following type of log message in order to verify that the {zdm-proxy} is starting up correctly. +Example: [source,json] ---- @@ -50,7 +52,10 @@ msg=\"Proxy started. Waiting for SIGINT/SIGTERM to shutdown. === {zdm-proxy} configuration -The first few lines of the {zdm-proxy} log file contains all the configuration variables and values. They are printed in a long JSON string format. You can copy/paste the string into a JSON formatter/viewer to make it easier to read. Example log message: +The first few lines of the {zdm-proxy} log file contains all the configuration variables and values. +They are printed in a long JSON string format. +You can copy/paste the string into a JSON formatter/viewer to make it easier to read. +Example log message: [source,json] ---- @@ -60,7 +65,9 @@ msg=\"Parsed configuration: {\\\"ProxyIndex\\\":1,\\\"ProxyAddresses\\\":"...", ","stream":"stderr","time":"2023-01-13T11:50:48.339225051Z"} ---- -Seeing the configuration settings is useful while troubleshooting issues. However, remember to check the log level variable to ensure you're viewing the intended types of messages. Setting the log level setting to `DEBUG` might cause a slight performance degradation. +Seeing the configuration settings is useful while troubleshooting issues. +However, remember to check the log level variable to ensure you're viewing the intended types of messages. +Setting the log level setting to `DEBUG` might cause a slight performance degradation. === Be aware of current log level @@ -72,7 +79,8 @@ When you find a log message that looks like an error, the most important thing i * Log messages with `level=warn` are usually related to events that are not fatal to the overall running workload, but may cause issues with individual requests or connections. -* In general, log messages with `level=error` or `level=warn` should be brought to the attention of DataStax, if the meaning is not clear. In the {zdm-proxy} GitHub repo, submit a https://github.com/datastax/zdm-proxy/issues[GitHub Issue] to ask questions about log messages of type `error` or `warn` that are unclear. +* In general, log messages with `level=error` or `level=warn` should be brought to the attention of DataStax, if the meaning is not clear. +In the {zdm-proxy} GitHub repo, submit a https://github.com/datastax/zdm-proxy/issues[GitHub Issue] to ask questions about log messages of type `error` or `warn` that are unclear. === Protocol log messages @@ -86,8 +94,11 @@ to the client to force a downgrade: PROTOCOL (code=Code Protocol [0x0000000A], msg=Invalid or unsupported protocol version (5)).\"\n","stream":"stderr","time":"2023-01-13T12:02:12.379287735Z"} ---- -There are cases where protocol errors are fatal so they will kill an active connection that was being used to serve requests. However, if you find a log message similar to the example above with log level `debug`, then it's likely not an issue. Instead, it's more likely an expected part of the handshake process during the connection initialization; that is, the normal protocol version negotiation. +There are cases where protocol errors are fatal so they will kill an active connection that was being used to serve requests. +However, if you find a log message similar to the example above with log level `debug`, then it's likely not an issue. +Instead, it's more likely an expected part of the handshake process during the connection initialization; that is, the normal protocol version negotiation. +[[_how_to_identify_the_zdm_proxy_version]] == How to identify the {zdm-proxy} version In the {zdm-proxy} logs, the first message contains the version string (just before the message that shows the configuration): @@ -99,7 +110,8 @@ time="2023-01-13T13:37:28+01:00" level=info msg="Starting ZDM proxy version 2.1. time="2023-01-13T13:37:28+01:00" level=info msg="Parsed configuration: {removed for simplicity}" ---- -You can also provide a `-version` command line parameter to the {zdm-proxy} and it will only print the version. Example: +You can also provide a `-version` command line parameter to the {zdm-proxy} and it will only print the version. +Example: [source,bash] ---- @@ -119,22 +131,31 @@ See xref:metrics.adoc[]. == Reporting an issue -If you encounter a problem during your migration, please contact us. In the {zdm-proxy} GitHub repo, submit a https://github.com/datastax/zdm-proxy/issues[GitHub Issue]. Only to the extent that the issue's description does not contain **your proprietary or private** information, please include the following: +If you encounter a problem during your migration, please contact us. +In the {zdm-proxy} GitHub repo, submit a https://github.com/datastax/zdm-proxy/issues[GitHub Issue]. +Only to the extent that the issue's description does not contain **your proprietary or private** information, please include the following: * {zdm-proxy} version (see xref:_how_to_identify_the_zdm_proxy_version[here]). * {zdm-proxy} logs: ideally at `debug` level if you can reproduce the issue easily and can tolerate a restart of the proxy instances to apply the configuration change. * Version of database software on the Origin and Target clusters (relevant for DSE and Apache Cassandra deployments only). * If Astra DB is being used, please let us know in the issue description. -* Screenshots of the {zdm-proxy} metrics dashboards from Grafana or whatever visualization tool you use. If you can provide a way for us to access those metrics directly that would be even better. +* Screenshots of the {zdm-proxy} metrics dashboards from Grafana or whatever visualization tool you use. +If you can provide a way for us to access those metrics directly that would be even better. * Application/Driver logs. * Driver and version that the client application is using. === Reporting a performance issue -If the issue is related to performance, troubleshooting can be more complicated and dynamic. Because of this we request additional information to be provided which usually comes down to the answers to a few questions (in addition to the information from the prior section): +If the issue is related to performance, troubleshooting can be more complicated and dynamic. +Because of this we request additional information to be provided which usually comes down to the answers to a few questions (in addition to the information from the prior section): * Which statement types are being used: simple, prepared, batch? -* If batch statements are being used, which driver API is being used to create these batches? Are you passing a `BEGIN BATCH` cql query string to a simple/prepared statement? Or are you using the actual batch statement objects that drivers allow you to create? +* If batch statements are being used, which driver API is being used to create these batches? +Are you passing a `BEGIN BATCH` cql query string to a simple/prepared statement? +Or are you using the actual batch statement objects that drivers allow you to create? * How many parameters does each statement have? -* Is CQL function replacement enabled? You can see if this feature is enabled by looking at the value of the Ansible advanced configuration variable `replace_cql_functions` if using the automation, or the environment variable `ZDM_REPLACE_CQL_FUNCTIONS` otherwise. CQL function replacement is disabled by default. -* If permissible within your security rules, please provide us access to the {zdm-proxy} metrics dashboard. Screenshots are fine but for performance issues it is more helpful to have access to the actual dashboard so the team can use all the data from these metrics in the troubleshooting process. \ No newline at end of file +* Is CQL function replacement enabled? +You can see if this feature is enabled by looking at the value of the Ansible advanced configuration variable `replace_cql_functions` if using the automation, or the environment variable `ZDM_REPLACE_CQL_FUNCTIONS` otherwise. +CQL function replacement is disabled by default. +* If permissible within your security rules, please provide us access to the {zdm-proxy} metrics dashboard. +Screenshots are fine but for performance issues it is more helpful to have access to the actual dashboard so the team can use all the data from these metrics in the troubleshooting process. \ No newline at end of file diff --git a/modules/ROOT/pages/troubleshooting.adoc b/modules/ROOT/pages/troubleshooting.adoc index 44125ca6..2619e225 100644 --- a/modules/ROOT/pages/troubleshooting.adoc +++ b/modules/ROOT/pages/troubleshooting.adoc @@ -17,5 +17,6 @@ If you still have questions, please submit a GitHub Issue in the relevant public * https://github.com/datastax/cassandra-data-migrator/issues[{cstar-data-migrator}]. * https://github.com/datastax/dsbulk-migrator/issues[{dsbulk-migrator}]. -You may also contact your {company} account representative, or our https://support.datastax.com/s/[Support team] if you have a DataStax Luna service contract. https://www.datastax.com/products/luna[Luna] is a subscription to the Apache Cassandra support and expertise at DataStax. +You may also contact your {company} account representative, or our https://support.datastax.com/s/[Support team] if you have a DataStax Luna service contract. +https://www.datastax.com/products/luna[Luna] is a subscription to the Apache Cassandra support and expertise at DataStax. ==== From 6f290c5247bc67e0dc348f829cea5ef36ea409cc Mon Sep 17 00:00:00 2001 From: Emelia Wilkinson Date: Thu, 21 Mar 2024 11:12:13 -0400 Subject: [PATCH 15/17] final readthrough edits. Glossary, contribution guidelines, and release notes are complete --- modules/ROOT/pages/contributions.adoc | 19 +++++--- .../ROOT/pages/deploy-proxy-monitoring.adoc | 1 + .../ROOT/pages/deployment-infrastructure.adoc | 1 + .../ROOT/pages/feasibility-checklists.adoc | 1 + modules/ROOT/pages/glossary.adoc | 48 ++++++++++++++----- modules/ROOT/pages/metrics.adoc | 1 + modules/ROOT/pages/release-notes.adoc | 47 +++++++++++------- .../ROOT/pages/troubleshooting-scenarios.adoc | 3 +- 8 files changed, 84 insertions(+), 37 deletions(-) diff --git a/modules/ROOT/pages/contributions.adoc b/modules/ROOT/pages/contributions.adoc index 36e39b1b..256685c9 100644 --- a/modules/ROOT/pages/contributions.adoc +++ b/modules/ROOT/pages/contributions.adoc @@ -7,7 +7,8 @@ ifndef::env-github,env-browser,env-vscode[:imagesprefix: ] The {zdm-proxy} is open source software (OSS). We welcome contributions from the developer community via Pull Requests on a fork, for evaluation by the ZDM team. -The code sources for additional {zdm-product} components -- including {zdm-utility}, {zdm-automation}, {cstar-data-migrator}, and {dsbulk-migrator} -- are available in public GitHub repos, where you may submit feedback and ideas via GitHub Issues. Code contributions for those additional components are not open for PRs at this time. +The code sources for additional {zdm-product} components -- including {zdm-utility}, {zdm-automation}, {cstar-data-migrator}, and {dsbulk-migrator} -- are available in public GitHub repos, where you may submit feedback and ideas via GitHub Issues. +Code contributions for those additional components are not open for PRs at this time. == {zdm-proxy} License @@ -15,7 +16,8 @@ The code sources for additional {zdm-product} components -- including {zdm-utili == Contributor License Agreement -Acceptance of the {company} https://cla.datastax.com/[Contributor License Agreement, window="_blank"] (CLA) is required before we can consider accepting your {zdm-proxy} code contribution. Refer to the https://cla.datastax.com/[CLA terms, window="_blank"] and, if you agree, indicate your acceptance on each Pull Request (PR) that you submit while using the https://github.com/datastax/zdm-proxy[{zdm-proxy} GitHub repository, window="_blank"]. +Acceptance of the {company} https://cla.datastax.com/[Contributor License Agreement, window="_blank"] (CLA) is required before we can consider accepting your {zdm-proxy} code contribution. +Refer to the https://cla.datastax.com/[CLA terms, window="_blank"] and, if you agree, indicate your acceptance on each Pull Request (PR) that you submit while using the https://github.com/datastax/zdm-proxy[{zdm-proxy} GitHub repository, window="_blank"]. // You will see the CLA listed on the standard pull request checklist (TBS) // for the https://github.com/datastax/zdm-proxy[{zdm-proxy}] repository. @@ -28,15 +30,20 @@ The overall procedure: . Fork the repo by clicking the Fork button in the GitHub UI. . Make your changes locally on your fork. Git commit and push only to your fork. . Wait for CI to run successfully in GitHub Actions before submitting a PR. -. Submit a Pull Request (PR) with your forked updates. As noted above, be sure to indicate in the PR's Comments your acceptance (if you agree) with the {company} https://cla.datastax.com/[Contributor License Agreement] (CLA). +. Submit a Pull Request (PR) with your forked updates. +As noted above, be sure to indicate in the PR's Comments your acceptance (if you agree) with the {company} https://cla.datastax.com/[Contributor License Agreement] (CLA). . If you're not yet ready for a review, add "WIP" to the PR name to indicate it's a work in progress. -. Wait for the automated PR workflow to do some checks. Members of the {zdm-proxy} community will review your PR and decide whether to approve and merge it. +. Wait for the automated PR workflow to do some checks. +Members of the {zdm-proxy} community will review your PR and decide whether to approve and merge it. -In addition to potential {zdm-proxy} OSS code contribution, we encourage you to submit feedback and ideas via GitHub Issues in the repo, starting from https://github.com/datastax/zdm-proxy/issues. Add a label to help categorize the issue, such as the complexity level, component name, and other labels you'll find in the repo's Issues display. +In addition to potential {zdm-proxy} OSS code contribution, we encourage you to submit feedback and ideas via GitHub Issues in the repo, starting from https://github.com/datastax/zdm-proxy/issues. +Add a label to help categorize the issue, such as the complexity level, component name, and other labels you'll find in the repo's Issues display. == Submitting GitHub Issues in related public repos -The following {company} {zdm-product} GitHub repos are public. You are welcome to read the source and submit feedback and ideas via GitHub Issues per repo. In addition to the https://github.com/datastax/zdm-proxy[{zdm-proxy}] open-source repo, refer to: +The following {company} {zdm-product} GitHub repos are public. +You are welcome to read the source and submit feedback and ideas via GitHub Issues per repo. +In addition to the https://github.com/datastax/zdm-proxy[{zdm-proxy}] open-source repo, refer to: * https://github.com/datastax/zdm-proxy-automation/issues[{zdm-automation}] repo for Ansible-based {zdm-automation} and {zdm-utility}. diff --git a/modules/ROOT/pages/deploy-proxy-monitoring.adoc b/modules/ROOT/pages/deploy-proxy-monitoring.adoc index e60b4213..015727c8 100644 --- a/modules/ROOT/pages/deploy-proxy-monitoring.adoc +++ b/modules/ROOT/pages/deploy-proxy-monitoring.adoc @@ -35,6 +35,7 @@ Now, `cd` into `zdm-proxy-automation/ansible` and `ls`. Example: image::{imagesprefix}zdm-ansible-container-ls3.png[Contents of the Ansible Control Host container] +[[_configure_the_zdm_proxy]] == Configure the {zdm-proxy} The {zdm-proxy} configuration is composed of four files: diff --git a/modules/ROOT/pages/deployment-infrastructure.adoc b/modules/ROOT/pages/deployment-infrastructure.adoc index bfba67bd..1fe66ffc 100644 --- a/modules/ROOT/pages/deployment-infrastructure.adoc +++ b/modules/ROOT/pages/deployment-infrastructure.adoc @@ -24,6 +24,7 @@ image::{imagesprefix}zdm-during-migration3.png[Connectivity between client appli To deploy the {zdm-proxy} and its companion monitoring stack, you will have to provision infrastructure that meets the following requirements. +[[_machines]] === Machines We will use the term "machine" to indicate a cloud instance (on any cloud provider), a VM, or a physical server. diff --git a/modules/ROOT/pages/feasibility-checklists.adoc b/modules/ROOT/pages/feasibility-checklists.adoc index 1b3e75dc..808f4bb6 100644 --- a/modules/ROOT/pages/feasibility-checklists.adoc +++ b/modules/ROOT/pages/feasibility-checklists.adoc @@ -62,6 +62,7 @@ If you need to make changes to the application or data model to ensure that your It is also highly recommended to perform tests and benchmarks when connected directly to Astra DB prior to the migration, so that you don't find unexpected issues during the migration process. +[[_read_only_applications]] === Read-only applications Read-only applications require special handling only if you are using {zdm-proxy} versions older than 2.1.0. diff --git a/modules/ROOT/pages/glossary.adoc b/modules/ROOT/pages/glossary.adoc index e6daa6b8..02913f42 100644 --- a/modules/ROOT/pages/glossary.adoc +++ b/modules/ROOT/pages/glossary.adoc @@ -5,25 +5,32 @@ ifndef::env-github,env-browser,env-vscode[:imagesprefix: ] Here are a few terms used throughout the {company} {zdm-product} documentation and code. +[[_ansible_playbooks]] == Ansible playbooks -A repeatable, re-usable, simple configuration management and multi-machine deployment system, one that is well suited to deploying complex applications. For details about the playbooks available in {zdm-automation}, see: +A repeatable, re-usable, simple configuration management and multi-machine deployment system, one that is well suited to deploying complex applications. +For details about the playbooks available in {zdm-automation}, see: * xref:setup-ansible-playbooks.adoc[]. * xref:deploy-proxy-monitoring.adoc[]. +[[_asynchronous_dual_reads]] == Asynchronous dual reads -An optional testing phase in which reads are sent to both Origin and Target, enabling you to check that the intended Target of your migration can handle the full workload of reads and writes before finalizing the migration and moving off the {zdm-proxy} instances. For details, see xref:enable-async-dual-reads.adoc[]. +An optional testing phase in which reads are sent to both Origin and Target, enabling you to check that the intended Target of your migration can handle the full workload of reads and writes before finalizing the migration and moving off the {zdm-proxy} instances. +For details, see xref:enable-async-dual-reads.adoc[]. == CQL -Cassandra Query Language (CQL) is a query language for the Cassandra database. It includes DDL and DML statements. For details, see the https://docs.datastax.com/en/dse/6.8/cql/cql/cqlQuickReference.html[CQL quick reference]. - +Cassandra Query Language (CQL) is a query language for the Cassandra database. +It includes DDL and DML statements. +For details, see https://docs.datastax.com/en/astra/astra-db-vector/cql/develop-with-cql.html[Develop with the Cassandra Query Language]. == Dual-write logic -{zdm-proxy} handles your client application's real-time write requests and forwards them to two Cassandra-based clusters (Origin and Target) simultaneously. The dual-write logic in {zdm-proxy} means that you do not need to modify your client application to perform dual writes manually during a migration: {zdm-proxy} takes care of it for you. See the diagram in the xref:introduction.adoc#migration-workflow[workflow introduction]. +{zdm-proxy} handles your client application's real-time write requests and forwards them to two Cassandra-based clusters (Origin and Target) simultaneously. +The dual-write logic in {zdm-proxy} means that you do not need to modify your client application to perform dual writes manually during a migration: {zdm-proxy} takes care of it for you. +See the diagram in the xref:introduction.adoc#migration-workflow[workflow introduction]. [[origin]] == Origin @@ -33,7 +40,10 @@ Your existing Cassandra-based cluster, whether it's open-source Apache Cassandra [[_primary_cluster]] == Primary cluster -The cluster that is currently considered the "primary" source of truth. While writes are always sent to both clusters, the primary cluster is the one to which all synchronous reads are always sent, and their results are returned to the client application. During a migration, Origin is typically the primary cluster. Near the end of the migration, you'll shift the primary cluster to be Target. +The cluster that is currently considered the "primary" source of truth. +While writes are always sent to both clusters, the primary cluster is the one to which all synchronous reads are always sent, and their results are returned to the client application. +During a migration, Origin is typically the primary cluster. +Near the end of the migration, you'll shift the primary cluster to be Target. For more, see <>. @@ -43,27 +53,35 @@ See xref:glossary.adoc#_ansible_playbooks[Ansible playbooks]. == Proxy -Generally speaking, a proxy is a software class functioning as an interface to something else. The proxy could interface to anything: a network connection, a large object in memory, a file, or some other resource. A proxy is a wrapper or agent object that is being called by the client to access the real serving object behind the scenes. In our context here, see <>. +Generally speaking, a proxy is a software class functioning as an interface to something else. +The proxy could interface to anything: a network connection, a large object in memory, a file, or some other resource. +A proxy is a wrapper or agent object that is being called by the client to access the real serving object behind the scenes. +In our context here, see <>. == Read mirroring -See xref:glossary.adoc#_asynchronous_dual_reads[async dual reads]. +See xref:glossary.adoc#_asynchronous_dual_reads[Asynchronous dual reads]. [[secondary-cluster]] == Secondary cluster During a migration, the secondary cluster is the one that is currently **not** the source of truth. -When using the {zdm-proxy}, all writes are synchronously sent to both Origin and Target. Reads operate differently: with the default read mode, reads are only sent to the primary cluster (Origin by default). In Phase 3 of a migration, you may (optionally) want to temporarily send the reads to both clusters, to make sure that Target can handle the full workload of reads and writes. +When using the {zdm-proxy}, all writes are synchronously sent to both Origin and Target. +Reads operate differently: with the default read mode, reads are only sent to the primary cluster (Origin by default). +In Phase 3 of a migration, you may (optionally) want to temporarily send the reads to both clusters, to make sure that Target can handle the full workload of reads and writes. -If you set the proxy's read mode configuration variable (`read_mode`) to `DUAL_ASYNC_ON_SECONDARY`, then asynchronous dual reads are enabled. That change results in reads being additionally sent to the secondary cluster. +If you set the proxy's read mode configuration variable (`read_mode`) to `DUAL_ASYNC_ON_SECONDARY`, then asynchronous dual reads are enabled. +That change results in reads being additionally sent to the secondary cluster. -For more, see <>. Also see xref:enable-async-dual-reads.adoc[]. +For more, see xref:glossary.adoc#_primary_cluster[Primary cluster]. +Also see xref:enable-async-dual-reads.adoc[]. [[_secure_connect_bundle_scb]] == Secure Connect Bundle (SCB) -A ZIP file generated in https://astra.datastax.com[Astra Portal] that contains connection metadata and TLS encryption certificates (but not the database credentials) for your {astra_db} database. For details, see https://docs.datastax.com/en/astra-serverless/docs/connect/secure-connect-bundle.html[Working with the Secure Connect Bundle]. +A ZIP file generated in https://astra.datastax.com[Astra Portal] that contains connection metadata and TLS encryption certificates (but not the database credentials) for your {astra_db} database. +For details, see https://docs.datastax.com/en/astra-serverless/docs/connect/secure-connect-bundle.html[Working with the Secure Connect Bundle]. [[target]] == Target @@ -72,7 +90,11 @@ The new cluster to which you want to migrate client applications and data with z [[zdm-automation]] == {zdm-automation} -An Ansible-based tool that allows you to deploy and manage the {zdm-proxy} instances and associated monitoring stack. To simplify its setup, the suite includes the {zdm-utility}. This interactive utility creates a Docker container acting as the Ansible Control Host. The Ansible playbooks constitute the {zdm-automation}. + +An Ansible-based tool that allows you to deploy and manage the {zdm-proxy} instances and associated monitoring stack. +To simplify its setup, the suite includes the {zdm-utility}. +This interactive utility creates a Docker container acting as the Ansible Control Host. +The Ansible playbooks constitute the {zdm-automation}. [[zdm-proxy]] == ZDM Proxy diff --git a/modules/ROOT/pages/metrics.adoc b/modules/ROOT/pages/metrics.adoc index 97783885..6a06da29 100644 --- a/modules/ROOT/pages/metrics.adoc +++ b/modules/ROOT/pages/metrics.adoc @@ -66,6 +66,7 @@ The label that contains data depends on which cluster is currently considered th To see error metrics by error type, see the node-level error metrics on the next section. +[[_node_level_metrics]] === Node-level metrics * Latency: metrics on this bucket are not split by request type like the proxy level latency metrics so writes and reads are mixed together: diff --git a/modules/ROOT/pages/release-notes.adoc b/modules/ROOT/pages/release-notes.adoc index 904fd73b..2e5c9a83 100644 --- a/modules/ROOT/pages/release-notes.adoc +++ b/modules/ROOT/pages/release-notes.adoc @@ -8,7 +8,8 @@ ifndef::env-github,env-browser,env-vscode[:imagesprefix: ] **03 February 2023** -Released {zdm-automation} 2.3.0, which enables ansible scripts and terraform to work with both Ubuntu and RedHat-family Linux distributions. Documentation updates included the following in the xref:deployment-infrastructure.adoc#_machines[Machines] section of the Deployment and infrastructure considerations topic: +Released {zdm-automation} 2.3.0, which enables ansible scripts and terraform to work with both Ubuntu and RedHat-family Linux distributions. +Documentation updates included the following in the xref:deployment-infrastructure.adoc#_machines[Machines] section of the Deployment and infrastructure considerations topic: "Ubuntu Linux 20.04 or newer, RedHat Family Linux 7 or newer" @@ -16,20 +17,25 @@ Released {zdm-automation} 2.3.0, which enables ansible scripts and terraform to **31 January 2023** -Starting in version 2.2.0 of the {zdm-automation}, we added the `zdm_proxy_cluster_config.yml` file to contain all the configuration variables for Origin and Target. Prior to version 2.2.0, the variables were in the `zdm_proxy_core_config.yml` file. +Starting in version 2.2.0 of the {zdm-automation}, we added the `zdm_proxy_cluster_config.yml` file to contain all the configuration variables for Origin and Target. +Prior to version 2.2.0, the variables were in the `zdm_proxy_core_config.yml` file. [TIP] ==== -This change is backward compatible. If you previously populated the variables in `zdm_proxy_core_config.yml`, these variables will be honored and take precedence over any variables in `zdm_proxy_cluster_config.yml`, if both files are present. +This change is backward compatible. +If you previously populated the variables in `zdm_proxy_core_config.yml`, these variables will be honored and take precedence over any variables in `zdm_proxy_cluster_config.yml`, if both files are present. ==== -We encourage existing 2.x ZDM users to upgrade to the 2.3.0 version of {zdm-automation}. To do so, simply `git pull` the `main` branch of https://github.com/datastax/zdm-proxy-automation from within the Ansible Control Host container. You can also check out a https://github.com/datastax/zdm-proxy-automation/releases/tag/v2.3.0[specific tag], such as 2.3.0. +We encourage existing 2.x ZDM users to upgrade to the 2.3.0 version of {zdm-automation}. +To do so, simply `git pull` the `main` branch of https://github.com/datastax/zdm-proxy-automation from within the Ansible Control Host container. +You can also check out a https://github.com/datastax/zdm-proxy-automation/releases/tag/v2.3.0[specific tag], such as 2.3.0. For more about the YML files used to configure access to your clusters, see xref:deploy-proxy-monitoring.adoc#_configure_the_zdm_proxy[this topic]. [NOTE] ==== -The latest {zdm-proxy} version is still 2.1.0. The latest {zdm-automation} version is 2.3.0. +The latest {zdm-proxy} version is 2.1.0. +The latest {zdm-automation} version is 2.3.1. ==== If you are using a {zdm-automation} version up to and including 2.1.0, please use `zdm_proxy_core_config.yml` to configure access to your clusters. @@ -42,7 +48,8 @@ The ZDM 2.1.0 release adds {zdm-proxy} heartbeat functionality and provides seve The periodic heartbeat feature in 2.1.0 has been implemented to keep alive idle cluster connections. -By default, {zdm-proxy} now sends heartbeats after 30 seconds of inactivity on a cluster connection. You can tune the heartbeat interval with the Ansible configuration variable `heartbeat_insterval_ms`, or by directly setting the `ZDM_HEARTBEAT_INTERVAL_MS` environment variable if you do not use the {zdm-automation}. +By default, {zdm-proxy} now sends heartbeats after 30 seconds of inactivity on a cluster connection. +You can tune the heartbeat interval with the Ansible configuration variable `heartbeat_insterval_ms`, or by directly setting the `ZDM_HEARTBEAT_INTERVAL_MS` environment variable if you do not use the {zdm-automation}. DataStax strongly recommends that you use version 2.1.0 (or newer) to benefit from this improvement, especially if you have a read-only workload. @@ -62,13 +69,17 @@ For the latest information about {zdm-proxy} new features and other changes, ple The following topics have been updated for the 2.1.0 release: -* xref:feasibility-checklists.adoc#_read_only_applications[Feasibility checks for read-only applications, window="_blank"]. See the notes indicating that this issue is solved by the {zdm-proxy} 2.1.0 release. +* xref:feasibility-checklists.adoc#_read_only_applications[Feasibility checks for read-only applications, window="_blank"]. +See the notes indicating that this issue is solved by the {zdm-proxy} 2.1.0 release. -* xref:manage-proxy-instances.adoc#change-mutable-config-variable[Change a mutable configuration variable, window="_blank"]. See the `heartbeat_interval_ms` and `zdm-proxy_max_stream_ids` information. +* xref:manage-proxy-instances.adoc#change-mutable-config-variable[Change a mutable configuration variable, window="_blank"]. +See the `heartbeat_interval_ms` and `zdm-proxy_max_stream_ids` information. -* xref:troubleshooting-scenarios.adoc#_async_read_timeouts_stream_id_map_exhausted[Async read timeouts, window="_blank"]. See the clarification in the *Workaround* section indicating that this issue is solved by the {zdm-proxy} 2.1.0 release. +* xref:troubleshooting-scenarios.adoc#_async_read_timeouts_stream_id_map_exhausted[Async read timeouts, window="_blank"]. +See the clarification in the *Workaround* section indicating that this issue is solved by the {zdm-proxy} 2.1.0 release. -* xref:troubleshooting-tips.adoc#_node_level_metrics[Node-level metrics, window="_blank"]. See the "Number of Used Stream Ids" section. +* xref:metrics.adoc#_node_level_metrics[Node-level metrics, window="_blank"]. +See the "Number of Used Stream Ids" section. == ZDM 2.0.0 release @@ -79,9 +90,11 @@ The following topics have been updated for the 2.1.0 release: This 2.0.0 version marks the public release of the self-service {company} {zdm-product} product suite. -The following GitHub repos are public. You are welcome to read the source and submit feedback via GitHub Issues per repo. +The following GitHub repos are public. +You are welcome to read the source and submit feedback via GitHub Issues per repo. -* https://github.com/datastax/zdm-proxy[{zdm-proxy}] open-source repo: in addition to sending feedback, you may submit Pull Requests (PRs) for potential inclusion, provided you accept the https://cla.datastax.com/[{company} Contributor License Agreement (CLA)]. For more information, see xref:contributions.adoc[]. +* https://github.com/datastax/zdm-proxy[{zdm-proxy}] open-source repo: in addition to sending feedback, you may submit Pull Requests (PRs) for potential inclusion, provided you accept the https://cla.datastax.com/[{company} Contributor License Agreement (CLA)]. +For more information, see xref:contributions.adoc[]. * https://github.com/datastax/zdm-proxy-automation[{zdm-automation}] repo for Ansible-based {zdm-proxy} automation. @@ -91,17 +104,19 @@ The following GitHub repos are public. You are welcome to read the source and su include::partial$note-downtime.adoc[] -For the latest information about {zdm-proxy} new features and other changes, please refer to the GitHub-hosted https://github.com/datastax/zdm-proxy/blob/main/RELEASE_NOTES.md[RELEASE_NOTES] in the open-source {zdm-proxy} repo. The document includes CHANGELOG links for each {zdm-proxy} `N.n` release. +For the latest information about {zdm-proxy} new features and other changes, please refer to the GitHub-hosted https://github.com/datastax/zdm-proxy/blob/main/RELEASE_NOTES.md[RELEASE_NOTES] in the open-source {zdm-proxy} repo. +The document includes CHANGELOG links for each {zdm-proxy} `N.n` release. -==== [TIP] -The {zdm-product} process requires you to be able to perform rolling restarts of your client applications during the migration. This is standard practice for client applications that are deployed over multiple instances and is a widely used approach to roll out releases and configuration changes. +==== +The {zdm-product} process requires you to be able to perform rolling restarts of your client applications during the migration. +This is standard practice for client applications that are deployed over multiple instances and is a widely used approach to roll out releases and configuration changes. ==== === ZDM 2.0.0 documentation updates -Starting with the 2.0.0 version on 18-Oct-2022, the {zdm-product} documentation set is available online, starting https://docs.datastax.com/en/astra-serverless/docs/migrate/introduction.html[here]. +Starting with the 2.0.0 version on 18-Oct-2022, the {zdm-product} documentation set is available online, starting xref:introduction.adoc[here]. == Supported releases diff --git a/modules/ROOT/pages/troubleshooting-scenarios.adoc b/modules/ROOT/pages/troubleshooting-scenarios.adoc index 4ddc07ba..85af535f 100644 --- a/modules/ROOT/pages/troubleshooting-scenarios.adoc +++ b/modules/ROOT/pages/troubleshooting-scenarios.adoc @@ -306,8 +306,6 @@ In the example above, the {zdm-proxy} doesn't have connectivity to 10.0.63.20, w Ensure that network connectivity exists and is stable between the {zdm-proxy} instances and all Cassandra / DSE nodes of the local datacenter. - - == Client application driver takes too long to reconnect to a proxy instance === Symptoms @@ -376,6 +374,7 @@ If it is `Active` already, then it is likely an issue with permissions. We recommend starting with a token that has the Database Administrator role in Astra DB to confirm that it is a permissions issue. Refer to https://docs.datastax.com/en/astra/astra-db-vector/administration/manage-database-access.html[Manage user permissions, window="_blank"]. +[[_async_read_timeouts_stream_id_map_exhausted]] == Async read timeouts / stream id map exhausted === Symptoms From 448e9ece3af66979056af0b4db32e44c46a79ca5 Mon Sep 17 00:00:00 2001 From: Emelia Wilkinson Date: Thu, 21 Mar 2024 11:33:09 -0400 Subject: [PATCH 16/17] fixed local-preview-playbook.adoc --- local-preview-playbook.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/local-preview-playbook.yml b/local-preview-playbook.yml index 0e8de8f1..fcbf1e63 100644 --- a/local-preview-playbook.yml +++ b/local-preview-playbook.yml @@ -7,7 +7,7 @@ git: site: title: DataStax Docs - start_page: zero-downtime-migration::introduction.adoc + start_page: data-migration::index.adoc robots: disallow content: From a313e942b3632f7c2a6ee2d306357235bb1e96f3 Mon Sep 17 00:00:00 2001 From: Emelia Wilkinson Date: Tue, 26 Mar 2024 09:58:37 -0400 Subject: [PATCH 17/17] moved faqs between troubleshooting and glossary --- modules/ROOT/nav.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/ROOT/nav.adoc b/modules/ROOT/nav.adoc index e43c2f94..f6cb01fd 100644 --- a/modules/ROOT/nav.adoc +++ b/modules/ROOT/nav.adoc @@ -1,7 +1,6 @@ .{product} * xref:introduction.adoc[] * xref:components.adoc[] -* xref:faqs.adoc[] * xref:preliminary-steps.adoc[] ** xref:feasibility-checklists.adoc[] ** xref:deployment-infrastructure.adoc[] @@ -29,6 +28,7 @@ ** xref:troubleshooting.adoc[] ** xref:troubleshooting-tips.adoc[] ** xref:troubleshooting-scenarios.adoc[] +* xref:faqs.adoc[] * xref:glossary.adoc[] * xref:contributions.adoc[] -* xref:release-notes.adoc[] +* xref:release-notes.adoc[] \ No newline at end of file
  2. f})Y)G=Jb>FzqO-Jo% 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