From 918a9660ed92e7ed9d0ee61c79e7587563414045 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Bidoul?= <stephane.bidoul@acsone.eu>
Date: Tue, 2 Jul 2024 20:35:11 +0200
Subject: [PATCH] [IMP] queue_job: make sorting more explicit

---
 queue_job/jobrunner/runner.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/queue_job/jobrunner/runner.py b/queue_job/jobrunner/runner.py
index afaaa90200..3ffd7d035f 100644
--- a/queue_job/jobrunner/runner.py
+++ b/queue_job/jobrunner/runner.py
@@ -420,7 +420,7 @@ def get_db_names(self):
             db_names = config["db_name"].split(",")
         else:
             db_names = odoo.service.db.list_dbs(True)
-        return sorted(db_names)
+        return db_names
 
     def close_databases(self, remove_jobs=True):
         for db_name, db in self.db_by_name.items():
@@ -433,7 +433,8 @@ def close_databases(self, remove_jobs=True):
         self.db_by_name = {}
 
     def initialize_databases(self):
-        for db_name in self.get_db_names():
+        for db_name in sorted(self.get_db_names()):
+            # sorting is important to avoid deadlocks in acquiring the master lock
             db = Database(db_name)
             if db.has_queue_job:
                 self.db_by_name[db_name] = db