fix(bigquery-jdbc): session context propagation when session is enabled - #14161
Merged
Conversation
…le-cloud-java into fix/temp-table-session-id
Contributor
There was a problem hiding this comment.
Code Review
This pull request implements session persistence across queries in the BigQuery JDBC driver by dynamically updating the connection's session information from query results and ensuring the session ID is correctly propagated in subsequent query configurations. It also adds corresponding unit and integration tests. The review feedback highlights a potential NullPointerException in BigQueryConnection if the transaction job is null, and suggests improving thread safety in BigQueryStatement by synchronizing access to connection properties using explicit locks and removing redundant null checks.
keshavdandeva
force-pushed
the
jdbc/remove-dry-run
branch
from
August 21, 2026 19:05
ee6e75e to
ad697aa
Compare
keshavdandeva
force-pushed
the
jdbc/remove-dry-run
branch
2 times, most recently
from
August 21, 2026 20:22
922d057 to
218cc5a
Compare
…gle-cloud-java into fix/temp-table-session-id
keshavdandeva
approved these changes
Aug 24, 2026
Neenu1995
enabled auto-merge (squash)
August 24, 2026 16:09
This was referenced Aug 24, 2026
lqiu96
pushed a commit
that referenced
this pull request
Aug 24, 2026
🤖 I have created a release *beep* *boop* --- <details><summary>1.90.0</summary> ## [1.90.0](v1.89.0...v1.90.0) (2026-08-24) ### Features * **bigquery-jdbc:** implement TypeRegistry and TypeDescriptor ([#13947](#13947)) ([0557e69](0557e69)) * **bigquery:** add QueryResultsFormat and ArrowSerializationOptions configurations ([#13942](#13942)) ([ff03e19](ff03e19)) * **bigquery:** expose `StatementType` and query execution stats on `TableResult` ([#14145](#14145)) ([7d16de8](7d16de8)) * **bigtable:** enable microsecond timestamps in client ([#14057](#14057)) ([57aaf8d](57aaf8d)) * **bigtable:** route single-entry MutateRows through a point-write c… ([#14028](#14028)) ([a403703](a403703)) * **datastore:** add support for request tags ([#13732](#13732)) ([b1f6186](b1f6186)) * **ftp:** onboard a new library ([#14068](#14068)) ([f41b2d9](f41b2d9)) * **gax:** add ResumableUploadCallable and ResumableUploadCallSettings ([#14052](#14052)) ([a5e26e8](a5e26e8)) * **google/cloud/biglake/hive/v1:** onboard a new library ([#14130](#14130)) ([650c839](650c839)) * **google/maps/mapmanagement/v2:** onboard a new library ([#14131](#14131)) ([7d00726](7d00726)) * **spanner:** support user-provided OpenTelemetry for client metrics export ([#13741](#13741)) ([da74dee](da74dee)) * update API sources and regenerate ([#14000](#14000)) ([9337a93](9337a93)) * **workloadidentity:** onboard a new library ([#14060](#14060)) ([ab226ee](ab226ee)) ### Bug Fixes * add documentation for insertall api that there's no default retry ([#13953](#13953)) ([1fdb4f1](1fdb4f1)) * add retry behavior documentation to insertall interface to clarify the behavior ([#14058](#14058)) ([1b8f9e3](1b8f9e3)) * **auth:** fix JSpecify nullability in UserAuthorizer and TokenStore ([#14150](#14150)) ([0d5fac0](0d5fac0)) * **auth:** fix remaining nullability in UserAuthorizer and Builder ([#14158](#14158)) ([a51bb8d](a51bb8d)) * **auth:** refine JSpecify nullability for ServiceAccountCredentials and UserCredentials ([#14159](#14159)) ([a929250](a929250)) * **bigquery-jdbc:** enable ITOpenTelemetryTest ([#13991](#13991)) ([fa6641b](fa6641b)) * **bigquery-jdbc:** pass connection proxy settings to OpenTelemetry exporters ([#14011](#14011)) ([115b9b3](115b9b3)) * **bigquery-jdbc:** session context propagation when session is enabled ([#14161](#14161)) ([1e74dda](1e74dda)) * **bigtable:** remove heartbeat miss logging ([#14054](#14054)) ([ec17637](ec17637)) * **deps:** update dependency com.google.apis:google-api-services-bigquery to v2-rev20260731-2.0.0 ([#14149](#14149)) ([95f6c38](95f6c38)) * **deps:** update dependency com.google.cloud:libraries-bom to v26.86.0 ([#14103](#14103)) ([cf5697e](cf5697e)) * **gax-httpjson:** reduce Conscrypt fallback error to debug level ([#13962](#13962)) ([8236771](8236771)) * **gax-httpjson:** remove unsupported and deprecated PQC named groups ([#14107](#14107)) ([7604971](7604971)) * **gax:** register Conscrypt SSLContext SPI classes for GraalVM reflection ([#14129](#14129)) ([73c0243](73c0243)) * **samples:** align native profile junit and surefire versions with shared config ([#14096](#14096)) ([2b84133](2b84133)) * **spanner:** add closeAsync to ReadContext and make transaction closing non-blocking ([#14076](#14076)) ([671f892](671f892)) * **spanner:** scope server-timing metrics per call and guard interceptor lifecycle callbacks ([#14053](#14053)) ([f35c570](f35c570)) * **storage:** use JsonUtils for StorageObject serialization in resumable writes and read channels ([#13976](#13976)) ([d94922f](d94922f)) ### Performance Improvements * **bigquery-jdbc:** eliminate dry run to resolve statement type ([#14156](#14156)) ([7109ecd](7109ecd)) * **spanner-jdbc:** cache commonly used query parameter names ([#14036](#14036)) ([1eb6aa3](1eb6aa3)) * **spanner-jdbc:** cache JDBC metadata query strings ([#14041](#14041)) ([31c628f](31c628f)) * **spanner-jdbc:** cache positional to named param conversion ([#14034](#14034)) ([30e031b](30e031b)) ### Dependencies * **gax-httpjson:** upgrade conscrypt-openjdk-uber to 2.6.2 ([#14117](#14117)) ([2f5481a](2f5481a)) * Update gRPC to v1.82.3 ([#13997](#13997)) ([a786107](a786107)) * Upgrade gRPC to v1.82.4 ([#14088](#14088)) ([0c482fe](0c482fe)) ### Documentation * **bigquery-jdbc:** add user guide with connection property and custom endpoint reference ([#13878](#13878)) ([2dde172](2dde172)) * **gax:** update LRO troubleshooting documentation link ([#14108](#14108)) ([4c5bbae](4c5bbae)) * **spanner-jdbc:** update connection_properties.md documentation ([#14035](#14035)) ([b576fe8](b576fe8)) * **spanner:** update CHANGELOG.md for releases 6.117.0 through 6.120.0 ([#13970](#13970)) ([2413811](2413811)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
b/543829068