Skip to content

Commit b185ee8

Browse files
committed
Making alias for grpc _Rendezvous.
Relates to #2156.
1 parent f916093 commit b185ee8

File tree

13 files changed

+94
-83
lines changed

13 files changed

+94
-83
lines changed

google/cloud/bigtable/row_data.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ class InvalidChunk(RuntimeError):
183183
class PartialRowsData(object):
184184
"""Convenience wrapper for consuming a ``ReadRows`` streaming response.
185185
186-
:type response_iterator: :class:`grpc._channel._Rendezvous`
186+
:type response_iterator: :class:`~google.cloud.exceptions.GrpcRendezvous`
187187
:param response_iterator: A streaming iterator returned from a
188188
``ReadRows`` request.
189189
"""

google/cloud/bigtable/table.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ def sample_row_keys(self):
302302
samples would require space roughly equal to the difference in their
303303
``offset_bytes`` fields.
304304
305-
:rtype: :class:`grpc._channel._Rendezvous`
305+
:rtype: :class:`~google.cloud.exceptions.GrpcRendezvous`
306306
:returns: A cancel-able iterator. Can be consumed by calling ``next()``
307307
or by casting to a :class:`list` and can be cancelled by
308308
calling ``cancel()``.

google/cloud/datastore/connection.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,17 @@
2424
from google.cloud.environment_vars import DISABLE_GRPC
2525
from google.cloud.environment_vars import GCD_HOST
2626
from google.cloud.exceptions import Conflict
27+
from google.cloud.exceptions import GrpcRendezvous
2728
from google.cloud.exceptions import make_exception
2829
from google.cloud.datastore._generated import datastore_pb2 as _datastore_pb2
2930
# pylint: disable=ungrouped-imports
3031
try:
3132
from grpc import StatusCode
32-
from grpc._channel import _Rendezvous
3333
from google.cloud.datastore._generated import datastore_grpc_pb2
3434
except ImportError: # pragma: NO COVER
3535
_HAVE_GRPC = False
3636
datastore_grpc_pb2 = None
3737
StatusCode = None
38-
_Rendezvous = Exception
3938
else:
4039
_HAVE_GRPC = True
4140
# pylint: enable=ungrouped-imports
@@ -313,7 +312,7 @@ def commit(self, project, request_pb):
313312
request_pb.project_id = project
314313
try:
315314
return self._stub.Commit(request_pb)
316-
except _Rendezvous as exc:
315+
except GrpcRendezvous as exc:
317316
if exc.code() == StatusCode.ABORTED:
318317
raise Conflict(exc.details())
319318
raise

google/cloud/exceptions.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,17 @@
2323

2424
_HTTP_CODE_TO_EXCEPTION = {} # populated at end of module
2525

26+
try:
27+
from grpc._channel import _Rendezvous
28+
except ImportError: # pragma: NO COVER
29+
_Rendezvous = None
30+
31+
32+
# pylint: disable=invalid-name
33+
GrpcRendezvous = _Rendezvous
34+
"""Exception class raised by gRPC stable."""
35+
# pylint: enable=invalid-name
36+
2637

