Skip to content

v8.5.7: update BR gcp_v2 storage (#23122)#23133

Open
ti-chi-bot wants to merge 1 commit into
pingcap:release-8.5from
ti-chi-bot:cherry-pick-23122-to-release-8.5
Open

v8.5.7: update BR gcp_v2 storage (#23122)#23133
ti-chi-bot wants to merge 1 commit into
pingcap:release-8.5from
ti-chi-bot:cherry-pick-23122-to-release-8.5

Conversation

@ti-chi-bot

Copy link
Copy Markdown
Member

This is an automated cherry-pick of #23122

First-time contributors' checklist

What is changed, added or deleted? (Required)

Which TiDB version(s) do your changes apply to? (Required)

Tips for choosing the affected version(s):

By default, CHOOSE MASTER ONLY so your changes will be applied to the next TiDB major or minor releases. If your PR involves a product feature behavior change or a compatibility change, CHOOSE THE AFFECTED RELEASE BRANCH(ES) AND MASTER.

For details, see tips for choosing the affected versions (in Chinese).

  • master (the latest development version)
  • v9.0 (TiDB 9.0 versions)
  • v8.5 (TiDB 8.5 versions)
  • v8.1 (TiDB 8.1 versions)
  • v7.5 (TiDB 7.5 versions)
  • v7.1 (TiDB 7.1 versions)
  • v6.5 (TiDB 6.5 versions)
  • v6.1 (TiDB 6.1 versions)
  • v5.4 (TiDB 5.4 versions)

What is the related PR or file link(s)?

Do your changes match any of the following descriptions?

  • Delete files
  • Change aliases
  • Need modification after applied to another branch
  • Might cause conflicts after applied to another branch

@ti-chi-bot ti-chi-bot added lgtm size/M Denotes a PR that changes 30-99 lines, ignoring generated files. type/cherry-pick-for-release-8.5 This PR is cherry-picked to release-8.5 from a source PR. type/compatibility-or-feature-change This PR involves compatibility changes or feature behavior changes. labels Jun 24, 2026
@ti-chi-bot ti-chi-bot mentioned this pull request Jun 24, 2026
14 tasks
@ti-chi-bot

ti-chi-bot Bot commented Jun 24, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign overvenus for approval. For more information see the Code Review Process.
Please ensure that each of them provides their approval before proceeding.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@lilin90 lilin90 changed the title master: update BR gcp_v2 storage (#23122) v8.5.7: update BR gcp_v2 storage (#23122) Jun 24, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request updates the documentation for Google Cloud Storage (GCS) and Google Cloud KMS to cover the new gcp_v2 external storage backend introduced in TiKV v8.5.7. It details how to configure gcp_v2 for backups, restores, and encryption at rest, including support for Workload Identity Federation (WIF) and Application Default Credentials (ADC). The review feedback focuses on improving readability and adherence to the style guide by suggesting the use of active voice, addressing the reader directly in the second person ("you"), and eliminating unnecessary words.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.


> **Note:**
>
> The GCS JSON credentials explicitly passed to `gcp_v2` support only the `service_account` and `external_account` types. If you are using the `authorized_user` JSON generated by ADC and need TiKV to access GCS directly, it is recommended to set `--send-credentials-to-tikv=false` and configure ADC on each TiKV node. Otherwise, BR might send the `authorized_user` JSON to TiKV as an explicit credential, but `gcp_v2` does not accept this type of explicit JSON.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

low

Avoid passive voice and impersonal phrasing. Address the user directly in the second person ("you") to make the instructions clearer and more actionable.

Suggested change
> The GCS JSON credentials explicitly passed to `gcp_v2` support only the `service_account` and `external_account` types. If you are using the `authorized_user` JSON generated by ADC and need TiKV to access GCS directly, it is recommended to set `--send-credentials-to-tikv=false` and configure ADC on each TiKV node. Otherwise, BR might send the `authorized_user` JSON to TiKV as an explicit credential, but `gcp_v2` does not accept this type of explicit JSON.
> The GCS JSON credentials that you explicitly pass to `gcp_v2` support only the `service_account` and `external_account` types. If you are using the `authorized_user` JSON generated by ADC and need TiKV to access GCS directly, you should set `--send-credentials-to-tikv=false` and configure ADC on each TiKV node. Otherwise, BR might send the `authorized_user` JSON to TiKV as an explicit credential, but `gcp_v2` does not accept this type of explicit JSON.
References
  1. Write in second person ('you') when addressing users and avoid passive voice. (link)


> **Tip:**
>
> After `gcp_v2` is enabled, if GCS JSON credentials are not explicitly provided on the TiKV side, TiKV uses the Google Default Credentials flow. Therefore, when using ADC and setting `--send-credentials-to-tikv=false`, make sure that each TiKV node itself has a usable Google credentials environment.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

low

Avoid passive voice by rewriting the sentence to use active voice and addressing the user directly.

Suggested change
> After `gcp_v2` is enabled, if GCS JSON credentials are not explicitly provided on the TiKV side, TiKV uses the Google Default Credentials flow. Therefore, when using ADC and setting `--send-credentials-to-tikv=false`, make sure that each TiKV node itself has a usable Google credentials environment.
> After you enable `gcp_v2`, if you do not explicitly provide GCS JSON credentials on the TiKV side, TiKV uses the Google Default Credentials flow. Therefore, when using ADC and setting `--send-credentials-to-tikv=false`, make sure that each TiKV node itself has a usable Google credentials environment.
References
  1. Avoid passive voice and write in second person ('you') when addressing users. (link)

Comment thread encryption-at-rest.md

- `key-id` specifies the key ID of the KMS CMK.
- `credential-file-path` specifies the path of the authentication credentials file, which currently supports two types of credentials: Service Account and Authentication User. If the TiKV environment is already configured with [application default credentials](https://cloud.google.com/docs/authentication/application-default-credentials), there is no need to configure `credential-file-path`.
- When `vendor = "gcp"`, `credential-file-path` specifies the path of the verification credentials file, which currently supports two types of credentials: Service Account and Authentication User. If the TiKV operating environment is already configured with [application default credentials](https://cloud.google.com/docs/authentication/application-default-credentials), there is no need to configure `credential-file-path`.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

low

Avoid passive voice and impersonal phrasing. Use active voice and address the user directly in the second person ("you").

Suggested change
- When `vendor = "gcp"`, `credential-file-path` specifies the path of the verification credentials file, which currently supports two types of credentials: Service Account and Authentication User. If the TiKV operating environment is already configured with [application default credentials](https://cloud.google.com/docs/authentication/application-default-credentials), there is no need to configure `credential-file-path`.
- When `vendor = "gcp"`, `credential-file-path` specifies the path of the verification credentials file, which currently supports two types of credentials: Service Account and Authentication User. If the TiKV operating environment already has [application default credentials](https://cloud.google.com/docs/authentication/application-default-credentials), you do not need to configure `credential-file-path`.
References
  1. Avoid passive voice and write in second person ('you') when addressing users. (link)

Comment thread encryption-at-rest.md
```

- When `vendor = "gcp_v2"`, explicit credentials support only Service Account and `external_account`.
- If you are using an `authorized_user` JSON generated by ADC, you cannot directly configure that JSON as `credential-file-path`. In this case, omit `credential-file-path` and let TiKV obtain authentication information through [application default credentials](https://cloud.google.com/docs/authentication/application-default-credentials) in the operating environment.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

low

Improve clarity and conciseness by using active voice and refining the phrasing.

Suggested change
- If you are using an `authorized_user` JSON generated by ADC, you cannot directly configure that JSON as `credential-file-path`. In this case, omit `credential-file-path` and let TiKV obtain authentication information through [application default credentials](https://cloud.google.com/docs/authentication/application-default-credentials) in the operating environment.
- If you are using an `authorized_user` JSON file generated by ADC, you cannot directly configure that JSON file as `credential-file-path`. In this case, omit `credential-file-path` to let TiKV obtain the authentication information using [application default credentials](https://cloud.google.com/docs/authentication/application-default-credentials) in the operating environment.
References
  1. Avoid unnecessary words and prefer active voice. (link)

Comment thread encryption-at-rest.md

- When `vendor = "gcp_v2"`, explicit credentials support only Service Account and `external_account`.
- If you are using an `authorized_user` JSON generated by ADC, you cannot directly configure that JSON as `credential-file-path`. In this case, omit `credential-file-path` and let TiKV obtain authentication information through [application default credentials](https://cloud.google.com/docs/authentication/application-default-credentials) in the operating environment.
- The old `vendor = "gcp"` does not support using `external_account` as explicit credentials, so WIF cannot be used in this way.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

low

Avoid passive voice ("cannot be used") by using active voice with the second person ("you").

Suggested change
- The old `vendor = "gcp"` does not support using `external_account` as explicit credentials, so WIF cannot be used in this way.
- The old `vendor = "gcp"` does not support using `external_account` as explicit credentials, so you cannot use WIF in this way.
References
  1. Avoid passive voice and write in second person ('you') when addressing users. (link)


### `gcp-v2-enable` <span class="version-mark">New in v8.5.7</span>

+ Whether to enable the `gcp_v2` external storage backend when using Google Cloud Storage (GCS) to execute full backup or restore.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

low

Address the user directly in the second person ("you") to make the description more active and natural.

Suggested change
+ Whether to enable the `gcp_v2` external storage backend when using Google Cloud Storage (GCS) to execute full backup or restore.
+ Whether to enable the `gcp_v2` external storage backend when you use Google Cloud Storage (GCS) to perform a full backup or restore.
References
  1. Write in second person ('you') when addressing users. (link)


+ Whether to enable the `gcp_v2` external storage backend when using Google Cloud Storage (GCS) to execute full backup or restore.
+ Default value: `true`
+ When this configuration item is `true`, TiKV uses the `gcp_v2` implementation to access GCS; when this configuration item is `false`, TiKV continues to use the old GCS implementation.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

low

Simplify the sentence to make it more concise and easier to read.

Suggested change
+ When this configuration item is `true`, TiKV uses the `gcp_v2` implementation to access GCS; when this configuration item is `false`, TiKV continues to use the old GCS implementation.
+ If this configuration item is `true`, TiKV uses the `gcp_v2` implementation to access GCS; when it is `false`, TiKV continues to use the old GCS implementation.
References
  1. Avoid unnecessary words and repetition. (link)


### `gcp-v2-enable` <span class="version-mark">New in v8.5.7</span>

+ Whether to enable the `gcp_v2` external storage backend when using Google Cloud Storage (GCS) for log backup.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

low

Address the user directly in the second person ("you") to make the description more active and natural.

Suggested change
+ Whether to enable the `gcp_v2` external storage backend when using Google Cloud Storage (GCS) for log backup.
+ Whether to enable the `gcp_v2` external storage backend when you use Google Cloud Storage (GCS) for log backup.
References
  1. Write in second person ('you') when addressing users. (link)


+ Whether to enable the `gcp_v2` external storage backend when using Google Cloud Storage (GCS) for log backup.
+ Default value: `true`
+ When this configuration item is `true`, TiKV uses the `gcp_v2` implementation to access GCS; when this configuration item is `false`, TiKV continues to use the old GCS implementation.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

low

Simplify the sentence to make it more concise and easier to read.

Suggested change
+ When this configuration item is `true`, TiKV uses the `gcp_v2` implementation to access GCS; when this configuration item is `false`, TiKV continues to use the old GCS implementation.
+ If this configuration item is `true`, TiKV uses the `gcp_v2` implementation to access GCS; when it is `false`, TiKV continues to use the old GCS implementation.
References
  1. Avoid unnecessary words and repetition. (link)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm size/M Denotes a PR that changes 30-99 lines, ignoring generated files. type/cherry-pick-for-release-8.5 This PR is cherry-picked to release-8.5 from a source PR. type/compatibility-or-feature-change This PR involves compatibility changes or feature behavior changes.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants