diff --git a/src/master/authenticator/authenticator.py b/src/master/authenticator/authenticator.py index 904cd8ac954d9c4b2cc6e887bedca899b8089c22..01ab05c454f03a4cbf44bd20b40dda24dd2c2a3d 100755 --- a/src/master/authenticator/authenticator.py +++ b/src/master/authenticator/authenticator.py @@ -67,9 +67,14 @@ class AuthClient(basic.LineReceiver): try: queryExecute(client) except (psycopg2.OperationalError, psycopg2.InterfaceError): - print "DB broken, recreating" - openDB() - queryExecute(client) + try: + print "DB broken, recreating" + openDB() + queryExecute(client) + except (psycopg2.OperationalError, psycopg2.InterfaceError): + print "DB still broken, dropping request" + self.transport.abortConnection() + return log_info = cursor.fetchone() db.rollback() if log_info: