Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

[spanner] RequestOptions.transaction_tag is unexpectedly mutated to '' when passed to snapshot.read()

オープン
#17,902 コメント 1 件 リアクション 0 件 担当者 1 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@steotia がすでに取り組んでいます。

2026年7月31日 から。

評価

この issue はまだ評価されていません。

説明

api: spanner priority: p2 type: bug
Determine this is the right repository
  • I determined this is the correct repository in which to report this bug.
Summary of the issue

When passing a RequestOptions instance with a transaction_tag to snapshot.read(), the transaction_tag attribute of the original object is unexpectedly mutated to '' (empty string).

API client name and version

google-cloud-spanner==3.69.0

Reproduction steps: code

from google.cloud import spanner
from google.cloud.spanner_v1.types import RequestOptions

spanner_client = spanner.Client()
instance = spanner_client.instance("your-instance-id")
database = instance.database("your-database-id")

request_opts = RequestOptions(transaction_tag="tran1")

print("Before read:", request_opts.transaction_tag)

with database.snapshot() as snapshot:
snapshot.read(
table="Singers",
columns=("SingerId", "FirstName"),
keyset=spanner.KeySet(all_=True),
request_options=request_opts,
)

print("After read:", request_opts.transaction_tag)

Reproduction steps: supporting files

No response

Reproduction steps: actual results

Before read: tran1
After read:

Reproduction steps: expected results

Before read: tran1
After read: tran1

OS & version + platform

Windows 11

Python environment

Python 3.14.6

Python dependencies

pip list
Package Version


certifi 2026.7.22
cffi 2.1.0
charset-normalizer 3.4.9
cryptography 49.0.0
google-api-core 2.33.0
google-auth 2.56.2
google-cloud-core 2.6.0
google-cloud-monitoring 2.31.0
google-cloud-spanner 3.69.0
google-cloud-storage 3.13.0
google-crc32c 1.8.0
google-resumable-media 2.10.0
googleapis-common-protos 1.75.0
grpc-google-iam-v1 0.14.4
grpc-interceptor 0.15.4
grpcio 1.82.1
grpcio-status 1.82.1
idna 3.18
mmh3 5.2.1
opentelemetry-api 1.44.0
opentelemetry-resourcedetector-gcp 1.12.0a0
opentelemetry-sdk 1.44.0
opentelemetry-semantic-conventions 0.65b0
pip 26.1.2
proto-plus 1.28.2
protobuf 7.35.1
pyasn1 0.6.4
pyasn1_modules 0.4.2
pycparser 3.0
requests 2.34.2
sqlparse 0.5.5
typing_extensions 4.16.0
urllib3 2.7.0

Additional context

Passing an object as an argument should not destructively mutate the caller's input object.

主要言語
Python
スター
5.4k
フォーク
1.8k
平均マージ
2日 18時間
マージ済み PR(30日)
148

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

googleapis/google-cloud-python のほかの issue

googleapis/google-cloud-python の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。