Issue - 134 : Fix for session leak issue#135
Issue - 134 : Fix for session leak issue#135stephenplusplus merged 11 commits intogoogleapis:masterfrom honeyscience:AB-SessionLeakFix
Conversation
…_ or writes_ array but it was not added to borrowed_ array immediately. Due to which, there would be a time where a session is not present in either writes_ or reads_ or borrowed_. This causes the code to create new session as it concludes that 1 session is missing. Hence, the code is always creating session, maxing out the total connections to be made to spanner which eventually locks the database as we cannot create any new connections
|
Thanks for your pull request. t looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed (or fixed any issues), please reply here (e.g. What to do if you already signed the CLAIndividual signers
Corporate signers
|
Codecov Report
@@ Coverage Diff @@
## master #135 +/- ##
=====================================
Coverage 100% 100%
=====================================
Files 12 12
Lines 1394 1398 +4
=====================================
+ Hits 1394 1398 +4
Continue to review full report at Codecov.
|
|
We are working on getting the Corporate CLA set up on our side .... This should be ready in a few hours. |
src/session-pool.js
Outdated
| var index = self.borrowed_.indexOf(session); | ||
| self.borrowed_.splice(index, 1); | ||
| // session is borrowed but not released, it will cause a session leak. | ||
| self.release(session); |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
|
@callmehiphop Update the PR. |
|
Corporate CLA was signed on Mar 05, 2018 11:04 PST |
|
So there's good news and bad news. 👍 The good news is that everyone that needs to sign a CLA (the pull request submitter and all commit authors) have done so. Everything is all good there. 😕 The bad news is that it appears that one or more commits were authored by someone other than the pull request submitter. We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that here in the pull request. Note to project maintainer: This is a terminal state, meaning the |
|
@alexander-fenster we'll probably need help checking the CLA. |
|
The bot complains that there are two people who contributed to this PR: the original author @anup-honey and @stephenplusplus who merged the latest changes from master to this branch. That may look a little bit weird but we need @anup-honey to confirm here that they are OK with their commits being merged :) @anup-honey, please reply OK here if so. After that, after @callmehiphop approves, we're good to go. |
|
@alexander-fenster check the CLA bots logs so far, though. It doesn't seem to have ever recognized the CLA from @anup-honey. Regarding the line: "stephenplusplus added the |
|
I signed the Corporate CLA on Mar 05, 2018 11:04 PST. |
|
@anup-honey @DuaneGarber you said you have signed the corporate CLA, what's the name of the corporation so that I could check it internally? Thanks! |
|
@alexander-fenster The name is "Honey Science Corporation" |
|
@anup-honey Yes, then you're good to go. Just waiting for @callmehiphop to approve the changes :) Thanks! |
#134
Description:
Fixing the session leak issue. The session was removed from the reads_ or writes_ array but it was not added to borrowed_ array immediately. Due to which, there would be a time where a session is not present in either writes_ or reads_ or borrowed_. This causes the code to create new session as it concludes that 1 session is missing. Hence, the code is always creating session, maxing out the total connections to be made to spanner which eventually locks the database as we cannot create any new connections