You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For example:
OperationalError: (1053, 'Server shutdown in progress')
File "sqlalchemy/engine/base.py", line 1244, in _execute_context
cursor, statement, parameters, context
File "sqlalchemy/engine/default.py", line 552, in do_execute
cursor.execute(statement, parameters)
File "MySQLdb/cursors.py", line 209, in execute
res = self._query(query)
File "MySQLdb/cursors.py", line 315, in _query
db.query(q)
File "MySQLdb/connections.py", line 226, in query
_mysql.connection.query(self, query)
OperationalError: (MySQLdb._exceptions.OperationalError) (1053, 'Server shutdown in progress')
[SQL: SELECT releases.name, releases.product, releases.data_version
FROM releases
WHERE releases.name = %s
LIMIT %s]
[parameters: ('Firefox-60.9.0esr-build1', 1)]
(Background on this error at: http://sqlalche.me/e/e3q8)
File "auslib/db.py", line 230, in execute
return self.conn.execute(statement)
File "sqlalchemy/engine/base.py", line 988, in execute
return meth(self, multiparams, params)
File "sqlalchemy/sql/elements.py", line 287, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "sqlalchemy/engine/base.py", line 1107, in _execute_clauseelement
distilled_params,
File "sqlalchemy/engine/base.py", line 1248, in _execute_context
e, statement, parameters, cursor, context
File "sqlalchemy/engine/base.py", line 1466, in _handle_dbapi_exception
util.raise_from_cause(sqlalchemy_exception, exc_info)
File "sqlalchemy/util/compat.py", line 398, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "sqlalchemy/util/compat.py", line 152, in reraise
raise value.with_traceback(tb)
File "sqlalchemy/engine/base.py", line 1244, in _execute_context
cursor, statement, parameters, context
File "sqlalchemy/engine/default.py", line 552, in do_execute
cursor.execute(statement, parameters)
File "MySQLdb/cursors.py", line 209, in execute
res = self._query(query)
File "MySQLdb/cursors.py", line 315, in _query
db.query(q)
File "MySQLdb/connections.py", line 226, in query
_mysql.connection.query(self, query)
OperationalError: (2006, 'MySQL server has gone away')
File "sqlalchemy/engine/base.py", line 739, in _rollback_impl
self.engine.dialect.do_rollback(self.connection)
File "sqlalchemy/dialects/mysql/base.py", line 2251, in do_rollback
dbapi_connection.rollback()
OperationalError: (MySQLdb._exceptions.OperationalError) (2006, 'MySQL server has gone away')
(Background on this error at: http://sqlalche.me/e/e3q8)
File "auslib/web/public/client.py", line 132, in wrapper
return f(*args, transaction=transaction, **kwargs)
File "auslib/web/public/client.py", line 151, in get_update_blob
release, update_type = AUS.evaluateRules(query, transaction=transaction)
File "auslib/AUS.py", line 120, in evaluateRules
release = dbo.releases.getReleases(name=rule["mapping"], limit=1, transaction=transaction)[0]
File "auslib/db.py", line 1835, in getReleases
rows = self.select(columns=[self.name, self.product, self.data_version], where=where, limit=limit, transaction=transaction)
File "auslib/db.py", line 391, in select
result = transaction.execute(query).fetchall()
File "auslib/db.py", line 237, in execute
self.rollback()
File "auslib/db.py", line 248, in rollback
self.trans.rollback()
File "sqlalchemy/engine/base.py", line 1705, in rollback
self._do_rollback()
File "sqlalchemy/engine/base.py", line 1743, in _do_rollback
self.connection._rollback_impl()
File "sqlalchemy/engine/base.py", line 741, in _rollback_impl
self._handle_dbapi_exception(e, None, None, None, None)
File "sqlalchemy/engine/base.py", line 1466, in _handle_dbapi_exception
util.raise_from_cause(sqlalchemy_exception, exc_info)
File "sqlalchemy/util/compat.py", line 398, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "sqlalchemy/util/compat.py", line 152, in reraise
raise value.with_traceback(tb)
File "sqlalchemy/engine/base.py", line 739, in _rollback_impl
self.engine.dialect.do_rollback(self.connection)
File "sqlalchemy/dialects/mysql/base.py", line 2251, in do_rollback
dbapi_connection.rollback()
TypeError: init() missing 2 required positional arguments: 'params' and 'orig'
File "flask/app.py", line 1949, in full_dispatch_request
rv = self.dispatch_request()
File "flask/app.py", line 1935, in dispatch_request
return self.view_functionsrule.endpoint
File "connexion/decorators/decorator.py", line 73, in wrapper
response = function(request)
File "connexion/decorators/uri_parsing.py", line 117, in wrapper
response = function(request)
File "connexion/decorators/validation.py", line 336, in wrapper
return function(request)
File "connexion/decorators/produces.py", line 38, in wrapper
response = function(request)
File "connexion/decorators/response.py", line 104, in wrapper
response = function(request)
File "connexion/decorators/decorator.py", line 44, in wrapper
response = function(request)
File "connexion/decorators/parameter.py", line 207, in wrapper
return function(**kwargs)
File "auslib/web/public/client.py", line 132, in wrapper
return f(*args, transaction=transaction, **kwargs)
File "auslib/db.py", line 209, in exit
e = exc_type(exc_value)
It looks like something changed in the constructor for some SQLAlchemy exceptions, and we're calling them incorrectly now.
Instead of just trying to fix this, I think it's worth considering whether or not we can get rid of AUSTransaction instead. I don't remember the justification for creating it in the first place, nor do I see much value in it. After pursuing some history it looks like it was added in https://bugzilla.mozilla.org/show_bug.cgi?id=678163#c13, and I may have thought it would help avoid data races?
For example:
OperationalError: (1053, 'Server shutdown in progress')
File "sqlalchemy/engine/base.py", line 1244, in _execute_context
cursor, statement, parameters, context
File "sqlalchemy/engine/default.py", line 552, in do_execute
cursor.execute(statement, parameters)
File "MySQLdb/cursors.py", line 209, in execute
res = self._query(query)
File "MySQLdb/cursors.py", line 315, in _query
db.query(q)
File "MySQLdb/connections.py", line 226, in query
_mysql.connection.query(self, query)
OperationalError: (MySQLdb._exceptions.OperationalError) (1053, 'Server shutdown in progress')
[SQL: SELECT releases.name, releases.product, releases.data_version
FROM releases
WHERE releases.name = %s
LIMIT %s]
[parameters: ('Firefox-60.9.0esr-build1', 1)]
(Background on this error at: http://sqlalche.me/e/e3q8)
File "auslib/db.py", line 230, in execute
return self.conn.execute(statement)
File "sqlalchemy/engine/base.py", line 988, in execute
return meth(self, multiparams, params)
File "sqlalchemy/sql/elements.py", line 287, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "sqlalchemy/engine/base.py", line 1107, in _execute_clauseelement
distilled_params,
File "sqlalchemy/engine/base.py", line 1248, in _execute_context
e, statement, parameters, cursor, context
File "sqlalchemy/engine/base.py", line 1466, in _handle_dbapi_exception
util.raise_from_cause(sqlalchemy_exception, exc_info)
File "sqlalchemy/util/compat.py", line 398, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "sqlalchemy/util/compat.py", line 152, in reraise
raise value.with_traceback(tb)
File "sqlalchemy/engine/base.py", line 1244, in _execute_context
cursor, statement, parameters, context
File "sqlalchemy/engine/default.py", line 552, in do_execute
cursor.execute(statement, parameters)
File "MySQLdb/cursors.py", line 209, in execute
res = self._query(query)
File "MySQLdb/cursors.py", line 315, in _query
db.query(q)
File "MySQLdb/connections.py", line 226, in query
_mysql.connection.query(self, query)
OperationalError: (2006, 'MySQL server has gone away')
File "sqlalchemy/engine/base.py", line 739, in _rollback_impl
self.engine.dialect.do_rollback(self.connection)
File "sqlalchemy/dialects/mysql/base.py", line 2251, in do_rollback
dbapi_connection.rollback()
OperationalError: (MySQLdb._exceptions.OperationalError) (2006, 'MySQL server has gone away')
(Background on this error at: http://sqlalche.me/e/e3q8)
File "auslib/web/public/client.py", line 132, in wrapper
return f(*args, transaction=transaction, **kwargs)
File "auslib/web/public/client.py", line 151, in get_update_blob
release, update_type = AUS.evaluateRules(query, transaction=transaction)
File "auslib/AUS.py", line 120, in evaluateRules
release = dbo.releases.getReleases(name=rule["mapping"], limit=1, transaction=transaction)[0]
File "auslib/db.py", line 1835, in getReleases
rows = self.select(columns=[self.name, self.product, self.data_version], where=where, limit=limit, transaction=transaction)
File "auslib/db.py", line 391, in select
result = transaction.execute(query).fetchall()
File "auslib/db.py", line 237, in execute
self.rollback()
File "auslib/db.py", line 248, in rollback
self.trans.rollback()
File "sqlalchemy/engine/base.py", line 1705, in rollback
self._do_rollback()
File "sqlalchemy/engine/base.py", line 1743, in _do_rollback
self.connection._rollback_impl()
File "sqlalchemy/engine/base.py", line 741, in _rollback_impl
self._handle_dbapi_exception(e, None, None, None, None)
File "sqlalchemy/engine/base.py", line 1466, in _handle_dbapi_exception
util.raise_from_cause(sqlalchemy_exception, exc_info)
File "sqlalchemy/util/compat.py", line 398, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "sqlalchemy/util/compat.py", line 152, in reraise
raise value.with_traceback(tb)
File "sqlalchemy/engine/base.py", line 739, in _rollback_impl
self.engine.dialect.do_rollback(self.connection)
File "sqlalchemy/dialects/mysql/base.py", line 2251, in do_rollback
dbapi_connection.rollback()
TypeError: init() missing 2 required positional arguments: 'params' and 'orig'
File "flask/app.py", line 1949, in full_dispatch_request
rv = self.dispatch_request()
File "flask/app.py", line 1935, in dispatch_request
return self.view_functionsrule.endpoint
File "connexion/decorators/decorator.py", line 73, in wrapper
response = function(request)
File "connexion/decorators/uri_parsing.py", line 117, in wrapper
response = function(request)
File "connexion/decorators/validation.py", line 336, in wrapper
return function(request)
File "connexion/decorators/produces.py", line 38, in wrapper
response = function(request)
File "connexion/decorators/response.py", line 104, in wrapper
response = function(request)
File "connexion/decorators/decorator.py", line 44, in wrapper
response = function(request)
File "connexion/decorators/parameter.py", line 207, in wrapper
return function(**kwargs)
File "auslib/web/public/client.py", line 132, in wrapper
return f(*args, transaction=transaction, **kwargs)
File "auslib/db.py", line 209, in exit
e = exc_type(exc_value)
It looks like something changed in the constructor for some SQLAlchemy exceptions, and we're calling them incorrectly now.
Instead of just trying to fix this, I think it's worth considering whether or not we can get rid of AUSTransaction instead. I don't remember the justification for creating it in the first place, nor do I see much value in it. After pursuing some history it looks like it was added in https://bugzilla.mozilla.org/show_bug.cgi?id=678163#c13, and I may have thought it would help avoid data races?
(Imported from https://bugzilla.mozilla.org/show_bug.cgi?id=1578476)
The text was updated successfully, but these errors were encountered: