Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Invalid transaction #201

Open
ralphbean opened this issue Dec 1, 2017 · 0 comments
Open

Invalid transaction #201

ralphbean opened this issue Dec 1, 2017 · 0 comments
Labels

Comments

@ralphbean
Copy link
Contributor

Sometimes, datagrepper gets borked and starts returning these:

{"detail":"Can't reconnect until invalid transaction is rolled back (original cause: InvalidRequestError: Can't reconnect until invalid transaction is rolled back) u'SELECT messages.id AS messages_id, messages.msg_id AS messages_msg_id, messages.i AS messages_i, messages.topic AS messages_topic, messages.timestamp AS messages_timestamp, messages.certificate AS messages_certificate, messages.signature AS messages_signature, messages.category AS messages_category, messages.username AS messages_username, messages.crypto AS messages_crypto, messages.source_name AS messages_source_name, messages.source_version AS messages_source_version, messages._msg AS messages__msg, messages._headers AS messages__headers \\nFROM messages \\nWHERE messages.msg_id = %(msg_id_1)s \\n LIMIT %(param_1)s' [immutabledict({})]","error":"internal_error","traceback":"Traceback (most recent call last):\n  File \"/usr/lib/python2.7/site-packages/flask/app.py\", line 1817, in wsgi_app\n    response = self.full_dispatch_request()\n  File \"/usr/lib/python2.7/site-packages/flask/app.py\", line 1477, in full_dispatch_request\n    rv = self.handle_user_exception(e)\n  File \"/usr/lib/python2.7/site-packages/flask/app.py\", line 1381, in handle_user_exception\n    reraise(exc_type, exc_value, tb)\n  File \"/usr/lib/python2.7/site-packages/flask/app.py\", line 1475, in full_dispatch_request\n    rv = self.dispatch_request()\n  File \"/usr/lib/python2.7/site-packages/flask/app.py\", line 1461, in dispatch_request\n    return self.view_functions[rule.endpoint](**req.view_args)\n  File \"/usr/lib/python2.7/site-packages/datagrepper/app.py\", line 420, in msg_id\n    msg = dm.Message.query.filter_by(msg_id=flask.request.args['id']).first()\n  File \"/usr/lib64/python2.7/site-packages/sqlalchemy/orm/query.py\", line 2367, in first\n    ret = list(self[0:1])\n  File \"/usr/lib64/python2.7/site-packages/sqlalchemy/orm/query.py\", line 2228, in __getitem__\n    return list(res)\n  File \"/usr/lib64/python2.7/site-packages/sqlalchemy/orm/query.py\", line 2438, in __iter__\n    return self._execute_and_instances(context)\n  File \"/usr/lib64/python2.7/site-packages/sqlalchemy/orm/query.py\", line 2453, in _execute_and_instances\n    result = conn.execute(querycontext.statement, self._params)\n  File \"/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py\", line 729, in execute\n    return meth(self, multiparams, params)\n  File \"/usr/lib64/python2.7/site-packages/sqlalchemy/sql/elements.py\", line 322, in _execute_on_connection\n    return connection._execute_clauseelement(self, multiparams, params)\n  File \"/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py\", line 826, in _execute_clauseelement\n    compiled_sql, distilled_params\n  File \"/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py\", line 893, in _execute_context\n    None, None)\n  File \"/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py\", line 1159, in _handle_dbapi_exception\n    exc_info\n  File \"/usr/lib64/python2.7/site-packages/sqlalchemy/util/compat.py\", line 199, in raise_from_cause\n    reraise(type(exception), exception, tb=exc_tb)\n  File \"/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py\", line 887, in _execute_context\n    conn = self._revalidate_connection()\n  File \"/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py\", line 242, in _revalidate_connection\n    \"Can't reconnect until invalid \"\nStatementError: Can't reconnect until invalid transaction is rolled back (original cause: InvalidRequestError: Can't reconnect until invalid transaction is rolled back) u'SELECT messages.id AS messages_id, messages.msg_id AS messages_msg_id, messages.i AS messages_i, messages.topic AS messages_topic, messages.timestamp AS messages_timestamp, messages.certificate AS messages_certificate, messages.signature AS messages_signature, messages.category AS messages_category, messages.username AS messages_username, messages.crypto AS messages_crypto, messages.source_name AS messages_source_name, messages.source_version AS messages_source_version, messages._msg AS messages__msg, messages._headers AS messages__headers \\nFROM messages \\nWHERE messages.msg_id = %(msg_id_1)s \\n LIMIT %(param_1)s' [immutabledict({})]\n"}

An apachectl graceful gets it going again.

Datagrepper should get some kind of logic to renew its sessions correctly when they go stale like this.

@jwflory jwflory added the bug label Dec 2, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants