Skip to content

Deprecate DataClient public member function #8800

@dbolduc

Description

@dbolduc

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.

Metadata

Metadata

Assignees

Labels

api: bigtableIssues related to the Bigtable API.next major: breaking changethis is a change that we should wait to bundle into the next major versiontype: cleanupAn internal cleanup or hygiene concern.

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions