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 of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
