From: Mike Bayer Date: Mon, 21 Aug 2017 23:00:25 +0000 (-0400) Subject: - keep trying to get PG dbs to build X-Git-Tag: origin~54 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f3f6116c57c00b6e8ab6302624514b559cf2731b;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - keep trying to get PG dbs to build Change-Id: Ib36949da8f079594494a482423d96e7509673481 --- diff --git a/lib/sqlalchemy/testing/provision.py b/lib/sqlalchemy/testing/provision.py index b8ffa9687c..9d41d7e5d0 100644 --- a/lib/sqlalchemy/testing/provision.py +++ b/lib/sqlalchemy/testing/provision.py @@ -169,16 +169,27 @@ def _pg_create_db(cfg, eng, ident): currentdb = conn.scalar("select current_database()") for attempt in range(10): try: + log.info( + "emitting CREATE DATABASE %s url %r" % + (ident, eng.url)) conn.execute( "CREATE DATABASE %s TEMPLATE %s" % (ident, currentdb)) except exc.OperationalError as err: + conn.connection.rollback() if attempt != 10 and "accessed by other users" in str(err): + log.info( + "got accessed by others for database %s, URI %r, " + "sleeping for .2", + ident, eng.url) time.sleep(.2) continue else: raise else: time.sleep(.5) + log.info( + "checking for database %s URI %r" % + (ident, eng.url)) result = conn.execute( "SELECT datname FROM pg_database " "where datname='%s'" % ident)