-
Notifications
You must be signed in to change notification settings - Fork 131
Comparing changes
Open a pull request
base repository: googleapis/java-spanner
base: v6.91.1
head repository: googleapis/java-spanner
compare: v6.92.0
- 11 commits
- 636 files changed
- 19 contributors
Commits on Apr 22, 2025
-
chore(main): release 6.91.2-SNAPSHOT (#3829)
🤖 I have created a release *beep* *boop* --- ### Updating meta-information for bleeding-edge SNAPSHOT release. --- This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please).
Configuration menu - View commit details
-
Copy full SHA for 12b2f25 - Browse repository at this point
Copy the full SHA 12b2f25View commit details
Commits on Apr 23, 2025
-
chore: Enables launched types in all tests (#3824)
* Enable launched types in all tests * formatting fix --------- Co-authored-by: Sagar Agarwal <[email protected]> Co-authored-by: rahul2393 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bafa0bb - Browse repository at this point
Copy the full SHA bafa0bbView commit details -
feat: [Internal] client-side metrics for afe latency and connectivity…
… error (#3819) * Revert "Revert "feat: built in metrics for afe latency and connectivity error…" This reverts commit b6c9c6e. * rebase * review comments * chore: generate libraries at Wed Apr 16 05:18:36 UTC 2025 * metrics test refactoring --------- Co-authored-by: surbhigarg92 <[email protected]> Co-authored-by: cloud-java-bot <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a8dba0a - Browse repository at this point
Copy the full SHA a8dba0aView commit details
Commits on Apr 28, 2025
-
chore(spanner): fix tests (#3837)
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly: - [ ] Make sure to open an issue as a [bug/issue](https://togithub.com/googleapis/java-spanner/issues/new/choose) before writing your code! That way we can discuss the change, evaluate designs, and agree on the general idea - [ ] Ensure the tests and linter pass - [ ] Code coverage does not decrease (if any source code was changed) - [ ] Appropriate docs were updated (if necessary) Fixes #<issue_number_goes_here> ☕️ If you write sample code, please follow the [samples format]( https://togithub.com/GoogleCloudPlatform/java-docs-samples/blob/main/SAMPLE_FORMAT.md).
Configuration menu - View commit details
-
Copy full SHA for 4d956a9 - Browse repository at this point
Copy the full SHA 4d956a9View commit details -
chore: support for UUID type (#3572)
* feat: Add Metrics host for built in metrics (#3519) This PR allows users to set the custom monitoring host for built in metrics. * feat: introduce java.time variables and methods (#3495) This PR introduces `java.time` alternatives to existing `org.threeten.bp.*` methods, as well as switching internal variables (if any) to `java.time` The main constraint is to keep the changes backwards compatible, so for each existing threeten method "`method1(org.threeten.bp.Duration)`" we will add an alternative with a _Duration_ (or _Timestamp_ when applicable) suffix: "`method1Duration(java.time.Duration)`". For most cases, the implementation will be held in the `java.time` method and the old threeten method will just delegate the call to it. However, for the case of abstract classes, the implementation will be kept in the threeten method to avoid breaking changes (i.e. users that already overloaded the method in their user code). * chore(spanner): support multiplexed session for rw transactions in ex… (#3471) * chore(spanner): support multiplexed session for rw transactions in executor * chore(spanner): lint fix * chore: remove unused code and fix some warnings (#3533) * feat(spanner): support multiplexed session for Partitioned operations (#3231) * feat(spanner): support multiplexed session for Partitioned read or query. * chore(spanner): lint fixes * feat(spanner): support multiplexed session for Partitioned DML operations. * lint(spanner): javadoc fixes. * feat(spanner): Updated unit tests of Partitioned operations for Multiplexed Session. * feat(spanner): Updated unit tests of Partitioned operations for Multiplexed Session. * lint(spanner): Apply suggestions from code review Co-authored-by: Knut Olav Løite <[email protected]> * lint(spanner): Apply suggestions from code review Co-authored-by: Knut Olav Løite <[email protected]> * feat(spanner): Modified BatchClientImpl to store multiplexed session and create fresh session after expiration date. * feat(spanner): Removed env variable for Partitioned Ops ensuring that Multiplexed Session for Partitioned Ops is not available to customers. * lint(spanner): Removed unused variables. --------- Co-authored-by: Knut Olav Løite <[email protected]> * test: enable more tests on the Emulator (#3535) Multiple tests were skipped on the Emulator, because the features that are covered by these tests were originally not supported on the Emulator. These features are now available on the Emulator, and the tests can be enabled. * ci(spanner): Fix nightly job issues (#3522) * ci(spanner): Fix nightly job permission issue * update scope for surefire-junit4 * chore: add internal option for statement executor type (#3534) The Connection API by default uses either a platform thread or a virtual thread for each connection to execute and control the statements of that connection. This is used to enable asynchronous execution of statements and allows a statement to be cancelled by just interrupting this thread. Both these use cases are however not (or only very rarely) used by the most common users of the Connection API; the JDBC driver and PGAdapter. PGAdapter uses the PostgreSQL wire-protocol, which by design is synchronous, and JDBC is also a synchronous API. The latter has a cancel() method that currently requires this threading model, but this can be modified in the JDBC driver. Using a direct executor instead of a single-threaded executor per connection can save one thread per connection. The option is intentionally made package-private, so the above-mentioned frameworks can set it by default without it becoming part of the public API. * feat: support 'set local' for retry_aborts_internally (#3532) Adds support for `set local retry_aborts_internally=true|false` in the Connection API. This change also adds the parsing infrastructure that is needed to support `set local` for all connection variables. Support for this will be added to other connection variables in follow-up pull requests. * feat: add opt-in for using multiplexed sessions for blind writes (#3540) * feat(spanner): Releasing Multiplexed session for blind write. * fix(spanner): Added exception for `setUseMultiplexedSessionBlindWrite` in Clirr check. Removing this is safe as it's not used by customers. * fix(spanner): Fixed unit test for multiplexed session. * ci(spanner): clean up unused kokoro configurations (#3542) * ci(spanner): clean up unused kokoro configurations * chore: generate libraries at Tue Dec 10 09:54:10 UTC 2024 --------- Co-authored-by: cloud-java-bot <[email protected]> * test(spanner): Enabled multiplexed session for partitioned operations in systest. (#3545) * chore(main): release 6.82.1-SNAPSHOT (#3526) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> * deps: update sdk platform java dependencies (#3549) * chore: reset default to platform thread (#3551) Reset the default to using a platform thread for connections. This was the default before adding an option for setting the executor type, and the new default is causing problems with the async Connection API. Fixes #3541 * chore: Update generation configuration at Fri Dec 13 16:21:35 UTC 2024 (#3523) * chore: Update generation configuration at Wed Dec 4 02:29:01 UTC 2024 * chore: Update generation configuration at Thu Dec 5 02:29:11 UTC 2024 * chore: Update generation configuration at Fri Dec 6 02:28:46 UTC 2024 * chore: generate libraries at Fri Dec 6 02:29:25 UTC 2024 * chore: Update generation configuration at Sat Dec 7 02:28:09 UTC 2024 * chore: Update generation configuration at Tue Dec 10 02:29:37 UTC 2024 * chore: Update generation configuration at Wed Dec 11 02:28:47 UTC 2024 * chore: Update generation configuration at Thu Dec 12 02:29:08 UTC 2024 * chore: generate libraries at Thu Dec 12 02:29:50 UTC 2024 * chore: Update generation configuration at Fri Dec 13 02:29:25 UTC 2024 * chore: Update generation configuration at Fri Dec 13 16:21:35 UTC 2024 * chore: generate libraries at Fri Dec 13 16:22:12 UTC 2024 * update workflow script --------- Co-authored-by: rahul2393 <[email protected]> Co-authored-by: Joe Wang <[email protected]> * chore(main): release 6.83.0 (#3547) * chore(main): release 6.83.0 * chore: generate libraries at Fri Dec 13 17:19:20 UTC 2024 --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: cloud-java-bot <[email protected]> * chore: make state field volatile in AsyncResultSetImpl (#3550) * chore: make state field volatile in AsyncResultSetImpl Mark the `state` field in `AsyncResultSetImpl` volatile, as it is inspected by different threads. * fix: protect writes with monitor --------- Co-authored-by: rahul2393 <[email protected]> * chore: make valid connection properties public (#3546) Make the list of valid connection properties public, so tools that depend on the Connection API can use this to for example generate documentation for valid properties. Also add valid values to the connection properties that have that (e.g. enums and booleans). Co-authored-by: rahul2393 <[email protected]> * deps: update opentelemetry.version to v1.45.0 (#3531) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [io.opentelemetry:opentelemetry-sdk-testing](https://redirect.github.com/open-telemetry/opentelemetry-java) | `1.44.1` -> `1.45.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [io.opentelemetry:opentelemetry-sdk-trace](https://redirect.github.com/open-telemetry/opentelemetry-java) | `1.44.1` -> `1.45.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [io.opentelemetry:opentelemetry-sdk-metrics](https://redirect.github.com/open-telemetry/opentelemetry-java) | `1.44.1` -> `1.45.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [io.opentelemetry:opentelemetry-sdk](https://redirect.github.com/open-telemetry/opentelemetry-java) | `1.44.1` -> `1.45.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>open-telemetry/opentelemetry-java (io.opentelemetry:opentelemetry-sdk-testing)</summary> ### [`v1.45.0`](https://redirect.github.com/open-telemetry/opentelemetry-java/blob/HEAD/CHANGELOG.md#Version-1450-2024-12-06) [Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-java/compare/v1.44.1...v1.45.0) ##### API - Add convenience method `setAttribute(Attribute<Long>, int)` to SpanBuilder (matching the existing convenience method in Span) ([#​6884](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/6884)) - Extends TextMapGetter with experimental GetAll() method, implement usage in W3CBaggagePropagator ([#​6852](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/6852)) ##### SDK ##### Traces - Add synchronization to SimpleSpanProcessor to ensure thread-safe export of spans ([#​6885](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/6885)) ##### Metrics - Lazily initialize ReservoirCells ([#​6851](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/6851)) ##### Logs - Add synchronization to SimpleLogRecordProcessor to ensure thread-safe export of logs ([#​6885](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/6885)) ##### Exporters - OTLP: Update opentelementry-proto to 1.4 ([#​6906](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/6906)) - OTLP: Rename internal Marshaler#writeJsonToGenerator method to allow jackson runtimeOnly dependency ([#​6896](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/6896)) - OTLP: Fix repeated string serialization for JSON. ([#​6888](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/6888)) - OTLP: Fix missing unsafe available check ([#​6920](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/6920)) ##### Extensions - Declarative config: Don't require empty objects when referencing custom components ([#​6891](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/6891)) ##### Tooling - Add javadoc boilerplate internal comment v2 for experimental classes ([#​6886](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/6886)) - Update develocity configuration ([#​6903](https://redirect.github.com/open-telemetry/opentelemetry-java/pull/6903)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/googleapis/java-spanner). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS40Mi40IiwidXBkYXRlZEluVmVyIjoiMzkuNTguMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==--> * chore(main): release 6.83.1-SNAPSHOT (#3554) :robot: I have created a release *beep* *boop* --- ### Updating meta-information for bleeding-edge SNAPSHOT release. --- This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please). * feat(spanner): add jdbc support for external hosts (#3536) * feat(spanner): add jdbc support for external hosts * feat(spanner): added default port value and unit tests * feat(spanner): fixed redundant class name typo * ci(spanner): improve performance of samples tests (#3558) * test: unflake RetryOnInvalidatedSessionTest (#3561) * ci(spanner): Create a new Sample Slow tests (#3560) * ci(spanner): Create a new Sample Slow tests * Fix delete backup issue in autogenerated admin client * chore: Update generation configuration at Sat Dec 14 02:27:24 UTC 2024 (#3555) Co-authored-by: rahul2393 <[email protected]> * test: enable write tests for PostgreSQL (#3529) * chore: include session min/max in error message (#3566) * fix: retry specific internal errors (#3565) * chore: make internal auth backend errors retryable Spanner occasionally returns INTERNAL errors regarding the auth backend server. These errors should be regarded as retryable. * fix: retry specific internal errors Some specific internal errors should be retrid. Instead of adding INTERNAL as a standard retryable error code, we use an interceptor to catch and translate those specific errors. See also b/375684610 * chore: address review comments * fix: wait for session pool to initialize * fix: register errors before creating the client * chore: disable native metrics when there are no credentials (#3567) * chore: disable native metrics when there are no credentials Native metrics were automatically disabled when the emulator is used, but some clients (e.g. PGAdapter) set up the connection to the emulator manually instead of setting the environment variable. Also, when using in-mem mock servers, native metrics should be disabled, as they cannot be exported. This PR therefore adds an additional check that disables native metrics when the client uses a NoCredentials instance. * chore: make method private * feat: add support for ARRAY<STRUCT> to CloudCilentExecutor (#3544) There are SPANNER_SYS tables that contain ARRAY<STRUCT> columns. Adding support for this in the CloudClientExecutor so that queries involving these tables do not throw an error. * chore: Update generation configuration at Wed Dec 18 05:50:09 UTC 2024 (#3564) * chore: Update generation configuration at Wed Dec 18 05:50:09 UTC 2024 * chore: generate libraries at Wed Dec 18 05:59:39 UTC 2024 * feat: support for UUID type * feat: support for UUID type * fix: unit tests for UUID type * fix: ignore uuid methods for clirr plugin * style: fix indentation * style: fix formatting issue * docs: added TODO for removing env checks for integration tests for UUID * fix: add missing return statement * refactor: use internal methods and remove unused code * fix: make it binary compatible while adding implementation for UUID methods in AbstractStructReader * style: formatting fix --------- Co-authored-by: surbhigarg92 <[email protected]> Co-authored-by: Diego Marquez <[email protected]> Co-authored-by: Sri Harsha CH <[email protected]> Co-authored-by: Knut Olav Løite <[email protected]> Co-authored-by: Pratick Chokhani <[email protected]> Co-authored-by: Sakthivel Subramanian <[email protected]> Co-authored-by: cloud-java-bot <[email protected]> Co-authored-by: Pratick Chokhani <[email protected]> Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Mend Renovate <[email protected]> Co-authored-by: cloud-java-bot <[email protected]> Co-authored-by: rahul2393 <[email protected]> Co-authored-by: Joe Wang <[email protected]> Co-authored-by: Sagnik Ghosh <[email protected]> Co-authored-by: larkee <[email protected]> Co-authored-by: Gagan Gupta <[email protected]>
1Configuration menu - View commit details
-
Copy full SHA for 6e220ff - Browse repository at this point
Copy the full SHA 6e220ffView commit details -
feat: support begin with AbortedException for manager interface (#3835)
Aborted transactions should ideally be retried in the same transaction manager instance because the client library will ensure to populate the "Prev txn attempt's txn id" on retry (for mux sessions) which helps preserve the lock order(priority) of the transaction in scenarios of high contention thats causing txn wounding. This is achieved by using `resetForRetry()` that automatically takes care of preserving the lock order. But if the customer application retries aborted transactions on a new TransactionManager instance with out using the `resetForRetry()`, we lose the lock order of the previous attempt. To address this scenario of preserving the lockorder across transaction manger instance for a retry of the same transaction Current proposal as per client lib team recommendation: 1. Overload the [Begin](https://togithub.com/googleapis/java-spanner/blob/9940b66dabe519495a69dcc0020e2587c16f7285/google-cloud-spanner/src/main/java/com/google/cloud/spanner/TransactionManager.java#L62) API in the TransactionManager to accept an AbortedException argument. 2. Client library will populate the aborted transaction's transaction ID in the [AbortedException](https://togithub.com/googleapis/java-spanner/blob/efb168015aee1c4cba16f666b89be19e6f04fdbe/google-cloud-spanner/src/main/java/com/google/cloud/spanner/AbortedException.java#L27) object which is propagated up the customer's application stack. 3. On the customer end, they will just need to pass in this AbortedException object to the "Begin" API when they retry the transaction on the new transaction manager instance. Note: This will be a no-op for regular sessions. b/407037309
Configuration menu - View commit details
-
Copy full SHA for 5783116 - Browse repository at this point
Copy the full SHA 5783116View commit details -
chore: Update generation configuration at Sun Apr 27 02:31:07 UTC 2025 (
#3834) * chore: Update generation configuration at Wed Apr 23 17:11:13 UTC 2025 * chore: Update generation configuration at Thu Apr 24 02:30:05 UTC 2025 * fix: manually update generator versions * chore: update libraries bom, fix unparsable file * chore: generate libraries at Thu Apr 24 15:01:58 UTC 2025 * chore: generate libraries at Thu Apr 24 15:05:17 UTC 2025 * chore: generate libraries at Thu Apr 24 15:08:27 UTC 2025 * chore: generate libraries at Thu Apr 24 15:11:40 UTC 2025 * chore: use spotify fmt plugin in build.sh * chore: remove old graalvm jobs * chore: Update generation configuration at Fri Apr 25 02:30:09 UTC 2025 * chore: Update generation configuration at Sat Apr 26 02:28:07 UTC 2025 * chore: Update generation configuration at Sun Apr 27 02:31:07 UTC 2025 --------- Co-authored-by: Diego Marquez <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 11bfd90 - Browse repository at this point
Copy the full SHA 11bfd90View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2ee7f97 - Browse repository at this point
Copy the full SHA 2ee7f97View commit details
Commits on Apr 29, 2025
-
Configuration menu - View commit details
-
Copy full SHA for d9b8e62 - Browse repository at this point
Copy the full SHA d9b8e62View commit details -
Configuration menu - View commit details
-
Copy full SHA for 603a79d - Browse repository at this point
Copy the full SHA 603a79dView commit details -
chore(main): release 6.92.0 (#3833)
* chore(main): release 6.92.0 * chore: generate libraries at Tue Apr 29 07:26:09 UTC 2025 --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: cloud-java-bot <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4f63109 - Browse repository at this point
Copy the full SHA 4f63109View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v6.91.1...v6.92.0