Skip to content

BigTable: Integration of GAPIC#5178

Merged
theacodes merged 76 commits intogoogleapis:masterfrom
zakons:feature/gapic
May 2, 2018
Merged

BigTable: Integration of GAPIC#5178
theacodes merged 76 commits intogoogleapis:masterfrom
zakons:feature/gapic

Conversation

@aneepct
Copy link
Copy Markdown
Contributor

@aneepct aneepct commented Apr 11, 2018

Full integration of GAPIC code into BigTable including GAPIC admin api.

Luke Sneeringer and others added 30 commits January 4, 2018 10:29
@zakons
Copy link
Copy Markdown
Contributor

zakons commented Apr 23, 2018

@jonparrott OK, now this PR is REALLY ready to merge. Cluster was taken out and now it was put back in, so the original client is now fully restored, with the added GAPIC API's hidden underneath. Please proceed with the merge.

Copy link
Copy Markdown
Contributor

@theacodes theacodes left a comment

Choose a reason for hiding this comment

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

Looks mostly good, a few nits and this is mergable.

:type user_agent: str
:param user_agent: (Optional) The user agent to be used with API request.
Defaults to :const:`DEFAULT_USER_AGENT`.
:type project: :instance: grpc.Channel

This comment was marked as spam.

self._credentials = credentials
self.SCOPE = self._get_scopes()

# NOTE: This API has no use for the _http argument, but sending it

This comment was marked as spam.

:class:`~google.cloud.bigtable.instance.Instance` objects
returned and the second is a list of strings (the failed
locations in the request).
:rtype: :class:`~google.gax.PageIterator`

This comment was marked as spam.

before calling :meth:`create`.

:rtype: :class:`Operation`
:rtype: :class:`~google.cloud.bigtable_admin_v2.types._OperationFuture`

This comment was marked as spam.

:rtype: :class:`Operation`
:returns: The long-running operation corresponding to the
create operation.
:rtype: :class:`~google.cloud.bigtable_admin_v2.types._OperationFuture`

This comment was marked as spam.

@zakons
Copy link
Copy Markdown
Contributor

zakons commented Apr 30, 2018

@jonparrott Sorry, it seems github did not send me a notification email when you last left review comments, even though I am subscribed to updates on this pull request.

The requested updates are done now. If possible, please add our @ names when commenting as this DOES work for email notifications and will allow us to respond much more quickly.

After this PR is merged, we will pull from master into PR #5113 and ready that one to merge. We are trying to stay in sync with your changes so we can move this along more quickly. Thanks!

Copy link
Copy Markdown
Contributor

@theacodes theacodes left a comment

Choose a reason for hiding this comment

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

Almost there.

from google.cloud.bigtable.client import Client


__all__ = ['__version__', 'Client']

This comment was marked as spam.

This comment was marked as spam.

self.project = project
self._read_only = bool(read_only)
self._admin = bool(admin)
self.channel = channel

This comment was marked as spam.

This comment was marked as spam.

self._instance_stub_internal = _make_instance_stub(self)
self._operations_stub_internal = _make_operations_stub(self)
self._table_stub_internal = _make_table_stub(self)
if self.channel is not None:

This comment was marked as spam.

This comment was marked as spam.

@theacodes
Copy link
Copy Markdown
Contributor

@zakons I reviewed, PTAL.

@zakons
Copy link
Copy Markdown
Contributor

zakons commented May 2, 2018

@jonparrott Thanks for a very thorough review. Hoping this is ready! ;-)

@theacodes theacodes merged commit 86102c9 into googleapis:master May 2, 2018
@zakons
Copy link
Copy Markdown
Contributor

zakons commented May 3, 2018

@jonparrott Many thanks. This was a big merge.
Please review PR #5275 next as it is prioritized for the Python BigTable beta release.

@crwilcox
Copy link
Copy Markdown
Contributor

crwilcox commented May 4, 2018

@zakons and @sduskis
Currently master is not passing tests for BigTable. They are failing because project isn't being set. It seems in the rework Client stopped inheriting from ClientWithProject and now we aren't auto-magically setting the user's project anymore and instead are assuming the project name is 'None'.

If you make the following modifications to google/cloud/bigtable/client.py

+from google.cloud.client import ClientWithProject

 from google.cloud import bigtable_v2
 from google.cloud import bigtable_admin_v2
@@ -44,7 +45,7 @@ READ_ONLY_SCOPE = 'https://www.googleapis.com/auth/bigtable.data.readonly'
 """Scope for reading table data."""


-class Client(object):
+class Client(ClientWithProject):

You get further, but the next thing you will get is a failure on 43 tests about ValueError: The channelandcredentials arguments to BigtableClient are mutually exclusive.

@zakons
Copy link
Copy Markdown
Contributor

zakons commented May 7, 2018

@crwilcox These system tests are being fixed right now and will let you and @jonparrott know as soon as a PR is ready with this.

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. cla: yes This human has signed the Contributor License Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants