LogicAppsUX icon indicating copy to clipboard operation
LogicAppsUX copied to clipboard

Multiple RunAfters in Parallel Can Be Selected

Open Elaina-Lee opened this issue 1 year ago • 0 comments

Describe the Bug with repro steps

  1. Create workflow
  2. Add any three actions in parallel
  3. Select runafter of the last action
  4. Observe the runafter can be configured to be its parent and its parent's parent

What type of Logic App Is this happening in?

Standard (Portal)

Which operating system are you using?

Windows

Are you using new designer or old designer

New Designer

Did you refer to the TSG before filing this issue? https://aka.ms/lauxtsg

Yes

Workflow JSON

{
    "definition": {
        "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
        "actions": {
            "Abort_the_message_in_a_queue": {
                "inputs": {
                    "parameters": {
                        "completeAction": "Abort",
                        "connectionId": "@triggerBody()?['OriginalConnectionId']",
                        "messageId": "@triggerBody()?['messageId']",
                        "queueName": "@triggerBody()?['originalQueueName']",
                        "uniqueId": "@triggerBody()?['uniqueId']"
                    },
                    "serviceProviderConfiguration": {
                        "connectionName": "mq_dumm1",
                        "operationId": "completeMessage",
                        "serviceProviderId": "/serviceProviders/mq"
                    }
                },
                "runAfter": {
                    "Compensation_Logic": [
                        "SUCCEEDED"
                    ]
                },
                "type": "ServiceProvider"
            },
            "Compensation_Logic": {
                "inputs": "Replace this action with the actions for your exception handling logic.",
                "runAfter": {
                    "Scope": [
                        "TIMEDOUT",
                        "SKIPPED",
                        "FAILED"
                    ]
                },
                "type": "Compose"
            },
            "Complete_the_message_in_a_queue": {
                "inputs": {
                    "parameters": {
                        "completeAction": "Commit",
                        "connectionId": "@triggerBody()?['OriginalConnectionId']",
                        "messageId": "@triggerBody()?['messageId']",
                        "queueName": "@triggerBody()?['originalQueueName']",
                        "uniqueId": "@triggerBody()?['uniqueId']"
                    },
                    "serviceProviderConfiguration": {
                        "connectionName": "mq_dumm1",
                        "operationId": "completeMessage",
                        "serviceProviderId": "/serviceProviders/mq"
                    }
                },
                "runAfter": {
                    "Scope": [
                        "SUCCEEDED"
                    ]
                },
                "type": "ServiceProvider"
            },
            "Scope": {
                "actions": {
                    "Business_logic": {
                        "inputs": "Replace this action with the actions for your business logic.",
                        "type": "Compose"
                    }
                },
                "runAfter": {},
                "type": "Scope"
            }
        },
        "contentVersion": "1.0.0.0",
        "outputs": {},
        "triggers": {
            "When_one_or_more_messages_are_received_from_a_queue_(browse-lock)": {
                "inputs": {
                    "parameters": {
                        "getMessageOptions": {
                            "browseLockedTimeoutInSeconds": "@parameters('timeoutInterval_dumm1')",
                            "maximumMessagesInBatch": "@parameters('maxMessageCount_dumm1')",
                            "pollingIntervalInSeconds": "@parameters('pollingInterval_dumm1')",
                            "waitIntervalInSeconds": "@parameters('waitInterval_dumm1')"
                        },
                        "includeInfo": true,
                        "queueName": "@parameters('queueName_dumm1')"
                    },
                    "serviceProviderConfiguration": {
                        "connectionName": "mq_dumm1",
                        "operationId": "pollBrowseMessages",
                        "serviceProviderId": "/serviceProviders/mq"
                    }
                },
                "splitOn": "@triggerOutputs()?['body']?['messages']",
                "type": "ServiceProvider"
            }
        }
    },
    "kind": "stateful",
    "metadata": {
        "templates": {
            "name": "get-message-ibm-mq-queue-browse-lock-abort"
        }
    }
}

Screenshots or Videos

image

Browser

Windows

Additional context

When a runafter is selected, its parents and children are supposed to be disabled for runafter selection

Elaina-Lee avatar Aug 31 '24 00:08 Elaina-Lee