Idle postgres connection interferes with some automated testing frameworks #434

Closed
artemp opened this Issue Oct 11, 2011 · 4 comments

Comments

Projects
None yet
1 participant
@artemp
Member

artemp commented Oct 11, 2011

Using django testing framework, some unit tests were written that generate a basic default map which draws from postgis.

The db connection stays open (due to connection pooling?). While this is good behavior in production, the testing framework creates a test db, runs tests then destroys the test db as the final step. Because mapnik still has an idle postgres connection, the test script throws an exception:

psycopg2.OperationalError: database "test_simple1" is being accessed by other users
DETAIL: There are 1 other session(s) using the database.

It would be nice to have a way to control this connection behavior via the mapnik API.

@artemp

This comment has been minimized.

Show comment
Hide comment
@artemp

artemp Oct 11, 2011

Member

[springmeyer] see #433 where I experimenting with the connection being closed when the datasource object is deleted rather than when mapnik exits (and releases the Connection Manager). I think the latter behavior is likely ideal, but perhaps we could add keyword arg to the postgis layer to control this....

Member

artemp commented Oct 11, 2011

[springmeyer] see #433 where I experimenting with the connection being closed when the datasource object is deleted rather than when mapnik exits (and releases the Connection Manager). I think the latter behavior is likely ideal, but perhaps we could add keyword arg to the postgis layer to control this....

@artemp

This comment has been minimized.

Show comment
Hide comment
@artemp

artemp Oct 11, 2011

Member

[springmeyer] Keyword arg added to patch at #433 which maintains current behavior but allows the desired control.

When you set:

persist_connection = false

in the params of one of the postgres layers loaded via xml, then call

del map

and the connection should be closed.

Member

artemp commented Oct 11, 2011

[springmeyer] Keyword arg added to patch at #433 which maintains current behavior but allows the desired control.

When you set:

persist_connection = false

in the params of one of the postgres layers loaded via xml, then call

del map

and the connection should be closed.

@artemp

This comment has been minimized.

Show comment
Hide comment
@artemp

artemp Oct 11, 2011

Member

[perrygeo] Setting persist_connection to false appears to work - regardless of using "del map" or not.

Member

artemp commented Oct 11, 2011

[perrygeo] Setting persist_connection to false appears to work - regardless of using "del map" or not.

@artemp

This comment has been minimized.

Show comment
Hide comment
@artemp

artemp Oct 11, 2011

Member

[springmeyer] great, applied in r1337

Member

artemp commented Oct 11, 2011

[springmeyer] great, applied in r1337

@artemp artemp closed this Oct 11, 2011

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment