-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use try-with-resources for Transactions #49
Comments
Yes, the reason that we didn't make Transaction Closable is because close does not have enough context (as oppose to Python with clause) about success/failure of the operation. |
I agree with Arie that it would be surprising for Transaction.close() to mean "abort the transaction if it is not committed". What you would want instead would be for it to mean "commit the transaction unless there was an exception, in which case abort it". But unfortunately there's no way for the close() method to know whether it is being invoked because of an exception or because execution of the I think I would be in favour of having only the result = dataStore.runInTransaction((t) -> {
t.query()...t.put()...;
return something;
}); |
I agree that passing Though having an explicit commit/rollback option in the callback could be seen as advantage/feature, I feel that it may lead to more confusing user code (where the callback code can't tell for sure if it is still active) and thought we should better avoid it. Few possible options:
Thoughts? |
You need transactions to fail safe i.e. roll back by default. The user must specifically commit the work and know that the commit succeeded so that other work can rely on it. The nasty path is where the VM itself raises an Error (which can happen at any time) which must result the work getting rolled back. The simplest way to ensure that behaviour is to have the user explicitly commit their work. The user can then assume that any error that prevented the commit operation completing successfully resulted in no work being applied. For reference, where the JDBC spec says it is "implementation-defined" (doh!) whether Connection#close() commits or rolls back, the drivers from MySQL, Postgres, DB2 (non-mainframe) and SQLServer all roll back by default whereas only Oracle and DB2 (mainframe) commit. Similarly a UserTransaction in JavaEE will always rollback unless it is specifically committed. |
Based on @eamonnmcmanus comment, Java 8's lambdas would make this intuitive: interface DataStore {
/** Simple way to run work in a transaction. */
<ResultT> ResultT runInTransaction(Supplier<ResultT> work);
/** Run work in a transaction with ability to manually control outcome. */
<ResultT> ResultT runInTransaction(Function<Transaction, ResultT> work);
} The interface Transaction extends DatastoreReaderWriter {
void setRollbackOnly();
} which would would like the same method in Work would be automatically committed if the function returned normally, or would be rolled back if the block threw a Throwable. Per Java8 functional APIs, the work would not be able to throw a checked Exception. To run this on Java 7, we can backport the Supplier and Function interfaces. I realize equivalents exist in Guava but I suggest we avoid using Guava classes in the API. |
This has been added to our feature backlog: https://github.com/GoogleCloudPlatform/google-cloud-java/wiki/Feature-backlog . This issue will be closed but is linked in the backlog and can continue to be used for comment and discussion. |
🤖 I have created a release *beep* *boop* --- ## [0.3.1](googleapis/java-certificate-manager@v0.3.0...v0.3.1) (2022-06-23) ### Dependencies * update dependency com.google.cloud:google-cloud-shared-dependencies to v2.13.0 ([#47](googleapis/java-certificate-manager#47)) ([102812b](googleapis/java-certificate-manager@102812b)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
* test: integration test * test: remove redundant checks * test: fix build
* chore: update dependencies for regapic * add more dependencies and trigger comment * update goldens * fix indentation * remove duplicate gax-httpjson dependency * remove duplicated dependencies Source-Link: googleapis/synthtool@fa54eb2 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-java:latest@sha256:1ec28a46062b19135b11178ceee60231e5f5a92dab454e23ae0aab72cd875906
Making CLIRR not required. The version bumps are now controlled by the Release Please and OwlBot. The CL authors create appropriate change description to control major version bumps.
🤖 I have created a release *beep* *boop* --- ## [1.1.0](googleapis/java-optimization@v1.0.0...v1.1.0) (2022-07-01) ### Features * Enable REST transport for most of Java and Go clients ([googleapis#54](googleapis/java-optimization#54)) ([3d6aaa9](googleapis/java-optimization@3d6aaa9)) ### Bug Fixes * update gapic-generator-java with mock service generation fixes ([googleapis#56](googleapis/java-optimization#56)) ([6e7c8fd](googleapis/java-optimization@6e7c8fd)) ### Dependencies * update dependency com.google.cloud:google-cloud-shared-dependencies to v2.13.0 ([googleapis#53](googleapis/java-optimization#53)) ([8315306](googleapis/java-optimization@8315306)) * update dependency com.google.cloud:google-cloud-storage to v2.7.0 ([googleapis#49](googleapis/java-optimization#49)) ([72f22b6](googleapis/java-optimization@72f22b6)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- ## [0.3.1](googleapis/java-bare-metal-solution@v0.3.0...v0.3.1) (2022-07-13) ### Bug Fixes * enable longpaths support for windows test ([#1485](https://github.com/googleapis/java-bare-metal-solution/issues/1485)) ([#48](googleapis/java-bare-metal-solution#48)) ([4ad1a80](googleapis/java-bare-metal-solution@4ad1a80)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
…-plugin to v3.4.1 (#49) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [org.apache.maven.plugins:maven-javadoc-plugin](https://maven.apache.org/plugins/) | `3.4.0` -> `3.4.1` | [![age](https://badges.renovateapi.com/packages/maven/org.apache.maven.plugins:maven-javadoc-plugin/3.4.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/org.apache.maven.plugins:maven-javadoc-plugin/3.4.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/org.apache.maven.plugins:maven-javadoc-plugin/3.4.1/compatibility-slim/3.4.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/org.apache.maven.plugins:maven-javadoc-plugin/3.4.1/confidence-slim/3.4.0)](https://docs.renovatebot.com/merge-confidence/) | --- ### 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**: Renovate will not automatically rebase this PR, because other commits have been found. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox. ⚠ **Warning**: custom changes will be lost. --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/java-bigquery-data-exchange). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4xNjAuMSIsInVwZGF0ZWRJblZlciI6IjMyLjE2MC4xIn0=-->
…-plugin to v3.4.1 (#49) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [org.apache.maven.plugins:maven-javadoc-plugin](https://maven.apache.org/plugins/) | `3.4.0` -> `3.4.1` | [![age](https://badges.renovateapi.com/packages/maven/org.apache.maven.plugins:maven-javadoc-plugin/3.4.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/org.apache.maven.plugins:maven-javadoc-plugin/3.4.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/org.apache.maven.plugins:maven-javadoc-plugin/3.4.1/compatibility-slim/3.4.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/org.apache.maven.plugins:maven-javadoc-plugin/3.4.1/confidence-slim/3.4.0)](https://docs.renovatebot.com/merge-confidence/) | --- ### 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**: Renovate will not automatically rebase this PR, because other commits have been found. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox. ⚠ **Warning**: custom changes will be lost. --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/java-gke-multi-cloud). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4xNjEuMCIsInVwZGF0ZWRJblZlciI6IjMyLjE2MS4wIn0=-->
…up to v0.2.3 (#49) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [com.google.cloud:google-cloud-gke-backup](https://github.com/googleapis/java-gke-backup) | `0.2.2` -> `0.2.3` | [![age](https://badges.renovateapi.com/packages/maven/com.google.cloud:google-cloud-gke-backup/0.2.3/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.cloud:google-cloud-gke-backup/0.2.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.cloud:google-cloud-gke-backup/0.2.3/compatibility-slim/0.2.2)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.cloud:google-cloud-gke-backup/0.2.3/confidence-slim/0.2.2)](https://docs.renovatebot.com/merge-confidence/) | --- ### 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**: Renovate will not automatically rebase this PR, because other commits have been found. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox. ⚠ **Warning**: custom changes will be lost. --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/java-gke-backup). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4xOTQuMyIsInVwZGF0ZWRJblZlciI6IjMyLjE5NC4zIn0=-->
…cies to v3.0.4 (#49) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [com.google.cloud:google-cloud-shared-dependencies](https://github.com/googleapis/java-shared-dependencies) | `3.0.3` -> `3.0.4` | [![age](https://badges.renovateapi.com/packages/maven/com.google.cloud:google-cloud-shared-dependencies/3.0.4/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/maven/com.google.cloud:google-cloud-shared-dependencies/3.0.4/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/maven/com.google.cloud:google-cloud-shared-dependencies/3.0.4/compatibility-slim/3.0.3)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/maven/com.google.cloud:google-cloud-shared-dependencies/3.0.4/confidence-slim/3.0.3)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>googleapis/java-shared-dependencies</summary> ### [`v3.0.4`](https://github.com/googleapis/java-shared-dependencies/blob/HEAD/CHANGELOG.md#​304-httpsgithubcomgoogleapisjava-shared-dependenciescomparev303v304-2022-10-03) [Compare Source](https://github.com/googleapis/java-shared-dependencies/compare/v3.0.3...v3.0.4) ##### Dependencies - Update dependency cachetools to v5 ([#​816](https://github.com/googleapis/java-shared-dependencies/issues/816)) ([3f6c408](https://github.com/googleapis/java-shared-dependencies/commit/3f6c408210c931c286235f61c7aadea5bf5cfe4d)) - Update dependency certifi to v2022.9.24 ([#​818](https://github.com/googleapis/java-shared-dependencies/issues/818)) ([5f04b97](https://github.com/googleapis/java-shared-dependencies/commit/5f04b97c2343146600e8c9ee65afdeb58f5743a6)) - Update dependency charset-normalizer to v2.1.1 ([#​822](https://github.com/googleapis/java-shared-dependencies/issues/822)) ([6997c5a](https://github.com/googleapis/java-shared-dependencies/commit/6997c5acad937ebe3594330de73261a424d42cf3)) - Update dependency click to v8.1.3 ([#​823](https://github.com/googleapis/java-shared-dependencies/issues/823)) ([42bf9f8](https://github.com/googleapis/java-shared-dependencies/commit/42bf9f834fdafea60f2be7ccbf7d363e058cd7c2)) - Update dependency com.google.protobuf:protobuf-bom to v3.21.7 ([#​837](https://github.com/googleapis/java-shared-dependencies/issues/837)) ([d31e507](https://github.com/googleapis/java-shared-dependencies/commit/d31e5077c7e036de5e238e9a611df7ced527574a)) - Update dependency gcp-releasetool to v1.8.8 ([#​819](https://github.com/googleapis/java-shared-dependencies/issues/819)) ([8245d97](https://github.com/googleapis/java-shared-dependencies/commit/8245d975fb12e81454ec7664f9a7c9809bbac697)) - Update dependency gcp-releasetool to v1.8.9 ([#​846](https://github.com/googleapis/java-shared-dependencies/issues/846)) ([04e3283](https://github.com/googleapis/java-shared-dependencies/commit/04e32831c6e87c372444901013a747d2d02ce38d)) - Update dependency google-api-core to v2.10.1 ([#​824](https://github.com/googleapis/java-shared-dependencies/issues/824)) ([818b9aa](https://github.com/googleapis/java-shared-dependencies/commit/818b9aa2ac99d8b1f9b39a74b626122aed5f1d94)) - Update dependency google-auth to v2.12.0 ([#​825](https://github.com/googleapis/java-shared-dependencies/issues/825)) ([07c544b](https://github.com/googleapis/java-shared-dependencies/commit/07c544b5e0fa9f7110bbc957570f7a405962072e)) - Update dependency google-cloud-core to v2.3.2 ([#​820](https://github.com/googleapis/java-shared-dependencies/issues/820)) ([2a219e8](https://github.com/googleapis/java-shared-dependencies/commit/2a219e86f187ba5ad72f2570bd58ca6100128c43)) - Update dependency google-cloud-storage to v2.5.0 ([#​826](https://github.com/googleapis/java-shared-dependencies/issues/826)) ([bb10d18](https://github.com/googleapis/java-shared-dependencies/commit/bb10d1858a515f09d365362ffa0110a5b362c96b)) - Update dependency google-crc32c to v1.5.0 ([#​827](https://github.com/googleapis/java-shared-dependencies/issues/827)) ([7e5dae6](https://github.com/googleapis/java-shared-dependencies/commit/7e5dae60d667cb84b9ee4f6c977bdc35e79e4cf6)) - Update dependency google-resumable-media to v2.4.0 ([#​838](https://github.com/googleapis/java-shared-dependencies/issues/838)) ([ad82d63](https://github.com/googleapis/java-shared-dependencies/commit/ad82d6378f64039da383509638fb4782908eb4bc)) - Update dependency googleapis-common-protos to v1.56.4 ([#​821](https://github.com/googleapis/java-shared-dependencies/issues/821)) ([93d7745](https://github.com/googleapis/java-shared-dependencies/commit/93d77458c9bbf84ec367cdb4caaa41e6f71675c6)) - Update dependency importlib-metadata to v4.12.0 ([#​832](https://github.com/googleapis/java-shared-dependencies/issues/832)) ([ee19fb1](https://github.com/googleapis/java-shared-dependencies/commit/ee19fb1ca5a2a2e1985297e3b72d44de68bc72e3)) - Update dependency importlib-metadata to v4.13.0 ([#​843](https://github.com/googleapis/java-shared-dependencies/issues/843)) ([d2ede60](https://github.com/googleapis/java-shared-dependencies/commit/d2ede601eee8c875780c7eb5924623537480c509)) - Update dependency importlib-metadata to v5 ([#​845](https://github.com/googleapis/java-shared-dependencies/issues/845)) ([03ac7e8](https://github.com/googleapis/java-shared-dependencies/commit/03ac7e800274c5f58d2bc4ddd0561bfcdea1bb27)) - Update dependency io.grpc:grpc-bom to v1.49.1 ([#​802](https://github.com/googleapis/java-shared-dependencies/issues/802)) ([b8c54bf](https://github.com/googleapis/java-shared-dependencies/commit/b8c54bf8f1ddecc788cee151f8afe42de45bdc9d)) - Update dependency io.grpc:grpc-bom to v1.49.2 ([#​842](https://github.com/googleapis/java-shared-dependencies/issues/842)) ([1b1cfa2](https://github.com/googleapis/java-shared-dependencies/commit/1b1cfa27d05f7732da12721305cf41dcbebda232)) - Update dependency jeepney to v0.8.0 ([#​833](https://github.com/googleapis/java-shared-dependencies/issues/833)) ([15d2f9f](https://github.com/googleapis/java-shared-dependencies/commit/15d2f9f52b5a3259db0813df3d2424e256ccb372)) - Update dependency jinja2 to v3.1.2 ([#​834](https://github.com/googleapis/java-shared-dependencies/issues/834)) ([c188f95](https://github.com/googleapis/java-shared-dependencies/commit/c188f95acdb3349f1c4b3ed56e5fffb75e8fbc8d)) - Update dependency keyring to v23.9.3 ([#​828](https://github.com/googleapis/java-shared-dependencies/issues/828)) ([b185aaa](https://github.com/googleapis/java-shared-dependencies/commit/b185aaae716d4d97cb64f0426cac0e778f11223d)) - Update dependency markupsafe to v2.1.1 ([#​829](https://github.com/googleapis/java-shared-dependencies/issues/829)) ([add2825](https://github.com/googleapis/java-shared-dependencies/commit/add2825bd34cd80f529dbe0dadb3c84219177916)) - Update dependency org.threeten:threetenbp to v1.6.2 ([#​808](https://github.com/googleapis/java-shared-dependencies/issues/808)) ([2d2eabd](https://github.com/googleapis/java-shared-dependencies/commit/2d2eabd14d8150207885ea47280c0f7ff3d2962f)) - Update dependency protobuf to v3.20.2 ([#​830](https://github.com/googleapis/java-shared-dependencies/issues/830)) ([5afa76f](https://github.com/googleapis/java-shared-dependencies/commit/5afa76f9ef4705aecba49abc7bb93982fb1ecf3e)) - Update dependency protobuf to v3.20.3 ([#​839](https://github.com/googleapis/java-shared-dependencies/issues/839)) ([d9fc7dd](https://github.com/googleapis/java-shared-dependencies/commit/d9fc7ddd3e663458e6ea3f78a3c6241377df0319)) - Update dependency protobuf to v4 ([#​817](https://github.com/googleapis/java-shared-dependencies/issues/817)) ([ee8d154](https://github.com/googleapis/java-shared-dependencies/commit/ee8d154287ccd256b4dcfa48f28f5ec61a91fe3e)) - Update dependency pyjwt to v2.5.0 ([#​812](https://github.com/googleapis/java-shared-dependencies/issues/812)) ([4d4528e](https://github.com/googleapis/java-shared-dependencies/commit/4d4528e8ce269d49b99d2dbc4fcda2dc37a058cb)) - Update dependency requests to v2.28.1 ([#​813](https://github.com/googleapis/java-shared-dependencies/issues/813)) ([a3a8d89](https://github.com/googleapis/java-shared-dependencies/commit/a3a8d89b0117007a7108553c70aa82dd289e1691)) - Update dependency typing-extensions to v4.3.0 ([#​814](https://github.com/googleapis/java-shared-dependencies/issues/814)) ([da875e5](https://github.com/googleapis/java-shared-dependencies/commit/da875e5e91fa9d8c177e6c3afc9e34242eb914b7)) - Update dependency zipp to v3.8.1 ([#​815](https://github.com/googleapis/java-shared-dependencies/issues/815)) ([15585fd](https://github.com/googleapis/java-shared-dependencies/commit/15585fd0216013fe93be011f93f391f6269aa777)) - Update gax.version to v2.19.2 ([#​847](https://github.com/googleapis/java-shared-dependencies/issues/847)) ([c4afe1f](https://github.com/googleapis/java-shared-dependencies/commit/c4afe1fdc88af29ab039cea618d52c15c90e43e9)) - Update google.common-protos.version to v2.9.3 ([#​803](https://github.com/googleapis/java-shared-dependencies/issues/803)) ([a3e8e5e](https://github.com/googleapis/java-shared-dependencies/commit/a3e8e5eb53a8da14abf3b8d81a4f34fbb2f3b8f9)) - Update google.common-protos.version to v2.9.5 ([#​831](https://github.com/googleapis/java-shared-dependencies/issues/831)) ([1c901db](https://github.com/googleapis/java-shared-dependencies/commit/1c901db8a7740afaec3e809e51d4d369fbf469c4)) - Update google.common-protos.version to v2.9.6 ([#​844](https://github.com/googleapis/java-shared-dependencies/issues/844)) ([9e156be](https://github.com/googleapis/java-shared-dependencies/commit/9e156be59bd89959f04252c3045b8cd7a8be8070)) - Update google.core.version to v2.8.13 ([#​804](https://github.com/googleapis/java-shared-dependencies/issues/804)) ([45ae571](https://github.com/googleapis/java-shared-dependencies/commit/45ae57142bd6d5334eedd46243736b200a459795)) - Update google.core.version to v2.8.14 ([#​805](https://github.com/googleapis/java-shared-dependencies/issues/805)) ([02c9397](https://github.com/googleapis/java-shared-dependencies/commit/02c9397a84bf3fcca8d04e4c9867cc47689abde2)) - Update google.core.version to v2.8.15 ([#​807](https://github.com/googleapis/java-shared-dependencies/issues/807)) ([980856c](https://github.com/googleapis/java-shared-dependencies/commit/980856c43981992a3d08f69eac83aeada752d244)) - Update google.core.version to v2.8.16 ([#​810](https://github.com/googleapis/java-shared-dependencies/issues/810)) ([c2b2c9a](https://github.com/googleapis/java-shared-dependencies/commit/c2b2c9a327fd588f69524bb93a17e5d4ae8f5a42)) - Update google.core.version to v2.8.17 ([#​835](https://github.com/googleapis/java-shared-dependencies/issues/835)) ([3def21d](https://github.com/googleapis/java-shared-dependencies/commit/3def21df2e4253e3df0da064b6c4e472df079d2b)) - Update google.core.version to v2.8.18 ([#​840](https://github.com/googleapis/java-shared-dependencies/issues/840)) ([46566dc](https://github.com/googleapis/java-shared-dependencies/commit/46566dc18c4b1ed41c482b4ce21b92651e2f9dc5)) - Update google.core.version to v2.8.19 ([#​841](https://github.com/googleapis/java-shared-dependencies/issues/841)) ([99afde9](https://github.com/googleapis/java-shared-dependencies/commit/99afde97ea498f549eb75cc58c4ed88edf81b20d)) - Update google.core.version to v2.8.20 ([#​848](https://github.com/googleapis/java-shared-dependencies/issues/848)) ([c980c4f](https://github.com/googleapis/java-shared-dependencies/commit/c980c4fdfc8890d812b4881ba5b87bfd21269a5f)) - Update iam.version to v1.6.1 ([#​806](https://github.com/googleapis/java-shared-dependencies/issues/806)) ([a50158d](https://github.com/googleapis/java-shared-dependencies/commit/a50158d3b83cf8e02d8ee08c94e512b5669a927b)) - Update iam.version to v1.6.2 ([#​849](https://github.com/googleapis/java-shared-dependencies/issues/849)) ([e43ac96](https://github.com/googleapis/java-shared-dependencies/commit/e43ac96bc189a096a9311c9b03e85c86bea07e99)) </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 this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/googleapis/java-cloudcommerceconsumerprocurement). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4yMTMuMCIsInVwZGF0ZWRJblZlciI6IjMyLjIxMy4wIn0=-->
🤖 I have created a release *beep* *boop* --- ## [0.2.3](https://github.com/googleapis/java-dataform/compare/v0.2.2...v0.2.3) (2022-10-03) ### Dependencies * Update dependency click to v8.1.3 ([#42](https://github.com/googleapis/java-dataform/issues/42)) ([b1c8e02](https://github.com/googleapis/java-dataform/commit/b1c8e02cd4cf529bb65e0cc774856e55bde8d205)) * Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.4 ([#57](https://github.com/googleapis/java-dataform/issues/57)) ([9784644](https://github.com/googleapis/java-dataform/commit/978464492b63b0529e8545fdcbdb23f0f0ad100f)) * Update dependency google-api-core to v2.10.1 ([#43](https://github.com/googleapis/java-dataform/issues/43)) ([d871cda](https://github.com/googleapis/java-dataform/commit/d871cda2d17c0f05e4da8c7cfd28a90867bd8a71)) * Update dependency google-auth to v2.12.0 ([#44](https://github.com/googleapis/java-dataform/issues/44)) ([712cbdb](https://github.com/googleapis/java-dataform/commit/712cbdbd8e9ee2dd1e2003f594bb47ea686580fb)) * Update dependency google-cloud-storage to v2.5.0 ([#45](https://github.com/googleapis/java-dataform/issues/45)) ([23085e2](https://github.com/googleapis/java-dataform/commit/23085e2dd32797ab299a56a74af9eaf68212b278)) * Update dependency google-crc32c to v1.5.0 ([#46](https://github.com/googleapis/java-dataform/issues/46)) ([afbdac2](https://github.com/googleapis/java-dataform/commit/afbdac28c8059fb853f18f73d057e70fdc4e7cae)) * Update dependency importlib-metadata to v4.12.0 ([#47](https://github.com/googleapis/java-dataform/issues/47)) ([526c297](https://github.com/googleapis/java-dataform/commit/526c297655024e02323857b4a87c588cc3e3e99f)) * Update dependency jeepney to v0.8.0 ([#48](https://github.com/googleapis/java-dataform/issues/48)) ([fa287dd](https://github.com/googleapis/java-dataform/commit/fa287dd7b7a3509b014cccf43cb1d2d38bc14f62)) * Update dependency markupsafe to v2.1.1 ([#49](https://github.com/googleapis/java-dataform/issues/49)) ([9c10205](https://github.com/googleapis/java-dataform/commit/9c1020586eff34b1df7d39d47d9ce02245e8f2d8)) * Update dependency protobuf to v3.20.2 ([#50](https://github.com/googleapis/java-dataform/issues/50)) ([3d756c7](https://github.com/googleapis/java-dataform/commit/3d756c77e2e25f918843e1b3ea99164d3ac44190)) * Update dependency pyjwt to v2.5.0 ([#51](https://github.com/googleapis/java-dataform/issues/51)) ([d39606e](https://github.com/googleapis/java-dataform/commit/d39606ee46a941ebea245dbc6a8f857fe32b2f19)) * Update dependency requests to v2.28.1 ([#52](https://github.com/googleapis/java-dataform/issues/52)) ([c46d8a6](https://github.com/googleapis/java-dataform/commit/c46d8a62a77558a2ab57b3b6e5303c7930a5e1d6)) * Update dependency typing-extensions to v4.3.0 ([#53](https://github.com/googleapis/java-dataform/issues/53)) ([33f7a3d](https://github.com/googleapis/java-dataform/commit/33f7a3d971f056fa5b074b77fc1a16a97d0b491b)) * Update dependency zipp to v3.8.1 ([#54](https://github.com/googleapis/java-dataform/issues/54)) ([518a68d](https://github.com/googleapis/java-dataform/commit/518a68d1932da0a2a1d1ca8de689536f559f2999)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
🤖 I have created a release *beep* *boop* --- ## [0.1.4](https://github.com/googleapis/java-cloudcommerceconsumerprocurement/compare/v0.1.3...v0.1.4) (2022-10-03) ### Dependencies * Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.4 ([#49](https://github.com/googleapis/java-cloudcommerceconsumerprocurement/issues/49)) ([209285e](https://github.com/googleapis/java-cloudcommerceconsumerprocurement/commit/209285ea99f14624a05671b8030a2d8d6db32f03)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
- [ ] Regenerate this pull request now. PiperOrigin-RevId: 477955264 Source-Link: https://github.com/googleapis/googleapis/commit/a724450af76d0001f23602684c49cd6a4b3a5654 Source-Link: https://github.com/googleapis/googleapis-gen/commit/4abcbcaec855e74a0b22a4988cf9e0eb61a83094 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNGFiY2JjYWVjODU1ZTc0YTBiMjJhNDk4OGNmOWUwZWI2MWE4MzA5NCJ9
🤖 I have created a release *beep* *boop* --- ## [0.3.1](https://github.com/googleapis/java-apigee-registry/compare/v0.3.0...v0.3.1) (2022-10-03) ### Bug Fixes * Additional error codes added to service configuration for retry ([#39](https://github.com/googleapis/java-apigee-registry/issues/39)) ([55a9b41](https://github.com/googleapis/java-apigee-registry/commit/55a9b417cf04575d2070ad026e5648a494fe076a)) ### Dependencies * Update dependency certifi to v2022.9.24 ([#48](https://github.com/googleapis/java-apigee-registry/issues/48)) ([1c6ae70](https://github.com/googleapis/java-apigee-registry/commit/1c6ae70cb9ff9e7e98d83ce472ae5526d08f9a35)) * Update dependency charset-normalizer to v2.1.1 ([#53](https://github.com/googleapis/java-apigee-registry/issues/53)) ([2130079](https://github.com/googleapis/java-apigee-registry/commit/21300793a908ed41c535813ee15ec94b5f5ef018)) * Update dependency click to v8.1.3 ([#54](https://github.com/googleapis/java-apigee-registry/issues/54)) ([cf3458b](https://github.com/googleapis/java-apigee-registry/commit/cf3458bd2972f3db75c8cbf834be0b383d9e74a0)) * Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.2 ([#42](https://github.com/googleapis/java-apigee-registry/issues/42)) ([38cb4f9](https://github.com/googleapis/java-apigee-registry/commit/38cb4f9932c3d6cb4c36d3f61922fd613409607f)) * Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.3 ([#44](https://github.com/googleapis/java-apigee-registry/issues/44)) ([ddaed09](https://github.com/googleapis/java-apigee-registry/commit/ddaed0964ae57cd7b799b9acf7b202595af4c781)) * Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.4 ([#65](https://github.com/googleapis/java-apigee-registry/issues/65)) ([882e36b](https://github.com/googleapis/java-apigee-registry/commit/882e36b2d21ff601f569aa79dfe840cd41bf0438)) * Update dependency gcp-releasetool to v1.8.8 ([#49](https://github.com/googleapis/java-apigee-registry/issues/49)) ([3a927a3](https://github.com/googleapis/java-apigee-registry/commit/3a927a3df5a8cf5cfff79faede5387291a3d443e)) * Update dependency google-api-core to v2.10.1 ([#55](https://github.com/googleapis/java-apigee-registry/issues/55)) ([f841a07](https://github.com/googleapis/java-apigee-registry/commit/f841a07c0b1c2fa585f7e665208d6a6b7843c75c)) * Update dependency google-auth to v2.11.1 ([#50](https://github.com/googleapis/java-apigee-registry/issues/50)) ([7b450cb](https://github.com/googleapis/java-apigee-registry/commit/7b450cbeadc08b8dc26fbd4738ce47788a5cf330)) * Update dependency google-cloud-core to v2.3.2 ([#51](https://github.com/googleapis/java-apigee-registry/issues/51)) ([b7f1110](https://github.com/googleapis/java-apigee-registry/commit/b7f111014416ff76fa787085d0d0bc9ab47f9af6)) * Update dependency google-cloud-storage to v2.5.0 ([#56](https://github.com/googleapis/java-apigee-registry/issues/56)) ([f3799d3](https://github.com/googleapis/java-apigee-registry/commit/f3799d3d2d754ec89c784655d835ecaed4df3406)) * Update dependency google-crc32c to v1.5.0 ([#57](https://github.com/googleapis/java-apigee-registry/issues/57)) ([b978c7d](https://github.com/googleapis/java-apigee-registry/commit/b978c7d2bed23554998a9f0f047e7211ff37f906)) * Update dependency googleapis-common-protos to v1.56.4 ([#52](https://github.com/googleapis/java-apigee-registry/issues/52)) ([9e069f1](https://github.com/googleapis/java-apigee-registry/commit/9e069f1d96c78fdaedbf57a95d05ada18d57ea0f)) * Update dependency importlib-metadata to v4.12.0 ([#58](https://github.com/googleapis/java-apigee-registry/issues/58)) ([370bd1e](https://github.com/googleapis/java-apigee-registry/commit/370bd1eba82d820fe7156c276ee5e4a5cbf3f9e0)) * Update dependency jeepney to v0.8.0 ([#59](https://github.com/googleapis/java-apigee-registry/issues/59)) ([7a63034](https://github.com/googleapis/java-apigee-registry/commit/7a63034a2a194feed6dc7e8215c5063ad1454072)) * Update dependency jinja2 to v3.1.2 ([#60](https://github.com/googleapis/java-apigee-registry/issues/60)) ([4fe2b85](https://github.com/googleapis/java-apigee-registry/commit/4fe2b853af3c39d2c46efbdc5027cc34945a736c)) * Update dependency keyring to v23.9.3 ([#61](https://github.com/googleapis/java-apigee-registry/issues/61)) ([c8cf1c2](https://github.com/googleapis/java-apigee-registry/commit/c8cf1c29cab75b18ab67e372bf3d50b36a4b57e9)) * Update dependency markupsafe to v2.1.1 ([#62](https://github.com/googleapis/java-apigee-registry/issues/62)) ([98036ae](https://github.com/googleapis/java-apigee-registry/commit/98036ae98fa56eba73cccb88a2af726d20fb2a1d)) * Update dependency protobuf to v3.20.2 ([#63](https://github.com/googleapis/java-apigee-registry/issues/63)) ([aa9f0e7](https://github.com/googleapis/java-apigee-registry/commit/aa9f0e7cad3940fa02cd69c3b3c3e8c2938e0c1b)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
It would be nice to be able to use the resource pattern around a Transaction:
Default behaviour of close() would be to roll back a transaction. This is to avoid potential errors caused by the application failing to catch unexpected Throwables causing incomplete work to be auto-committed.
The text was updated successfully, but these errors were encountered: