-
Notifications
You must be signed in to change notification settings - Fork 99
Closed
Labels
api: spannerIssues related to the googleapis/python-spanner API.Issues related to the googleapis/python-spanner API.externalThis issue is blocked on a bug with the actual product.This issue is blocked on a bug with the actual product.samplesIssues that are directly related to samples.Issues that are directly related to samples.type: processA process-related concern. May include testing, release, or the like.A process-related concern. May include testing, release, or the like.
Description
From these failures today: 1, 2, 3:
args = (session: "projects/python-docs-samples-tests/instances/test-instance-7a56b372c7/databases/test-db-84dfce0c13/sessions...s"
params {
}
query_options {
optimizer_version: "1"
optimizer_statistics_package: "auto_20191128_14_47_22UTC"
}
,)
kwargs = {'metadata': [('google-cloud-resource-prefix', 'projects/python-docs-samples-tests/instances/test-instance-7a56b372c7/...BSaKgG9895aXkbCh9qw'), ('x-goog-api-client', 'gl-python/3.6.13 grpc/1.38.1 gax/1.31.0 gccl/3.6.0')], 'timeout': 3600.0}
result = <_MultiThreadedRendezvous of RPC that terminated with:
status = StatusCode.INVALID_ARGUMENT
details = "Requested opt...:1066,"grpc_message":"Requested optimizer statistics package not found: auto_20191128_14_47_22UTC.","grpc_status":3}"
>
prefetch_first = True
@general_helpers.wraps(callable_)
def error_remapped_callable(*args, **kwargs):
try:
result = callable_(*args, **kwargs)
# Auto-fetching the first result causes PubSub client's streaming pull
# to hang when re-opening the stream, thus we need examine the hacky
# hidden flag to see if pre-fetching is disabled.
# https://github.com/googleapis/python-pubsub/issues/93#issuecomment-630762257
prefetch_first = getattr(callable_, "_prefetch_first_result_", True)
return _StreamingResponseIterator(
> result, prefetch_first_result=prefetch_first
)
.nox/py-3-6/lib/python3.6/site-packages/google/api_core/grpc_helpers.py:161:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <google.api_core.grpc_helpers._StreamingResponseIterator object at 0x7fdcd4dbb710>
wrapped = <_MultiThreadedRendezvous of RPC that terminated with:
status = StatusCode.INVALID_ARGUMENT
details = "Requested opt...:1066,"grpc_message":"Requested optimizer statistics package not found: auto_20191128_14_47_22UTC.","grpc_status":3}"
>
prefetch_first_result = True
def __init__(self, wrapped, prefetch_first_result=True):
self._wrapped = wrapped
# This iterator is used in a retry context, and returned outside after init.
# gRPC will not throw an exception until the stream is consumed, so we need
# to retrieve the first result, in order to fail, in order to trigger a retry.
try:
if prefetch_first_result:
> self._stored_first_result = six.next(self._wrapped)
.nox/py-3-6/lib/python3.6/site-packages/google/api_core/grpc_helpers.py:83:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <_MultiThreadedRendezvous of RPC that terminated with:
status = StatusCode.INVALID_ARGUMENT
details = "Requested opt...:1066,"grpc_message":"Requested optimizer statistics package not found: auto_20191128_14_47_22UTC.","grpc_status":3}"
>
def __next__(self):
> return self._next()
.nox/py-3-6/lib/python3.6/site-packages/grpc/_channel.py:426:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <_MultiThreadedRendezvous of RPC that terminated with:
status = StatusCode.INVALID_ARGUMENT
details = "Requested opt...:1066,"grpc_message":"Requested optimizer statistics package not found: auto_20191128_14_47_22UTC.","grpc_status":3}"
>
def _next(self):
with self._state.condition:
if self._state.code is None:
event_handler = _event_handler(self._state,
self._response_deserializer)
self._state.due.add(cygrpc.OperationType.receive_message)
operating = self._call.operate(
(cygrpc.ReceiveMessageOperation(_EMPTY_FLAGS),),
event_handler)
if not operating:
self._state.due.remove(cygrpc.OperationType.receive_message)
elif self._state.code is grpc.StatusCode.OK:
raise StopIteration()
else:
raise self
def _response_ready():
return (self._state.response is not None or
(cygrpc.OperationType.receive_message
not in self._state.due and
self._state.code is not None))
_common.wait(self._state.condition.wait, _response_ready)
if self._state.response is not None:
response = self._state.response
self._state.response = None
return response
elif cygrpc.OperationType.receive_message not in self._state.due:
if self._state.code is grpc.StatusCode.OK:
raise StopIteration()
elif self._state.code is not None:
> raise self
E grpc._channel._MultiThreadedRendezvous: <_MultiThreadedRendezvous of RPC that terminated with:
E status = StatusCode.INVALID_ARGUMENT
E details = "Requested optimizer statistics package not found: auto_20191128_14_47_22UTC."
E debug_error_string = "{"created":"@1626448167.694914863","description":"Error received from peer ipv4:74.125.142.95:443","file":"src/core/lib/surface/call.cc","file_line":1066,"grpc_message":"Requested optimizer statistics package not found: auto_20191128_14_47_22UTC.","grpc_status":3}"
E >
.nox/py-3-6/lib/python3.6/site-packages/grpc/_channel.py:826: _MultiThreadedRendezvous
The above exception was the direct cause of the following exception:
capsys = <_pytest.capture.CaptureFixture object at 0x7fdcd1c96c88>
def test_create_client_with_query_options(capsys):
> snippets.create_client_with_query_options(INSTANCE_ID, DATABASE_ID)
snippets_test.py:448:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
snippets.py:1768: in create_client_with_query_options
for row in results:
../../google/cloud/spanner_v1/streamed.py:149: in __iter__
self._consume_next()
../../google/cloud/spanner_v1/streamed.py:121: in _consume_next
response = six.next(self._response_iterator)
../../google/cloud/spanner_v1/snapshot.py:59: in _restart_on_unavailable
iterator = method(request=request)
../../google/cloud/spanner_v1/services/spanner/client.py:884: in execute_streaming_sql
response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,)
.nox/py-3-6/lib/python3.6/site-packages/google/api_core/gapic_v1/method.py:145: in __call__
return wrapped_func(*args, **kwargs)
.nox/py-3-6/lib/python3.6/site-packages/google/api_core/timeout.py:102: in func_with_timeout
return func(*args, **kwargs)
.nox/py-3-6/lib/python3.6/site-packages/google/api_core/grpc_helpers.py:164: in error_remapped_callable
six.raise_from(exceptions.from_grpc_error(exc), exc)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
value = None
from_value = <_MultiThreadedRendezvous of RPC that terminated with:
status = StatusCode.INVALID_ARGUMENT
details = "Requested opt...:1066,"grpc_message":"Requested optimizer statistics package not found: auto_20191128_14_47_22UTC.","grpc_status":3}"
>
> ???
E google.api_core.exceptions.InvalidArgument: 400 Requested optimizer statistics package not found: auto_20191128_14_47_22UTC.
<string>:3: InvalidArgument
I have no idea how to find the list of "correct" optimizer statistics packages. I've checked the Managing the query optimizer and Optimizer Version History docs. The "managing" doc actually uses this sample, and all the other languages use the same package.
Metadata
Metadata
Assignees
Labels
api: spannerIssues related to the googleapis/python-spanner API.Issues related to the googleapis/python-spanner API.externalThis issue is blocked on a bug with the actual product.This issue is blocked on a bug with the actual product.samplesIssues that are directly related to samples.Issues that are directly related to samples.type: processA process-related concern. May include testing, release, or the like.A process-related concern. May include testing, release, or the like.