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

Deprecate DataClient public member function #8800

Open
dbolduc opened this issue Apr 26, 2022 · 2 comments
Open

Deprecate DataClient public member function #8800

dbolduc opened this issue Apr 26, 2022 · 2 comments
Labels
api: bigtable Issues related to the Bigtable 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

@dbolduc
Copy link
Member

dbolduc commented Apr 26, 2022

What?:
We want to deprecate and schedule for deletion these member functions:

/**
* Return a new channel to handle admin operations.
*
* Intended to access rarely used services in the same endpoints as the
* Bigtable admin interfaces, for example, the google.longrunning.Operations.
*/
virtual std::shared_ptr<grpc::Channel> Channel() = 0;
/**
* Reset and create new Channels.
*
* Currently this is only used in testing. In the future, we expect this,
* or a similar member function, will be needed to handle errors that require
* a new connection, or an explicit refresh of the credentials.
*/
virtual void reset() = 0;
/**
* The thread factory this client was created with.
*/
virtual google::cloud::BackgroundThreadsFactory
BackgroundThreadsFactory() = 0;

Why?:
We are removing these because:

  • Only the client library should need this level of control over the gRPC channels.
  • We want to perform work using the Connection layer (which offers customers better mocks, unified authentication credentials support, etc.). We do not want to maintain the legacy code path (these functions), when there is a preferred alternative. See Proposal: modernize the Bigtable internals #5934.

How?:
We still call some of these. We can create private implementations where necessary. Our code can call the private implementations directly. The public member functions would also call the private implementations.

@dbolduc dbolduc added api: bigtable Issues related to the Bigtable API. type: cleanup An internal cleanup or hygiene concern. labels Apr 26, 2022
@dbolduc dbolduc added this to the Modernize Bigtable milestone Apr 26, 2022
@dbolduc dbolduc self-assigned this Apr 26, 2022
@dbolduc
Copy link
Member Author

dbolduc commented May 2, 2022

The functions are deprecated. They can be deleted (and the class can be simplified) on 2023-05-01.

@coryan
Copy link
Contributor

coryan commented Sep 14, 2022

These are deprecated, scheduled for removal around 2023-07.

@dbolduc dbolduc added cpp: breaking change next major: breaking change this is a change that we should wait to bundle into the next major version and removed cpp: breaking change labels Sep 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: bigtable Issues related to the Bigtable 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

2 participants