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
Clean up some tests and fix IsValidTest race condition #1581
Merged
Conversation
This file contains 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
Adds some helpers to TestUtil to deal with boiler plate of executinga query and disgarding the results, fetching the backend process id, terminating a backend process, and fetching the current transaction state.
Cleans up IsValidTest and removes a race condition when checking whether terminated connections are marked as invalid. Also splits out the transaction state test into three separate ones to better identify what's being tested.
This also changes the pg_terminate_backend(...) call to use a non-privileged connection as a regular user can terminate their own connection.
This also changes the connection termination to use a non-privileged connection.
|
Older versions of the server (<=9.1) restrict calling pg_terminate_backend(...) to super users so always use that in test helper.
|
Codecov Report
@@ Coverage Diff @@
## master #1581 +/- ##
============================================
+ Coverage 68.92% 68.96% +0.04%
- Complexity 3995 3997 +2
============================================
Files 179 179
Lines 16622 16622
Branches 2707 2707
============================================
+ Hits 11457 11464 +7
+ Misses 3908 3904 -4
+ Partials 1257 1254 -3 |
@sehrope are you satisfied with this or do you have more work to do ? |
I'm done with this PR and think it's good to go. |
9 tasks
@davecramer Anything holding up merging this in? |
Guess not :) |
davecramer
pushed a commit
to davecramer/pgjdbc
that referenced
this issue
Jul 5, 2021
* test: Add some helpers to TestUtil Adds some helpers to TestUtil to deal with boiler plate of executinga query and disgarding the results, fetching the backend process id, terminating a backend process, and fetching the current transaction state. * test: Clean up IsValidTest Cleans up IsValidTest and removes a race condition when checking whether terminated connections are marked as invalid. Also splits out the transaction state test into three separate ones to better identify what's being tested. * test: Change CopyTest to use TestUtil backend pid helpers This also changes the connection termination to use a non-privileged connection. * test: Change ConnectionPoolTest to use backend pid TestUtil helpers This also changes the pg_terminate_backend(...) call to use a non-privileged connection as a regular user can terminate their own connection. * fix: Use super user to terminate backend processes in tests Older versions of the server (<=9.1) restrict calling pg_terminate_backend(...) to super users so always use that in test helper.
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.
This PR: