db-archiving fails to clear some deleted rows from instances table
Issue
- When trying to archive the deleted rows with
nova-manage db archive_deleted_rows --max_rows $number
, a constraint error is displayed:
2015-10-08 13:56:22.475 31913 ERROR oslo.db.sqlalchemy.exc_filters [req-d6afaea2-3896-4774-8eca-1e2cb1cb0eb1 ] DBAPIError exception wrapped from (IntegrityError) (1451, 'Cannot delete or update a parent row: a foreign key constraint fails (`nova`.`instance_actions`, CONSTRAINT `fk_instance_actions_instance_uuid` FOREIGN KEY (`instance_uuid`) REFERENCES `instances` (`uuid`))') 'DELETE FROM instances WHERE instances.id in (SELECT T1.id FROM (SELECT instances.id \nFROM instances \nWHERE instances.deleted != %s ORDER BY instances.id \n LIMIT %s) as T1)' (0, 40000)
2015-10-08 13:56:22.475 31913 TRACE oslo.db.sqlalchemy.exc_filters Traceback (most recent call last):
2015-10-08 13:56:22.475 31913 TRACE oslo.db.sqlalchemy.exc_filters File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 951, in _execute_context
2015-10-08 13:56:22.475 31913 TRACE oslo.db.sqlalchemy.exc_filters context)
2015-10-08 13:56:22.475 31913 TRACE oslo.db.sqlalchemy.exc_filters File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/default.py", line 436, in do_execute
2015-10-08 13:56:22.475 31913 TRACE oslo.db.sqlalchemy.exc_filters cursor.execute(statement, parameters)
2015-10-08 13:56:22.475 31913 TRACE oslo.db.sqlalchemy.exc_filters File "/usr/lib64/python2.7/site-packages/MySQLdb/cursors.py", line 174, in execute
2015-10-08 13:56:22.475 31913 TRACE oslo.db.sqlalchemy.exc_filters self.errorhandler(self, exc, value)
2015-10-08 13:56:22.475 31913 TRACE oslo.db.sqlalchemy.exc_filters File "/usr/lib64/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
2015-10-08 13:56:22.475 31913 TRACE oslo.db.sqlalchemy.exc_filters raise errorclass, errorvalue
2015-10-08 13:56:22.475 31913 TRACE oslo.db.sqlalchemy.exc_filters IntegrityError: (1451, 'Cannot delete or update a parent row: a foreign key constraint fails (`nova`.`instance_actions`, CONSTRAINT `fk_instance_actions_instance_uuid` FOREIGN KEY (`instance_uuid`) REFERENCES `instances` (`uuid`))')
2015-10-08 13:56:22.475 31913 TRACE oslo.db.sqlalchemy.exc_filters
2015-10-08 13:56:22.529 31913 WARNING nova.db.sqlalchemy.api [req-d6afaea2-3896-4774-8eca-1e2cb1cb0eb1 None] IntegrityError detected when archiving table instances
Environment
- Red Hat OpenStack 6.0 (RHOS)
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.