Azure / logicapps

Azure Logic Apps labs, samples, and tools
MIT License
353 stars 292 forks source link

Error in parameters cause all workflows to fail #471

Closed WenovateAA closed 1 year ago

WenovateAA commented 2 years ago

Here is an example how to break all workflow inside a single LA Standard with simples typo. All you need to do is to add wrong parameter name, such as containing space in the beginning:

{
    " test": {
        "type": "String",
        "value": "test"
    }
}

Aftermath:

  1. All of the sudden, your workflows stop answering. For workflows with HTTP request trigger you get 404 (Not found).
  2. Saving workflows invoking child ones causes errors saying that workflow cannot be found:

image

In general, all workflows seem to be gone. So everything just stops working without any evidences on reason shown in UI

  1. When you give up and restart your LA looking to log-streaming, you can see relevant error:
2022-02-09T10:30:43.243 [Error] Workflow Error: operationName='WorkflowDefinitionProvider.GetFunctionMetadataAsync', message='Workflow processing failed, the response exception is 'The provided parameter name ' test' has these invalid characters ' '. The name can only be a letter, digit, '-', '.', '(', ')' or '_'.'', exception='Microsoft.Azure.Workflows.Common.ErrorResponses.ErrorResponseMessageException: The provided parameter name ' test' has these invalid characters ' '. The name can only be a letter, digit, '-', '.', '(', ')' or '_'.
   at Microsoft.Azure.Workflows.Data.Providers.EdgeParametersDataProvider.ValidateParameters(String parametersFile)
   at Microsoft.Azure.Workflows.Data.Providers.EdgeParametersDataProvider.GetEdgeParameters()
   at Microsoft.Azure.Workflows.WebJobs.Extensions.Initialization.WorkflowFunctionDefinitionProvider.GetEdgeParameters()
   at Microsoft.Azure.Workflows.WebJobs.Extensions.Initialization.WorkflowFunctionDefinitionProvider.ProcessWorkflowFiles()
   at Microsoft.Azure.Workflows.WebJobs.Extensions.Initialization.WorkflowFunctionDefinitionProvider.GetFunctionMetadataAsync()', extensionVersion='1.0.0.0', siteName='la-azuf-euw-d-key-rotation-debug', slotName='Production', activityId='00000000-0000-0000-0000-000000000000'.
2022-02-09T10:31:04.962 [Information] 0 functions loaded
2022-02-09T10:31:04.969 [Information] Generating 0 job function(s)
2022-02-09T10:31:04.997 [Warning] No job functions found. Try making your job classes and methods public. If you're using binding extensions (e.g. Azure Storage, ServiceBus, Timers, etc.) make sure you've called the registration method for the extension(s) in your startup code (e.g. builder.AddAzureStorage(), builder.AddServiceBus(), builder.AddTimers(), etc.).

I would not believe that an Azure service in GA can be broken in such a stupid way and simplest check is not performed in UI (and probably during push deployment too) but I faced it during production development.

AB#15952010

zhangadreedom commented 2 years ago

acknowledged this issue, already informing to the Product team

github-actions[bot] commented 1 year ago

This issue is stale because it has been open for 30 days with no activity.

hartra344 commented 1 year ago

Duplicate of Azure/logicapps#800 will be using Azure/logicapps#800 for tracking. Closing this one.