Skip to content
This repository has been archived by the owner on Sep 24, 2022. It is now read-only.

Wait for a pending connection when acquiring #122

Merged
merged 1 commit into from
Oct 13, 2015
Merged

Wait for a pending connection when acquiring #122

merged 1 commit into from
Oct 13, 2015

Conversation

jbowes
Copy link
Contributor

@jbowes jbowes commented Sep 26, 2015

There are two cases when a caller might ask for a connection when the
only available ones are in a pending state:

  • Upon initialization, if the caller hasn't waited for connect() to
    complete.
  • After all connections to the database are lost, and they are
    reconnecting.

Instead of immediately returning an error to the caller, add them to the
waiting queue, allowing them to either get a connection, or return an
error if none of the pending connections succeed.

@haizaar
Copy link
Collaborator

haizaar commented Sep 26, 2015

Nice catch. Can you please add unittests for the two cases you describe?

Thanks.

@jbowes
Copy link
Contributor Author

jbowes commented Sep 26, 2015

Nice catch. Can you please add unittests for the two cases you describe?

Thanks :)

Sure can!

I'll try to add those in the next day or two.

@haizaar
Copy link
Collaborator

haizaar commented Oct 5, 2015

Hi,
I'm kindly asking if you have update on this?

@jbowes
Copy link
Contributor Author

jbowes commented Oct 5, 2015

Hi!

I've been away.
I did start trying to run the tests on OS X, but have had a lot of failures.

What do you use to develop/run the tests? maybe I'll have better luck in a VM of a similar setup.

@haizaar
Copy link
Collaborator

haizaar commented Oct 5, 2015

I'm running on Ubuntu 14.04. Travis CI environment runs Ubuntu as well.
Please note that you need a gcc compiler available.

I suggest using Ubuntu 14.04 VM. Get it working on a single version of
Python, push the code and let Travis to run the full comparability matrix
for you.

Let me know if you need any further help.

On Mon, Oct 5, 2015 at 9:28 PM, James Bowes notifications@github.com
wrote:

Hi!

I've been away.
I did start trying to run the tests on OS X, but have had a lot of
failures.

What do you use to develop/run the tests? maybe I'll have better luck in a
VM of a similar setup.


Reply to this email directly or view it on GitHub
#122 (comment).

Zaar

@jbowes
Copy link
Contributor Author

jbowes commented Oct 6, 2015

updated with tests :)

@jbowes
Copy link
Contributor Author

jbowes commented Oct 7, 2015

Makes sense to me!

I'll implement that and add a few tests to ensure callers will get exceptions.

There are two cases when a caller might ask for a connection when the
only available ones are in a pending state:
- Upon initialization, if the caller hasn't waited for `connect()` to
  complete.
- After all connections to the database are lost, and they are
  reconnecting.

Instead of immediately returning an error to the caller, add them to the
waiting queue, allowing them to either get a connection, or return an
error if none of the pending connections succeed.
@haizaar
Copy link
Collaborator

haizaar commented Oct 12, 2015

Another gentle ping :)

@jbowes
Copy link
Contributor Author

jbowes commented Oct 13, 2015

Oh!

It's all updated and passing... I forgot to leave a comment though 😿

haizaar added a commit that referenced this pull request Oct 13, 2015
Wait for a pending connection when acquiring
@haizaar haizaar merged commit 3671d84 into FSX:master Oct 13, 2015
@haizaar
Copy link
Collaborator

haizaar commented Oct 13, 2015

Thank you!

@jbowes
Copy link
Contributor Author

jbowes commented Oct 13, 2015

My pleasure:)

@jbowes jbowes deleted the wait-on-pending branch October 13, 2015 10:32
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants