DTS - Failed activities return a broken error message
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 45/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- azure, python
- Domaine
- backend, distributed-systems
Piste de recherche
Commencez par le chemin DTS utilisé par context.call_activity et comparez la manière dont les exceptions d’activités ayant échoué sont propagées avec les chemins Azure Storage et MSSQL décrits dans l’issue. Reproduisez l’orchestration CatchActivityException et vérifiez que l’exception interceptée contient le message d’échec de l’activité au lieu de None.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
🐛 Describe the bug
In AzureStorage or MSSQL, if an activity function fails, the orchestrator gets back an exception with relevant information about how the activity failed.
In DTS, you get back None
🤔 Expected behavior
When an activity function fails, the yield statement from the orchestrator should throw an exception with relevant information about how the activity failed, including the message from the exception thrown by the activity.
☕ Steps to reproduce
Orchestrator and activity:
@bp.orchestration_trigger(context_name="context", orchestration="CatchActivityException")
def catch_activity_exception(context: df.DurableOrchestrationContext):
try:
yield context.call_activity('raise_exception', context.instance_id)
except Exception as e:
logging.error(f"Caught exception: {e}")
return f"Caught exception: {e}"
@bp.activity_trigger(input_name="instance")
def raise_exception(instance: str) -> str:
global attempt_count
if instance not in attempt_count:
attempt_count[instance] = 1
raise InvalidOperationException(f"This activity failed")
return "This activity succeeded"
The return value for Azure Storage/MSSQL:
Caught exception: Activity function 'raise_exception' failed:
The return value for DTS:
Caught exception: None \n None
⚡If deployed to Azure
N/A
- Langage dominant
- Python
- Étoiles
- 157
- Forks
- 70
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire 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 Azure/azure-functions-durable-python
-
Enhancement fixed-in-v2 P3
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Azure/azure-functions-durable-python#617 · 1 commentaire ·
-
bug Debuggability fixed-in-v2 P2
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Azure/azure-functions-durable-python#587 · 2 commentaires · 1 réaction ·
-
Custom object serialization broken for orchestrator return valuesPeut-être pris @andystaples l’a pris il y a 70 jours. Ouvertebug fixed-in-v2 P2
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Azure/azure-functions-durable-python#568 · 1 commentaire ·
-
bug fixed-in-v2 P3
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Azure/azure-functions-durable-python#475 · 1 commentaire ·
-
Enhancement fixed-in-v2 P3
Difficulté 4/5 3-5 jours Accessibilité débutants 62/100
Azure/azure-functions-durable-python#618 · 1 commentaire ·
Toutes les issues de Azure/azure-functions-durable-python
Issues similaires
-
enhancement good first issue Stellar Wave trivial
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
StellarCanary/ProtocolCanary-Fixtures#258 ·
Les mainteneurs répondent en général sous 1 jour
-
github_actions
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
Hochfrequenz/aibap.mcp#578 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
mishraprafful/multihull#150 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
python-caldav/caldav#735 ·
Les mainteneurs répondent en général sous 1 jour