Development #40011
DDPACS: Rendre (un peu) atomique la création de demande
Début:
19 février 2020
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Non
Description
Sur une trace comme ci-dessous, une erreur 500 se produit, après qu'un objet 'Demand' ait été créé.
Et pas de possibilité de retenter l'appel parce qu'alors échec sur la création de la demande : "duplicate key value violates unique constraint "mdel_ddpacs_demand_reference_key" DETAIL: Key (reference)=(A-41-3) already exists".
La première trace donc :
Traceback (most recent call last): File "/home/cazino/src/passerelle/passerelle/utils/jsonresponse.py", line 128, in api resp = f(*args, **kwargs) File "/home/cazino/src/passerelle/passerelle/views.py", line 467, in perform result = self.endpoint(request, **params) File "/home/cazino/src/passerelle/passerelle/apps/mdel_ddpacs/models.py", line 103, in create return self._handle_create(request, post_data) File "/home/cazino/src/passerelle/passerelle/apps/mdel_ddpacs/abstract.py", line 141, in _handle_create return self.status(request, demand) File "/home/cazino/src/passerelle/passerelle/apps/mdel_ddpacs/abstract.py", line 164, in status 'zip_url': request.build_absolute_uri(demand.zip_url), File "/home/cazino/src/passerelle/passerelle/apps/mdel_ddpacs/abstract.py", line 321, in zip_url 'rest': '%s/%s' % (self.id, self.zip_name) File "/home/cazino/src/passerelle/passerelle/apps/mdel_ddpacs/abstract.py", line 291, in zip_name return self.zip_template.name File "/home/cazino/envs/publik-env-py3/lib/python3.7/site-packages/django/utils/functional.py", line 35, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "/home/cazino/src/passerelle/passerelle/apps/mdel_ddpacs/abstract.py", line 283, in zip_template 'document': self.document, File "/home/cazino/src/passerelle/passerelle/apps/mdel_ddpacs/abstract.py", line 300, in document return ET.tostring(xml_schema.encode(self.data)) File "/home/cazino/src/passerelle/passerelle/utils/xml.py", line 350, in encode transformer=self) File "/home/cazino/envs/publik-env-py3/lib/python3.7/site-packages/xmlschema/validators/xsdbase.py", line 807, in encode for result in self.iter_encode(obj, validation=validation, **kwargs): File "/home/cazino/envs/publik-env-py3/lib/python3.7/site-packages/xmlschema/validators/elements.py", line 810, in iter_encode for result in xsd_type.content_type.iter_encode(element_data, validation, **kwargs): File "/home/cazino/envs/publik-env-py3/lib/python3.7/site-packages/xmlschema/validators/groups.py", line 794, in iter_encode for result in xsd_element.iter_encode(value, validation, **kwargs): File "/home/cazino/envs/publik-env-py3/lib/python3.7/site-packages/xmlschema/validators/elements.py", line 810, in iter_encode for result in xsd_type.content_type.iter_encode(element_data, validation, **kwargs): File "/home/cazino/envs/publik-env-py3/lib/python3.7/site-packages/xmlschema/validators/groups.py", line 794, in iter_encode for result in xsd_element.iter_encode(value, validation, **kwargs): File "/home/cazino/envs/publik-env-py3/lib/python3.7/site-packages/xmlschema/validators/elements.py", line 810, in iter_encode for result in xsd_type.content_type.iter_encode(element_data, validation, **kwargs): File "/home/cazino/envs/publik-env-py3/lib/python3.7/site-packages/xmlschema/validators/groups.py", line 794, in iter_encode for result in xsd_element.iter_encode(value, validation, **kwargs): File "/home/cazino/envs/publik-env-py3/lib/python3.7/site-packages/xmlschema/validators/elements.py", line 746, in iter_encode element_data = converter.element_encode(obj, self, level) File "/home/cazino/src/passerelle/passerelle/utils/xml.py", line 116, in element_encode obj = getattr(self.transformer, 'encode_%s' % mapped)(obj) File "/home/cazino/src/passerelle/passerelle/apps/mdel_ddpacs/models.py", line 79, in encode_double return float(obj) ValueError: could not convert string to float: 'None'
Fichiers
Révisions associées
Historique
Mis à jour par Emmanuel Cazenave il y a environ 4 ans
- Sujet changé de Rendre (un peu) atomique la création de demande à DDPACS: Rendre (un peu) atomique la création de demande
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
- Fichier 0001-mdel_ddpacs-make-_handle_create-atomic-40011.patch 0001-mdel_ddpacs-make-_handle_create-atomic-40011.patch ajouté
- Tracker changé de Bug à Development
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Emmanuel Cazenave il y a environ 4 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Benjamin Dauvergne il y a environ 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit a9c6544afc1456ca671d1f04d6cbf4bef3276f32 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Tue Mar 3 11:07:38 2020 +0100 mdel_ddpacs: make _handle_create atomic (#40011)
Mis à jour par Frédéric Péters il y a environ 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
mdel_ddpacs: make _handle_create atomic (#40011)