DTS - Failed activities return a broken error message
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 45/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- azure, python
- Domínio
- backend, distributed-systems
Direção de pesquisa
Comece pelo caminho DTS usado por context.call_activity e compare como as exceções de atividades com falha são propagadas com os caminhos do Azure Storage e do MSSQL descritos na issue. Reproduza a orquestração de CatchActivityException e verifique se a exceção capturada inclui a mensagem de falha da atividade em vez de None.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
🐛 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
- Linguagem predominante
- Python
- Estrelas
- 157
- Forks
- 70
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de Azure/azure-functions-durable-python
-
Enhancement fixed-in-v2 P3
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Azure/azure-functions-durable-python#617 · 1 comentário ·
-
bug Debuggability fixed-in-v2 P2
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Azure/azure-functions-durable-python#587 · 2 comentários · 1 reação ·
-
Custom object serialization broken for orchestrator return valuesTalvez já em andamento @andystaples assumiu há 68 dias. Abertabug fixed-in-v2 P2
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Azure/azure-functions-durable-python#568 · 1 comentário ·
-
bug fixed-in-v2 P3
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Azure/azure-functions-durable-python#475 · 1 comentário ·
-
Enhancement fixed-in-v2 P3
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 62/100
Azure/azure-functions-durable-python#618 · 1 comentário ·
Todas as issues de Azure/azure-functions-durable-python
Issues semelhantes
-
changelog investigate
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
ramnes/notion-sdk-py#409 ·
-
good first issue help wanted
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
lindicaphxag-tech/kaggle#28 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
BSData/horus-heresy-3rd-edition#3211 ·
Mantenedores costumam responder em até 1 dia
-
bug needs-triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
Mantenedores costumam responder em até 1 dia
-
Unreachable-proxy mount test depends on fixed port 9999Talvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Abertabug tests
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Mantenedores costumam responder em até 1 dia