locked
Pipeline's error output could not be read completely RRS feed

  • Question

  • Hi, 

    I am executing a child pipeline (pipeline_child) in a pipeline (pipeline_main) and try to catch error message of child pipeline, but the error.message is being cut when trying to read it. 

    Error output of pipeline_child:

    {
        "errorCode": "BadRequest",
        "message": "Activity Copy Data1 failed: ErrorCode=UserErrorSourceBlobNotExist,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=The required Blob is missing. ContainerName: https://abc.blob.core.windows.net/abc, ContainerExist: True, BlobPrefix: Country.csv, BlobCount: 0.,Source=Microsoft.DataTransfer.ClientLibrary,'",
        "failureType": "UserError",
        "target": "pipeline_child"
    }

    I am trying to read this output with the code below from stored proc activity:

    @activity('pipeline_child').error.Message

    but only the string below could be retrieved. 

    "error_detail": { "value": " 0.,Source=Microsoft.DataTransfer.ClientLibrary,'", "type": "String" }, 

    (it takes chars after the last ":" in the original error.message to the end of it)

     

    I have not encountered this error in other activities, but exists for execute pipeline activity. 

    It seems a bug, but I am not sure.. Do you have any idea how to read the whole error output message of execute pipeline activity? 

    Regards,

    Mustafa






    Thursday, August 15, 2019 3:32 PM

Answers

  • Hi Mustafa,

    We have a confirmation from internal engineering team that it is not currently supported (out of box) to get error message of inner (child) pipeline from execute pipeline activity. This could be a feature request. Please feel free to open a feature request suggestion in Azure Data Factory User voice forum. All the feature requests will be monitored and reviewed by ADF product engineering team and will take appropriate action. 

    By creating a feature request suggestion, it will give an opportunity for other users to up-vote your idea, which will speed up the priority of the feature. 

    Please consider sharing the User voice feedback link here once it is created, so that other community member can up-vote your feedback to increase priority of the feature.

    Apologizes for the inconvenience.

    Additional info

    Some workarounds could include,

    • Store error message of activity in child pipeline in storage. Fetch error message in parent pipeline using LookupActivity.
    • Add WebActivity call to GET /pipelineruns/{pipelineRunID} in parent pipeline to fetch the run info and the error message. This may not be ideal since its possible multiple activities could fail in child pipeline. The pipeline error message may not be helpful depending on the scenario.
    • Add WebActivity call to POST /pipelineruns/{pipelineRunID}/queryActivityRuns in parent pipeline to fetch run info of all activities. You can use this list to find the error message of specific activity run (or even get multiple error messages from multiple activity runs)

    Please refer to below doc to explore about the REST API operations that are supported by Azure Data Factory V2.

    Hope this helps.


    Thank you

    If a post helps to resolve your issue, please click the "Mark as Answer" of that post and/or click Answered"Vote as helpful" button of that post. By marking a post as Answered and/or Helpful, you help others find the answer faster.


    Friday, August 16, 2019 4:50 PM