From 8b119e2ae9039fe368cfadffd80d7fb559bf5ab7 Mon Sep 17 00:00:00 2001 From: Martin Trigaux Date: Mon, 5 Mar 2018 14:39:08 +0100 Subject: [PATCH] [FIX] base: skip failed autovaccum This patch prevents bugs fixed at 5d463d2 to block the database. It was preventing the autovacuum to properly clean old records. Failing to unlink (may have various different reasons) should not block the autovacuum to try on other models Closes #23455 --- odoo/addons/base/ir/ir_autovacuum.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/odoo/addons/base/ir/ir_autovacuum.py b/odoo/addons/base/ir/ir_autovacuum.py index 774a6613592..1bbbd4ee096 100644 --- a/odoo/addons/base/ir/ir_autovacuum.py +++ b/odoo/addons/base/ir/ir_autovacuum.py @@ -17,7 +17,11 @@ class AutoVacuum(models.AbstractModel): for mname in self.env: model = self.env[mname] if model.is_transient(): - model._transient_vacuum(force=True) + try: + with cr.savepoint(): + model._transient_vacuum(force=True) + except Exception as e: + _logger.warning("Failed to clean transient model %s\n%s", model, str(e)) @api.model def _gc_user_logs(self):