Repeated 'Illegal Argument' ERROR when pushing data through to a DataHub

I've been having an issue pushing large quantities of transactional data from an externally uploaded .csv file into a data module within a DataHub model. The .csv file is generated directly from an internal operational data store that queries data by client. I can populate its referential list with no issues which is the step before in the process, but the module upload continues to fail.

Also want to note that this is a DataHub model that has never changed modes since it was created. It has always been in Standard mode. We use the 3rd party integration tool called Workiva (formerly OneCloud) to upload the file and execute the process on a schedule via a service account with Workspace Admin & Full Access permissions.

The error originally appeared after a few successful executions, and the process would be successful more often than not, however the 'Illegal Argument' Error now occurs on every attempted run of the action causing the process to fail.

I have been unable to find another person who has raised this specific issue on the community and have an active support ticket raised looking into the matter. The community ends up being very helpful, so I wanted to put the situation out to look for help.

Below is an image from the logs depicting the error from Workiva:

I can expand on any issues that may need clarification.

Thank you

Best Answer

  • anirudh
    Answer ✓

    Basically, if you run a process in the front end and are you're able to see the 'Details' tab populated, that means there's a failure log to be downloaded

    In the Json object from the API request for errors, this is the path to the boolean:

    processResults.json['task']['result']['failureDumpAvailable']

    which contains a True or False

    At this point, I would recommend downloading the exact file that's causing the Illegal Argument error from Workiva. Then upload the file using Anaplan front end, that should help diagnose the issue as you can directly view the error

Answers

  • Can you download the failure dump for this task? You may need to do this manually via Postman or similar if Workiva doesn't support it

    Here are the queries you need:

    Get the list of tasks

    curl -X GET \
    https://api.anaplan.com/2/0/workspaces/{workspaceId}/models/{modelId}/processes/{processId}/tasks \
    -H 'authorization: AnaplanAuthToken {anaplan_auth_token}' \
    -H 'Content-Type:application/json'
    

    Look for the specific message, input the last task ID from the request above

    curl -X GET /
    https://api.anaplan.com/2/0/workspaces/{workspaceId}/models/{modelId}/processes/{processId}/tasks/{taskId} \
    -H 'authorization: AnaplanAuthToken {anaplan_auth_token}' \
    -H 'Content-Type:application/json'
    

    Download the failure dump:

    https://anaplan.docs.apiary.io/#CheckDumpFileForFailures

  • Hi @anirudh I used this query to grab the authentication token (POSThttps://auth.anaplan.com/token/authenticate), but after inputting the value returned into the header inside Postman, I am still receiving a 401 - Not authenticated error.

    I also attempted to run the process through basic authentication, but the same error was returned.

    Do you have any idea what could be causing this?

  • anirudh
    edited November 2023

    You need to prefix the word AnaplanAuthToken to your token value. It should look something like this before you pass this on to the header

    AnaplanAuthToken eyyeEY0YWTegduGbUUt0dw==.xxxxxxxxxx
    

  • Hi @anirudh Thank you for the help. It doesn't look like the failure dump is available to download ("failureDumpAvailable": false,) but I am able to see the logs and the errors which helps.

  • Awesome! Do consider marking the solution to my reply, it will close this thread :)

  • Hi @anirudh, did you know if there is there a Boolean within Anaplan that would produce a failure dump for the process, or you know what the logic looks like to determine if a dump is generated?