Sender will fail to upload file artifact if it changes between creation and sending
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 45/100
Piste de recherche
Commencez par suivre le flux de l’artefact depuis run.save_file() jusqu’à sender() en passant par le JSON de l’artefact mis en cache, en vous concentrant sur le moment où la somme de contrôle et le contenu du fichier sont lus. Reproduisez les étapes du mode hors ligne décrites dans l’issue et vérifiez qu’un fichier modifié après save_file() est téléversé avec succès sans erreur BadDigest.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Description of Bug
When creating an Artifact via run.save_file(), the checksum is calculated and stored in the artifact JSON in the cache, along with the path to the file. If that file is then changed between the time when it was asked to be saved by the user, and when it is actually sent by the sender(), the checksum will no longer match the file, and so the upload will fail. You'll get back an error like:
E RuntimeError: uploading artifact 'test_file_artifact_6c49f901' to object storage failed for url '[https://simvue-ci.s3.amazonaws.com/'](https://simvue-ci.s3.amazonaws.com/%27) with status 400: <?xml version="1.0" encoding="UTF-8"?>
E <Error><Code>BadDigest</Code><Message>The SHA256 you specified did not match the calculated checksum.</Message></Error>
Steps To Reproduce
Steps to reproduce the behavior:
- Create a run in offline mode
- Create a file
- Do
run.save_file() - Change the contents of the file
- Run
sender()
Expected behavior
The file should be uploaded (I guess as it was when the user called save_file()
Actual Behaviour
Error due to mismatched checksum
Setup
- OS: Ubuntu 22.04
- Python version 3.10
- Langage dominant
- Python
- Étoiles
- 4
- Forks
- 1
- Merge moyen
- 7 j 6 h
- PR mergées (30 j)
- 6
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de simvue-io/python-api
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
simvue-io/python-api#994 ·
-
bug
Difficulté 1/5 Moins d'une heure Accessibilité débutants 68/100
simvue-io/python-api#538 ·
-
Difficulté 3/5 1-2 jours Accessibilité débutants 65/100
simvue-io/python-api#1000 · 2 commentaires ·
-
bug
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
simvue-io/python-api#987 ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
simvue-io/python-api#932 ·
Toutes les issues de simvue-io/python-api
Issues similaires
-
[Bug] reef-hermes tells me to resume with hermes --resume, which does not work from my shell Ouvertearea: harness bug status: needs-triage
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Human-Agent-Society/reef#625 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 80/100
learningequality/kolibri#15351 · 2 commentaires ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
Name consistency Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
eellak/triplestore#65 · 1 commentaire ·