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

Non psycopg2 exception can lock connection #79

Closed
nxsofsys opened this issue Nov 15, 2014 · 1 comment
Closed

Non psycopg2 exception can lock connection #79

nxsofsys opened this issue Nov 15, 2014 · 1 comment

Comments

@nxsofsys
Copy link

For example I have code like this and only one connection in pool:

        try:
            cursor = yield momoko.Op(self.db.execute, 'SELECT %s FROM %s'
                ,()) # rises TypeError
        except Exception as e:
            print e
            cursor = yield momoko.Op(self.db.execute, 'SELECT 1'
                ,())
            print 'Done' #unreachable

This code rises TypeError, but second query can't obtain connection.
Debug log is:

[D 141115 18:00:26 connection:234] Connection attempt complete. Success: True
[D 141115 18:00:31 connection:252] Getting connection
[D 141115 18:00:31 connection:327] Connection obtained, proceeding
tuple index out of range
[D 141115 18:00:31 connection:252] Getting connection
[D 141115 18:00:31 connection:272] There are busy connections
[D 141115 18:00:31 connection:321] No connection available right now - will try again later

Changing psycopg2.Error to Exception in _catch_early_errors decorator fixes that issue, but I not sure that it right.

haizaar added a commit that referenced this issue Nov 16, 2014
Catching ALL types of early error. Fixes #79.
@haizaar
Copy link
Collaborator

haizaar commented Nov 16, 2014

Thanks for the bug report and suggestion for the fix!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants