Skip to content

Spanner: with database.snapshot() fails under 1.7.0 #6927

@crwilcox

Description

@crwilcox
from google.cloud import spanner

spanner_client = spanner.Client()
instance = spanner_client.instance('testinstance')
database = instance.database('testdatabase')

with database.snapshot() as snapshot:
    results = snapshot.execute_sql(
        'SELECT SingerId, AlbumId, AlbumTitle FROM Albums')

    for row in results:
        print(u'SingerId: {}, AlbumId: {}, AlbumTitle: {}'.format(*row))

(venv) crwilcox@redrover ~/s/google-cloud-python-spanner> python sample.py
Traceback (most recent call last):
  File "/Users/crwilcox/scratch/google-cloud-python-spanner/venv/lib/python3.7/site-packages/google/cloud/spanner_v1/pool.py", line 265, in get
    session = self._sessions.get_nowait()
  File "/Users/crwilcox/.pyenv/versions/3.7.0/lib/python3.7/queue.py", line 198, in get_nowait
    return self.get(block=False)
  File "/Users/crwilcox/.pyenv/versions/3.7.0/lib/python3.7/queue.py", line 167, in get
    raise Empty
_queue.Empty

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "sample.py", line 7, in <module>
    with database.snapshot() as snapshot:
  File "/Users/crwilcox/scratch/google-cloud-python-spanner/venv/lib/python3.7/site-packages/google/cloud/spanner_v1/database.py", line 501, in __enter__
    session = self._session = self._database._pool.get()
  File "/Users/crwilcox/scratch/google-cloud-python-spanner/venv/lib/python3.7/site-packages/google/cloud/spanner_v1/pool.py", line 268, in get
    session.create()
  File "/Users/crwilcox/scratch/google-cloud-python-spanner/venv/lib/python3.7/site-packages/google/cloud/spanner_v1/session.py", line 111, in create
    api = self._database.spanner_api
  File "/Users/crwilcox/scratch/google-cloud-python-spanner/venv/lib/python3.7/site-packages/google/cloud/spanner_v1/database.py", line 183, in spanner_api
    credentials=credentials, client_info=_CLIENT_INFO
  File "/Users/crwilcox/scratch/google-cloud-python-spanner/venv/lib/python3.7/site-packages/google/cloud/spanner_v1/gapic/spanner_client.py", line 176, in __init__
    address=self.SERVICE_ADDRESS, channel=channel, credentials=credentials
  File "/Users/crwilcox/scratch/google-cloud-python-spanner/venv/lib/python3.7/site-packages/google/cloud/spanner_v1/gapic/transports/spanner_grpc_transport.py", line 69, in __init__
    channel = self.create_channel(address=address, credentials=credentials)
  File "/Users/crwilcox/scratch/google-cloud-python-spanner/venv/lib/python3.7/site-packages/google/cloud/spanner_v1/gapic/transports/spanner_grpc_transport.py", line 93, in create_channel
    pkg_resources.resource_string(__name__, _SPANNER_GRPC_CONFIG)
  File "/Users/crwilcox/scratch/google-cloud-python-spanner/venv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1149, in resource_string
    self, resource_name
  File "/Users/crwilcox/scratch/google-cloud-python-spanner/venv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1393, in get_resource_string
    return self._get(self._fn(self.module_path, resource_name))
  File "/Users/crwilcox/scratch/google-cloud-python-spanner/venv/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1516, in _get
    with open(path, 'rb') as stream:
FileNotFoundError: [Errno 2] No such file or directory: '/Users/crwilcox/scratch/google-cloud-python-spanner/venv/lib/python3.7/site-packages/google/cloud/spanner_v1/gapic/transports/spanner.grpc.config'

Metadata

Metadata

Assignees

Labels

api: spannerIssues related to the Spanner API.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions