Bug #45007
select_for_update cannot be used outside of a transaction.
Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
10 juillet 2020
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Non
Description
Internal Server Error: /rsu/saga/swarmid-10740/factures/ TransactionManagementError at /rsu/saga/swarmid-10740/factures/ select_for_update cannot be used outside of a transaction. Request Method: GET Request URL: https://zoo-preprod-moncompte.nanterre.fr/rsu/saga/swarmid-10740/factures/?etats=en%20cours Django Version: 1.11.29 Python Executable: /usr/bin/uwsgi-core Python Version: 2.7.16 Python Path: ['.', '', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages'] Server time: ven, 10 Jul 2020 08:35:33 +0200 Installed Applications: '' Installed Middleware: '' Traceback: File "/usr/lib/python2.7/dist-packages/django/core/handlers/exception.py" in inner 41. response = get_response(request) File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in _get_response 187. response = self.process_exception_by_middleware(e, request) File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in _get_response 185. response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/usr/lib/python2.7/dist-packages/django/views/decorators/csrf.py" in wrapped_view 58. return view_func(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/django/views/generic/base.py" in view 68. return self.dispatch(request, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/zoo/zoo_nanterre/api_views.py" in dispatch 1515. return super(SagaMixin, self).dispatch(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/rest_framework/views.py" in dispatch 495. response = self.handle_exception(exc) File "/usr/lib/python2.7/dist-packages/rest_framework/views.py" in handle_exception 455. self.raise_uncaught_exception(exc) File "/usr/lib/python2.7/dist-packages/rest_framework/views.py" in dispatch 492. response = handler(request, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/zoo/zoo_nanterre/api_views.py" in get 1617. factures, error = self.get_factures(identifier, etats=etats) File "/usr/lib/python2.7/dist-packages/zoo/zoo_nanterre/api_views.py" in get_factures 1551. factures, error = self.get_facture_for_individu(self.individu, debut=debut) File "/usr/lib/python2.7/dist-packages/zoo/zoo_nanterre/api_views.py" in get_facture_for_individu 1589. individu = Entity.objects.select_for_update().get(id=individu.id) File "/usr/lib/python2.7/dist-packages/django/db/models/query.py" in get 374. num = len(clone) File "/usr/lib/python2.7/dist-packages/django/db/models/query.py" in __len__ 232. self._fetch_all() File "/usr/lib/python2.7/dist-packages/django/db/models/query.py" in _fetch_all 1121. self._result_cache = list(self._iterable_class(self)) File "/usr/lib/python2.7/dist-packages/django/db/models/query.py" in __iter__ 53. results = compiler.execute_sql(chunked_fetch=self.chunked_fetch) File "/usr/lib/python2.7/dist-packages/django/db/models/sql/compiler.py" in execute_sql 876. sql, params = self.as_sql() File "/usr/lib/python2.7/dist-packages/django/db/models/sql/compiler.py" in as_sql 468. raise TransactionManagementError('select_for_update cannot be used outside of a transaction.') Exception Type: TransactionManagementError at /rsu/saga/swarmid-10740/factures/ Exception Value: select_for_update cannot be used outside of a transaction. Request information: USER: apiuser GET: etats = u'en cours' POST: No POST data FILES: No FILES data COOKIES: No cookie data
Ca pourrait être suite à l'upgrade en buster et/ou au passage à la v4 (avec les patches py3) et/ou au passage en mode paquet... :/
Fichiers
Révisions associées
Historique
Mis à jour par Thomas Noël il y a presque 4 ans
- Statut changé de Nouveau à Solution déployée
Ajouté dans /etc/zoo/settings.d/10database.py cette ligne :
DATABASES['default']['ATOMIC_REQUESTS'] = True
Mis à jour par Thomas Noël il y a presque 4 ans
- Fichier 0001-debian-enable-ATOMIC_REQUESTS-database-flag-45007.patch 0001-debian-enable-ATOMIC_REQUESTS-database-flag-45007.patch ajouté
- Statut changé de Solution déployée à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Thomas Noël il y a presque 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit a0857fa392e6a9b551cc5ccd318c8b8635451f7f Author: Thomas NOEL <tnoel@entrouvert.com> Date: Fri Jul 10 10:37:12 2020 +0200 debian: enable ATOMIC_REQUESTS database flag (#45007)
debian: enable ATOMIC_REQUESTS database flag (#45007)