Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

remove legacy Spanner admin interfaces when deprecation period expires #7356

Open
devbww opened this issue Sep 24, 2021 · 2 comments
Open

remove legacy Spanner admin interfaces when deprecation period expires #7356

devbww opened this issue Sep 24, 2021 · 2 comments
Labels
api: spanner Issues related to the Spanner API. next major: breaking change this is a change that we should wait to bundle into the next major version type: cleanup An internal cleanup or hygiene concern.

Comments

@devbww
Copy link
Contributor

devbww commented Sep 24, 2021

As of 2021-10-01 the hand-wrought

  • google::cloud::spanner::InstanceAdminConnection, and
  • google::cloud::spanner::DatabaseAdminConnection

connection classes, along with the overloaded functions

  • google::cloud::spanner::MakeInstanceAdminConnection(), and
  • google::cloud::spanner::MakeDatabaseAdminConnection()

that build them, and the

  • google::cloud::spanner::InstanceAdminClient
  • google::cloud::spanner::DatabaseAdminClient

client classes, were all deprecated in favor of their similarly named counterparts in the google::cloud::spanner_admin namespace from the https://github.com/googleapis/google-cloud-cpp/tree/main/google/cloud/spanner/admin source tree.

The new interfaces were generated directly from the Spanner admin service definitions in https://github.com/googleapis/googleapis/tree/master/google/spanner/admin by the https://github.com/googleapis/google-cloud-cpp/tree/main/generator. As such, they are at a slightly lower level, dealing only with protobuf types, but the basic elements remain the same.

The old interfaces are now frozen and will be removed from the code base on or shortly after 2022-10-01, so customers will need to migrate any affected code before then.

Deprecation attributes have been added to those old APIs to aid in their identification, while the sample code in https://github.com/googleapis/google-cloud-cpp/blob/main/google/cloud/spanner/samples/samples.cc has been updated to use the new APIs. See the diffs between the old and new samples in #7311 for a more concise picture of how to perform migrations.

@devbww devbww added type: cleanup An internal cleanup or hygiene concern. api: spanner Issues related to the Spanner API. labels Sep 24, 2021
devbww added a commit to devbww/google-cloud-cpp that referenced this issue Sep 24, 2021
Start the one-year deprecation clock on the legacy, hand-written Spanner
admin interfaces.

Also bump the `disable_deprecation_warnings.inc` include-ordering priority.
In general, it needs to appear before any other inclusions.

See googleapis#7356.
devbww added a commit that referenced this issue Sep 25, 2021
Start the one-year deprecation clock on the legacy, hand-written Spanner
admin interfaces.

Also bump the `disable_deprecation_warnings.inc` include-ordering priority.
In general, it needs to appear before any other inclusions.

See #7356.
@devbww
Copy link
Contributor Author

devbww commented Sep 28, 2021

And don't forget to re-partition the Spanner test instances, using the "restore-database-partition" label, when the deprecated tests are removed. The "legacy-{core,extra}" instances can be distributed back into the "generated-{core,extra}" instances.

@devjgm
Copy link
Contributor

devjgm commented May 5, 2022

Waiting until 2022-10-01

@dbolduc dbolduc added the next major: breaking change this is a change that we should wait to bundle into the next major version label Sep 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: spanner Issues related to the Spanner API. next major: breaking change this is a change that we should wait to bundle into the next major version type: cleanup An internal cleanup or hygiene concern.
Projects
None yet
Development

No branches or pull requests

3 participants