2738
class GoogleCloudError(Exception):
2839
"""Base error class for Google Cloud errors (abstract).

google/cloud/logging/_gax.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@
2424
from google.logging.v2.log_entry_pb2 import LogEntry
2525
from google.protobuf.json_format import Parse
2626
from grpc import StatusCode
27-
from grpc._channel import _Rendezvous
2827

2928
# pylint: disable=ungrouped-imports
3029
from google.cloud._helpers import _datetime_to_pb_timestamp
3130
from google.cloud._helpers import _pb_timestamp_to_rfc3339
3231
from google.cloud.exceptions import Conflict
32+
from google.cloud.exceptions import GrpcRendezvous
3333
from google.cloud.exceptions import NotFound
3434
# pylint: enable=ungrouped-imports
3535

@@ -122,7 +122,7 @@ def logger_delete(self, project, logger_name):
122122
path = 'projects/%s/logs/%s' % (project, logger_name)
123123
try:
124124
self._gax_api.delete_log(path, options)
125-
except _Rendezvous as exc:
125+
except GrpcRendezvous as exc:
126126
if exc.code() == StatusCode.NOT_FOUND:
127127
raise NotFound(path)
128128
raise
@@ -194,7 +194,7 @@ def sink_create(self, project, sink_name, filter_, destination):
194194
destination=destination)
195195
try:
196196
self._gax_api.create_sink(parent, sink_pb, options)
197-
except _Rendezvous as exc:
197+
except GrpcRendezvous as exc:
198198
if exc.code() == StatusCode.FAILED_PRECONDITION:
199199
path = 'projects/%s/sinks/%s' % (project, sink_name)
200200
raise Conflict(path)
@@ -217,7 +217,7 @@ def sink_get(self, project, sink_name):
217217
path = 'projects/%s/sinks/%s' % (project, sink_name)
218218
try:
219219
sink_pb = self._gax_api.get_sink(path, options)
220-
except _Rendezvous as exc:
220+
except GrpcRendezvous as exc:
221221
if exc.code() == StatusCode.NOT_FOUND:
222222
raise NotFound(path)
223223
raise
@@ -249,7 +249,7 @@ def sink_update(self, project, sink_name, filter_, destination):
249249
sink_pb = LogSink(name=path, filter=filter_, destination=destination)
250250
try:
251251
self._gax_api.update_sink(path, sink_pb, options)
252-
except _Rendezvous as exc:
252+
except GrpcRendezvous as exc:
253253
if exc.code() == StatusCode.NOT_FOUND:
254254
raise NotFound(path)
255255
raise
@@ -268,7 +268,7 @@ def sink_delete(self, project, sink_name):
268268
path = 'projects/%s/sinks/%s' % (project, sink_name)
269269
try:
270270
self._gax_api.delete_sink(path, options)
271-
except _Rendezvous as exc:
271+
except GrpcRendezvous as exc:
272272
if exc.code() == StatusCode.NOT_FOUND:
273273
raise NotFound(path)
274274
raise
@@ -339,7 +339,7 @@ def metric_create(self, project, metric_name, filter_, description):
339339
description=description)
340340
try:
341341
self._gax_api.create_log_metric(parent, metric_pb, options)
342-
except _Rendezvous as exc:
342+
except GrpcRendezvous as exc:
343343
if exc.code() == StatusCode.FAILED_PRECONDITION:
344344
path = 'projects/%s/metrics/%s' % (project, metric_name)
345345
raise Conflict(path)
@@ -362,7 +362,7 @@ def metric_get(self, project, metric_name):
362362
path = 'projects/%s/metrics/%s' % (project, metric_name)
363363
try:
364364
metric_pb = self._gax_api.get_log_metric(path, options)
365-
except _Rendezvous as exc:
365+
except GrpcRendezvous as exc:
366366
if exc.code() == StatusCode.NOT_FOUND:
367367
raise NotFound(path)
368368
raise
@@ -394,7 +394,7 @@ def metric_update(self, project, metric_name, filter_, description):
394394
description=description)
395395
try:
396396
self._gax_api.update_log_metric(path, metric_pb, options)
397-
except _Rendezvous as exc:
397+
except GrpcRendezvous as exc:
398398
if exc.code() == StatusCode.NOT_FOUND:
399399
raise NotFound(path)
400400
raise
@@ -413,7 +413,7 @@ def metric_delete(self, project, metric_name):
413413
path = 'projects/%s/metrics/%s' % (project, metric_name)
414414
try:
415415
self._gax_api.delete_log_metric(path, options)
416-
except _Rendezvous as exc:
416+
except GrpcRendezvous as exc:
417417
if exc.code() == StatusCode.NOT_FOUND:
418418
raise NotFound(path)
419419
raise

google/cloud/pubsub/_gax.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@
2222
from google.pubsub.v1.pubsub_pb2 import PushConfig
2323
from grpc import insecure_channel
2424
from grpc import StatusCode
25-
from grpc._channel import _Rendezvous
2625

2726
# pylint: disable=ungrouped-imports
2827
from google.cloud._helpers import _to_bytes
2928
from google.cloud._helpers import _pb_timestamp_to_rfc3339
3029
from google.cloud.exceptions import Conflict
30+
from google.cloud.exceptions import GrpcRendezvous
3131
from google.cloud.exceptions import NotFound
3232
# pylint: enable=ungrouped-imports
3333

@@ -92,7 +92,7 @@ def topic_create(self, topic_path):
9292
"""
9393
try:
9494
topic_pb = self._gax_api.create_topic(topic_path)
95-
except _Rendezvous as exc:
95+
except GrpcRendezvous as exc:
9696
if exc.code() == StatusCode.FAILED_PRECONDITION:
9797
raise Conflict(topic_path)
9898
raise
@@ -115,7 +115,7 @@ def topic_get(self, topic_path):
115115
"""
116116
try:
117117
topic_pb = self._gax_api.get_topic(topic_path)
118-
except _Rendezvous as exc:
118+
except GrpcRendezvous as exc:
119119
if exc.code() == StatusCode.NOT_FOUND:
120120
raise NotFound(topic_path)
121121
raise
@@ -133,7 +133,7 @@ def topic_delete(self, topic_path):
133133
"""
134134
try:
135135
self._gax_api.delete_topic(topic_path)
136-
except _Rendezvous as exc:
136+
except GrpcRendezvous as exc:
137137
if exc.code() == StatusCode.NOT_FOUND:
138138
raise NotFound(topic_path)
139139
raise
@@ -162,7 +162,7 @@ def topic_publish(self, topic_path, messages):
162162
try:
163163
result = self._gax_api.publish(topic_path, message_pbs,
164164
options=options)
165-
except _Rendezvous as exc:
165+
except GrpcRendezvous as exc:
166166
if exc.code() == StatusCode.NOT_FOUND:
167167
raise NotFound(topic_path)
168168
raise
@@ -200,7 +200,7 @@ def topic_list_subscriptions(self, topic_path, page_size=0,
200200
try:
201201
page_iter = self._gax_api.list_topic_subscriptions(
202202
topic_path, page_size=page_size, options=options)
203-
except _Rendezvous as exc:
203+
except GrpcRendezvous as exc:
204204
if exc.code() == StatusCode.NOT_FOUND:
205205
raise NotFound(topic_path)
206206
raise
@@ -293,7 +293,7 @@ def subscription_create(self, subscription_path, topic_path,
293293
try:
294294
sub_pb = self._gax_api.create_subscription(
295295
subscription_path, topic_path, push_config, ack_deadline)
296-
except _Rendezvous as exc:
296+
except GrpcRendezvous as exc:
297297
if exc.code() == StatusCode.FAILED_PRECONDITION:
298298
raise Conflict(topic_path)
299299
raise
@@ -315,7 +315,7 @@ def subscription_get(self, subscription_path):
315315
"""
316316
try:
317317
sub_pb = self._gax_api.get_subscription(subscription_path)
318-
except _Rendezvous as exc:
318+
except GrpcRendezvous as exc:
319319
if exc.code() == StatusCode.NOT_FOUND:
320320
raise NotFound(subscription_path)
321321
raise
@@ -334,7 +334,7 @@ def subscription_delete(self, subscription_path):
334334
"""
335335
try:
336336
self._gax_api.delete_subscription(subscription_path)
337-
except _Rendezvous as exc:
337+
except GrpcRendezvous as exc:
338338
if exc.code() == StatusCode.NOT_FOUND:
339339
raise NotFound(subscription_path)
340340
raise
@@ -359,7 +359,7 @@ def subscription_modify_push_config(self, subscription_path,
359359
push_config = PushConfig(push_endpoint=push_endpoint)
360360
try:
361361
self._gax_api.modify_push_config(subscription_path, push_config)
362-
except _Rendezvous as exc:
362+
except GrpcRendezvous as exc:
363363
if exc.code() == StatusCode.NOT_FOUND:
364364
raise NotFound(subscription_path)
365365
raise
@@ -391,7 +391,7 @@ def subscription_pull(self, subscription_path, return_immediately=False,
391391
try:
392392
response_pb = self._gax_api.pull(
393393
subscription_path, max_messages, return_immediately)
394-
except _Rendezvous as exc:
394+
except GrpcRendezvous as exc:
395395
if exc.code() == StatusCode.NOT_FOUND:
396396
raise NotFound(subscription_path)
397397
raise
@@ -414,7 +414,7 @@ def subscription_acknowledge(self, subscription_path, ack_ids):
414414
"""
415415
try:
416416
self._gax_api.acknowledge(subscription_path, ack_ids)
417-
except _Rendezvous as exc:
417+
except GrpcRendezvous as exc:
418418
if exc.code() == StatusCode.NOT_FOUND:
419419
raise NotFound(subscription_path)
420420
raise
@@ -441,7 +441,7 @@ def subscription_modify_ack_deadline(self, subscription_path, ack_ids,
441441
try:
442442
self._gax_api.modify_ack_deadline(
443443
subscription_path, ack_ids, ack_deadline)
444-
except _Rendezvous as exc:
444+
except GrpcRendezvous as exc:
445445
if exc.code() == StatusCode.NOT_FOUND:
446446
raise NotFound(subscription_path)
447447
raise

system_tests/bigtable.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,11 @@ def _retry_on_unavailable(exc):
8989

9090

9191
def setUpModule():
92-
from grpc._channel import _Rendezvous
92+
from google.cloud.exceptions import GrpcRendezvous
93+
9394
Config.CLIENT = Client(admin=True)
9495
Config.INSTANCE = Config.CLIENT.instance(INSTANCE_ID, LOCATION_ID)
95-
retry = RetryErrors(_Rendezvous, error_predicate=_retry_on_unavailable)
96+
retry = RetryErrors(GrpcRendezvous, error_predicate=_retry_on_unavailable)
9697
instances, failed_locations = retry(Config.CLIENT.list_instances)()
9798

9899
if len(failed_locations) != 0:

system_tests/logging_.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,9 @@ def _logger_name():
7373
return 'system-tests-logger' + unique_resource_id('-')
7474

7575
def _list_entries(self, logger):
76-
from grpc._channel import _Rendezvous
76+
from google.cloud.exceptions import GrpcRendezvous
7777
inner = RetryResult(_has_entries)(logger.list_entries)
78-
outer = RetryErrors(_Rendezvous, _retry_on_unavailable)(inner)
78+
outer = RetryErrors(GrpcRendezvous, _retry_on_unavailable)(inner)
7979
return outer()
8080

8181
def test_log_text(self):

system_tests/pubsub.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@
1616
import unittest
1717

1818
from grpc import StatusCode
19-
from grpc._channel import _Rendezvous
2019
import httplib2
2120

2221
# pylint: disable=ungrouped-imports
2322
from google.cloud.environment_vars import PUBSUB_EMULATOR
23+
from google.cloud.exceptions import GrpcRendezvous
2424
from google.cloud.pubsub import client
2525
# pylint: enable=ungrouped-imports
2626

@@ -35,7 +35,7 @@ def _unavailable(exc):
3535
return exc.code() == StatusCode.UNAVAILABLE
3636

3737

38-
retry_unavailable = RetryErrors(_Rendezvous, _unavailable)
38+
retry_unavailable = RetryErrors(GrpcRendezvous, _unavailable)
3939

4040

4141
class Config(object):

unit_tests/_testing.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,16 +58,16 @@ def __init__(self, **kw):
5858
self.__dict__.update(kw)
5959

6060
def _make_grpc_error(self, status_code=None):
61-
from grpc._channel import _Rendezvous
6261
from grpc._channel import _RPCState
6362
from grpc import StatusCode
63+
from google.cloud.exceptions import GrpcRendezvous
6464

6565
if status_code is None:
6666
status_code = StatusCode.UNKNOWN
6767

6868
details = 'Some error details.'
6969
exc_state = _RPCState((), None, None, status_code, details)
70-
return _Rendezvous(exc_state, None, None, None)
70+
return GrpcRendezvous(exc_state, None, None, None)
7171

7272
def _make_grpc_not_found(self):
7373
from grpc import StatusCode

0 commit comments

Comments
 (0)