Bug #54808
pas de permissions pour SET deadlock_timeout
0%
Description
2021-06-14 00:01:01,531 ERROR Failed to execute "SET deadlock_timeout = '10s'" with vars [], raised permission denied to set parameter "deadlock_timeout" 2021-06-14 00:01:01,531 ERROR failed to synchronize with https://demarches-collectivites-hautes-alpes.test.entrouvert.org/ Traceback (most recent call last): File "/usr/lib/python3/dist-packages/wcs_olap/cmd.py", line 108, in main2 olap_feeder.feed() File "/usr/lib/python3/dist-packages/wcs_olap/feeder.py", line 605, in feed self.ex("SET deadlock_timeout = '10s'") File "/usr/lib/python3/dist-packages/wcs_olap/feeder.py", line 338, in ex self.cur.execute(sql, vars=vars) psycopg2.ProgrammingError: permission denied to set parameter "deadlock_timeout"
Demandes liées
Historique
Mis à jour par Benjamin Dauvergne il y a presque 3 ans
- Statut changé de Nouveau à Résolu (à déployer)
J'aurai du lire la doc1, SET deadlock_timeout
n'est possible que par le superuser. Je viens de tester et on peut jouer avec ALTER USER xxx SET deadlock_timeout = '2s'
pour avoir un setting qui ne s'applique que si un utilisateur particulier se connecte, mais bijoe et wcs-olap qui sont les deux acteurs du deadlock en question utilisent le même utilisateur.
Une autre possibilité serait de poser :
ALTER USER bijoe SET deadlock_timeout = '30s'; ALTER USER bijoe SET lock_timeout = '15s';
et de faire un SET lock_timeout = '30s'
explicite dans wcs-olap, sachant que lock_timeout
n'est pas réservé aux super-utilisateurs, et là wcs-olap pourra gagner son duel de verrou simplement sur le lock_timeout coté bijoe qui est plus court.
[1]: https://postgresqlco.nf/doc/fr/param/deadlock_timeout/
En attendant j'ai revert le commit :
commit b3a59edb54502429cc7688828fc0609ea7c0b3f1 (HEAD -> main, tag: v1.51, origin/main) Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Mon Jun 14 09:44:41 2021 +0200 Revert "feeder: set deadlock_timeout to 10 seconds (#54658)" This reverts commit c74766bf2c7a911ab04da9084231ef3397cb2964.
[2]: https://postgresqlco.nf/doc/fr/param/lock_timeout/
Mis à jour par Benjamin Dauvergne il y a plus de 2 ans
- Lié à Development #54658: possibilité pour une mise à jour des données de se casser et laisser un schéma vide ajouté