Conversation

olavloite

Closing a Spanner client means that all resources that have been returned by the client are no longer valid, including all DatabaseClients and corresponding session pools. This will cause errors for any other process that might still want to use these resources. This change marks when and by which call stack a Spanner client is closed, and includes that in any subsequent IllegalStateException that is returned to any process that tries to use the resources that have been returned by the Spanner client. This makes it easier to track down where and when a Spanner client is closed by accident.

Closing a Spanner client means that all resources that have been returned
by the client are no longer valid, including all DatabaseClients and
corresponding session pools. This will cause errors for any other process
that might still want to use these resources. This change marks when and by
which call stack a Spanner client is closed, and includes that in any
subsequent IllegalStateException that is returned to any process that tries
to use the resources that have been returned by the Spanner client. This
makes it easier to track down where and when a Spanner client is closed by
accident.
@googlebotgooglebot added the cla: yesThis human has signed the Contributor License Agreement.label May 12, 2020
@olavloiteolavloite added the kokoro:force-runAdd this label to force Kokoro to re-run the tests.label May 13, 2020
@yoshi-kokoroyoshi-kokoro removed kokoro:force-runAdd this label to force Kokoro to re-run the tests.labels May 13, 2020
@olavloiteolavloite requested a review from skuruppu May 13, 2020 07:27

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for providing the debugging information in such an elegant way @olavloite.

@skuruppuskuruppu merged commit 50cb174 into master May 14, 2020
@skuruppuskuruppu deleted the mark-spanner-closure branch May 14, 2020 05:49
gcf-merge-on-green bot pushed a commit that referenced this pull request May 19, 2020
🤖 I have created a release \*beep\* \*boop\* 
---
## [1.55.0](https://www..com/googleapis/java-spanner/compare/v1.54.0...v1.55.0) (2020-05-19)


### Features

* mark when a Spanner client is closed ([#198](https://www..com/googleapis/java-spanner/issues/198)) ([50cb174](https://www..com/googleapis/java-spanner/commit/50cb1744e7ede611758d3ff63b3df77a1d3682eb))


### Bug Fixes

* make it possible to override backups methods ([#195](https://www..com/googleapis/java-spanner/issues/195)) ([2d19c25](https://www..com/googleapis/java-spanner/commit/2d19c25ba32847d116194565e67e1b1276fcb9f8))
* Partitioned DML timeout was not always respected ([#203](https://www..com/googleapis/java-spanner/issues/203)) ([13cb37e](https://www..com/googleapis/java-spanner/commit/13cb37e55ddfd1ff4ec22b1dcdc20c4832eee444)), closes [#199](https://www..com/googleapis/java-spanner/issues/199)
* partitionedDml stub was not closed ([#213](https://www..com/googleapis/java-spanner/issues/213)) ([a2d9a33](https://www..com/googleapis/java-spanner/commit/a2d9a33fa31f7467fc2bfbef5a29c4b3f5aea7c8))
* reuse clientId for invalidated databases ([#206](https://www..com/googleapis/java-spanner/issues/206)) ([7b4490d](https://www..com/googleapis/java-spanner/commit/7b4490dfb61fbc81b5bd6be6c9a663b36b5ce402))
* use nanos to prevent truncation errors ([#204](https://www..com/googleapis/java-spanner/issues/204)) ([a608460](https://www..com/googleapis/java-spanner/commit/a60846043dc0ca47e1970d8ab99380b6d725c7a9)), closes [#200](https://www..com/googleapis/java-spanner/issues/200)


### Dependencies

* update dependency com.google.cloud:google-cloud-shared-dependencies to v0.3.1 ([#190](https://www..com/googleapis/java-spanner/issues/190)) ([ad41a0d](https://www..com/googleapis/java-spanner/commit/ad41a0d4b0cc6a2c0ae0611c767652f64cfb2fb7))
---


This PR was generated with [Release Please](https://.com/googleapis/release-please).
ansh0l pushed a commit to ansh0l/java-spanner that referenced this pull request Nov 10, 2022
- Don't use pipefail, because things in the middle of pipes should be
allowed to fail.
- Use find instead of xargs, because grep will fail when it matches
nothing (like, files without copyright), which makes xargs fail.
rajatbhatta pushed a commit to rajatbhatta/java-spanner that referenced this pull request Nov 17, 2022
Sign up for free to join this conversation on . Already have an account? Sign in to comment
cla: yesThis human has signed the Contributor License Agreement.
None yet

Successfully merging this pull request may close these issues.