Title: Most queries raise non-fatal `ValueError: Transaction is already committed` · Issue #103 · googleapis/python-spanner-sqlalchemy · GitHub
Open Graph Title: Most queries raise non-fatal `ValueError: Transaction is already committed` · Issue #103 · googleapis/python-spanner-sqlalchemy
X Title: Most queries raise non-fatal `ValueError: Transaction is already committed` · Issue #103 · googleapis/python-spanner-sqlalchemy
Description: Expected Behavior Connection pool does not raise exceptions Actual Behavior Connection pool raises non-fatal exceptions for SELECT/INSERT transactions Steps to Reproduce the Problem from sqlalchemy import Column, Integer, MetaData, selec...
Open Graph Description: Expected Behavior Connection pool does not raise exceptions Actual Behavior Connection pool raises non-fatal exceptions for SELECT/INSERT transactions Steps to Reproduce the Problem from sqlalchemy...
X Description: Expected Behavior Connection pool does not raise exceptions Actual Behavior Connection pool raises non-fatal exceptions for SELECT/INSERT transactions Steps to Reproduce the Problem from sqlalchemy...
Opengraph URL: https://github.com/googleapis/python-spanner-sqlalchemy/issues/103
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Most queries raise non-fatal `ValueError: Transaction is already committed`","articleBody":"## Expected Behavior\r\nConnection pool does not raise exceptions\r\n\r\n## Actual Behavior\r\nConnection pool raises non-fatal exceptions for SELECT/INSERT transactions\r\n\r\n\r\n## Steps to Reproduce the Problem\r\n```python\r\nfrom sqlalchemy import Column, Integer, MetaData, select, Text, Table, create_engine\r\n\r\nproject_id = 'foo'\r\ninstance_id = 'bar'\r\ndatabase = 'baz'\r\n\r\nspanner_uri = f'spanner:///projects/{project_id}/instances/{instance_id}/databases/{database}'\r\n\r\n# Create a table with one `Text`-type column\r\nengine = create_engine(spanner_uri)\r\nmetadata = MetaData(bind=engine)\r\nt = Table(\"TestTable\", metadata, Column(\"test_column\", Text, nullable=False))\r\nmetadata.create_all(engine)\r\n\r\nwith engine.begin() as conn:\r\n results = conn.execute(select([t.c.test_column])).fetchall()\r\n\r\nprint(results)\r\n```\r\n```shell\r\naderk@aderk ~/q/pyle (u/aderk/labdb-spanner)\u003e python txn_bug.py \r\nException during reset or similar\r\nTraceback (most recent call last):\r\n File \"/usr/local/google/home/aderk/.virtualenvs/pyle/lib/python3.8/site-packages/sqlalchemy/pool/base.py\", line 697, in _finalize_fairy\r\n fairy._reset(pool)\r\n File \"/usr/local/google/home/aderk/.virtualenvs/pyle/lib/python3.8/site-packages/sqlalchemy/pool/base.py\", line 893, in _reset\r\n pool._dialect.do_rollback(self)\r\n File \"/usr/local/google/home/aderk/.virtualenvs/pyle/lib/python3.8/site-packages/google/cloud/sqlalchemy_spanner/sqlalchemy_spanner.py\", line 773, in do_rollback\r\n dbapi_connection.rollback()\r\n File \"/usr/local/google/home/aderk/.virtualenvs/pyle/lib/python3.8/site-packages/google/cloud/spanner_dbapi/connection.py\", line 267, in rollback\r\n self._transaction.rollback()\r\n File \"/usr/local/google/home/aderk/.virtualenvs/pyle/lib/python3.8/site-packages/google/cloud/spanner_v1/transaction.py\", line 113, in rollback\r\n self._check_state()\r\n File \"/usr/local/google/home/aderk/.virtualenvs/pyle/lib/python3.8/site-packages/google/cloud/spanner_v1/transaction.py\", line 68, in _check_state\r\n raise ValueError(\"Transaction is already committed\")\r\nValueError: Transaction is already committed\r\n[]\r\n```\r\n\r\n## Specifications\r\n\r\n- Version: Python 3.8.8 (default, Apr 1 2021, 17:00:06) \r\n1c9be70f901ca016c357ced66fe258f01b694787\r\n- Platform: Linux","author":{"url":"https://github.com/aderk","@type":"Person","name":"aderk"},"datePublished":"2021-08-20T21:05:08.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":3},"url":"https://github.com/103/python-spanner-sqlalchemy/issues/103"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:dbffecc9-6421-f719-a2b3-e62f54a6928e |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 882A:50BAF:583D0E:74E69B:6A518AA2 |
| html-safe-nonce | d3f0009867ae463854bb8d5722a7cd91508d96b500cc38925e02c98572ec7bd7 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4ODJBOjUwQkFGOjU4M0QwRTo3NEU2OUI6NkE1MThBQTIiLCJ2aXNpdG9yX2lkIjoiODYxNjg5MzQ3MjE0MDUyODI5MCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | f6080f5a7c00f035f9697ca0906efd95e738bf14fa4f9b8f8e04f0869eceba3f |
| hovercard-subject-tag | issue:975920304 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/googleapis/python-spanner-sqlalchemy/103/issue_layout |
| twitter:image | https://opengraph.githubassets.com/041bf7885f928becdd32e761feb1d01742c443ca20bdc9255257c9dba841102c/googleapis/python-spanner-sqlalchemy/issues/103 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/041bf7885f928becdd32e761feb1d01742c443ca20bdc9255257c9dba841102c/googleapis/python-spanner-sqlalchemy/issues/103 |
| og:image:alt | Expected Behavior Connection pool does not raise exceptions Actual Behavior Connection pool raises non-fatal exceptions for SELECT/INSERT transactions Steps to Reproduce the Problem from sqlalchemy... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | aderk |
| hostname | github.com |
| expected-hostname | github.com |
| None | b9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb |
| turbo-cache-control | no-preview |
| go-import | github.com/googleapis/python-spanner-sqlalchemy git https://github.com/googleapis/python-spanner-sqlalchemy.git |
| octolytics-dimension-user_id | 16785467 |
| octolytics-dimension-user_login | googleapis |
| octolytics-dimension-repository_id | 335511641 |
| octolytics-dimension-repository_nwo | googleapis/python-spanner-sqlalchemy |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 335511641 |
| octolytics-dimension-repository_network_root_nwo | googleapis/python-spanner-sqlalchemy |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | cb77a7b8b06cd86c243be33fd8e7922d70a9d243 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width