Bug #66459
Support #66457: Trop de transactions PostgreSQL
BaseResource::jobs: transactions évitables et très fréquentes
Début:
21 juin 2022
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Non
Description
La fonction jobs de BaseResource utilise une transaction pour réaliser une vérification des tâches à faire avec un select for update skip locked. C'est une très bonne solution, mais dans un système où il y a peu de tâches à réaliser, cela va consommer une quantité importante de transactions sans besoin s'il n'y a pas d'objet à sélectionner.
Fichiers
Révisions associées
Historique
Mis à jour par Pierre Ducroquet il y a presque 2 ans
- Fichier 0001-BaseResource-jobs-reduce-transaction-number-66459.patch 0001-BaseResource-jobs-reduce-transaction-number-66459.patch ajouté
- Tracker changé de Support à Bug
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
En cours de test pour le moment, mais commit early commit often tout ça tout ça
Mis à jour par Pierre Ducroquet il y a presque 2 ans
Chemin de code couvert par plusieurs tests unitaires, donc je ne pense pas qu'un nouveau test soit requis (une erreur fait immédiatement hurler pytest)
Mis à jour par Pierre Ducroquet il y a presque 2 ans
Je veux bien une explication de pourquoi le jenkins est rouge là :/
Mis à jour par Benjamin Dauvergne il y a presque 2 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Benjamin Dauvergne il y a presque 2 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 63d6ccbeea44b22da4a8c3bfe8fe2bc1d2e4783a Author: Pierre Ducroquet <pducroquet@entrouvert.com> Date: Tue Jun 21 17:48:20 2022 +0200 BaseResource::jobs: reduce transaction number (#66459) Instead of having a new transaction for each run, even if most of the time there won't be anything to run, it's faster and lighter for the server to have an out of transaction check first.
Mis à jour par Transition automatique il y a presque 2 ans
- Statut changé de Résolu (à déployer) à Solution déployée
BaseResource::jobs: reduce transaction number (#66459)
Instead of having a new transaction for each run, even if most of the time there won't be
anything to run, it's faster and lighter for the server to have an out of transaction check
first.