Skip to content

backy2 du fails w/query error #71

@andrewbogott

Description

@andrewbogott

I've set up my mysql database using the patch at #32. Most features seem to work, but du errors like this:

root@cloudvirt1004:~# backy2 -vd du
INFO: [backy2.logging] $ /usr/bin/backy2 -vd du
DEBUG: [backy2.logging] backup.du(**{'fields': 'Real,Null,Dedup Own,Dedup Others,Individual,Est. Space,Est. Space freed', 'version_uid': None})
INFO: [alembic.runtime.migration] Context impl MySQLImpl.
INFO: [alembic.runtime.migration] Will assume non-transactional DDL.
ERROR: [backy2.logging] Unexpected exception
ERROR: [backy2.logging] (_mysql_exceptions.ProgrammingError) (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ') own_shared,\n (select count() cnt from blocks where uid=a.uid)' at line 1") [SQL: '\n select a.uid, a.size, count(a.) own_shared,\n (select count() cnt from blocks where uid=a.uid) shared\n from blocks a\n where a.version_uid=%s\n and a.uid is not NULL\n group by a.uid, a.size\n '] [parameters: ('be6dc186-d8f3-11ea-9d64-f0921c05f570',)] (Background on this error at: http://sqlalche.me/e/f405)
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1236, in _execute_context
cursor, statement, parameters, context
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 536, in do_execute
cursor.execute(statement, parameters)
File "/usr/lib/python3/dist-packages/MySQLdb/cursors.py", line 250, in execute
self.errorhandler(self, exc, value)
File "/usr/lib/python3/dist-packages/MySQLdb/connections.py", line 50, in defaulterrorhandler
raise errorvalue
File "/usr/lib/python3/dist-packages/MySQLdb/cursors.py", line 247, in execute
res = self._query(query)
File "/usr/lib/python3/dist-packages/MySQLdb/cursors.py", line 411, in _query
rowcount = self._do_query(q)
File "/usr/lib/python3/dist-packages/MySQLdb/cursors.py", line 374, in _do_query
db.query(q)
File "/usr/lib/python3/dist-packages/MySQLdb/connections.py", line 292, in query
_mysql.connection.query(self, query)
_mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ') own_shared,\n (select count() cnt from blocks where uid=a.uid)' at line 1")

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/backy2/scripts/backy.py", line 757, in main
func(**func_args)
File "/usr/lib/python3/dist-packages/backy2/scripts/backy.py", line 223, in du
stats = backy.du(version_uid)
File "/usr/lib/python3/dist-packages/backy2/backy.py", line 113, in du
return self.meta_backend.du(version_uid)
File "/usr/lib/python3/dist-packages/backy2/meta_backends/sql.py", line 275, in du
result = self.session.execute(statement, params={'version_uid': version_uid})
File "/usr/lib/python3/dist-packages/sqlalchemy/orm/session.py", line 1263, in execute
clause, params or {}
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 980, in execute
return meth(self, multiparams, params)
File "/usr/lib/python3/dist-packages/sqlalchemy/sql/elements.py", line 273, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1099, in _execute_clauseelement
distilled_params,
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1240, in _execute_context
e, statement, parameters, cursor, context
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1458, in _handle_dbapi_exception
util.raise_from_cause(sqlalchemy_exception, exc_info)
File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 296, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/usr/lib/python3/dist-packages/sqlalchemy/util/compat.py", line 276, in reraise
raise value.with_traceback(tb)
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/base.py", line 1236, in _execute_context
cursor, statement, parameters, context
File "/usr/lib/python3/dist-packages/sqlalchemy/engine/default.py", line 536, in do_execute
cursor.execute(statement, parameters)
File "/usr/lib/python3/dist-packages/MySQLdb/cursors.py", line 250, in execute
self.errorhandler(self, exc, value)
File "/usr/lib/python3/dist-packages/MySQLdb/connections.py", line 50, in defaulterrorhandler
raise errorvalue
File "/usr/lib/python3/dist-packages/MySQLdb/cursors.py", line 247, in execute
res = self._query(query)
File "/usr/lib/python3/dist-packages/MySQLdb/cursors.py", line 411, in _query
rowcount = self._do_query(q)
File "/usr/lib/python3/dist-packages/MySQLdb/cursors.py", line 374, in _do_query
db.query(q)
File "/usr/lib/python3/dist-packages/MySQLdb/connections.py", line 292, in query
_mysql.connection.query(self, query)
sqlalchemy.exc.ProgrammingError: (_mysql_exceptions.ProgrammingError) (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ') own_shared,\n (select count() cnt from blocks where uid=a.uid)' at line 1") [SQL: '\n select a.uid, a.size, count(a.) own_shared,\n (select count() cnt from blocks where uid=a.uid) shared\n from blocks a\n where a.version_uid=%s\n and a.uid is not NULL\n group by a.uid, a.size\n '] [parameters: ('be6dc186-d8f3-11ea-9d64-f0921c05f570',)] (Background on this error at: http://sqlalche.me/e/f405)
ERROR: [backy2.logging] Backy failed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions