AWS Glue retry a job after an execution error

1

Hi,

Currently we have not been able to find a way for a job to retry execution after a failure, and this is because if there is a communication failure with OnPrem, it is required that the job be re-executed automatically to guarantee the data integrity.

Exist any way to do that? i mean using AWS Eventbridge or a workaround related ?

Thanks in advance for any help,

  • Hi, We have a Glue job that accepts the parameter "table_name," with the default value set as "dummy" in the Glue job parameters section. Additionally, the Glue job configuration allows a total of 4 retries.

    A Lambda function was created to invoke the Glue job with the parameter "table_name" set to "xxxx." During the initial run, the Glue job failed with the error message: "The specified subnet does not have enough free addresses to satisfy the request. Please provide a connection with a subnet with IPs available" and "exception: Number of IP addresses on subnet is 0."

    Despite these errors, the Glue job retried itself 4 times as per the configuration. However, in each retry attempt, the "table_name" parameter inexplicably changed to the default value "dummy," deviating from the original value passed by the Lambda function ("xxxx"). This unexpected parameter change caused the Glue job to fail repeatedly with error "An error occurred while calling o93.getCatalogSource. : com.amazonaws.services.glue.model.EntityNotFoundException: Entity Not Found".

    Could you please confirm why the parameters in the Glue job are reverting to default values when the job is retried

  • +1 to the above comment, In my case the job failed due to a connection issue with redshift, which defaulted to automatic retires, where the default parameters which were passed to the glue job were missing in the job instances that were being triggered due to original job run failure.

2 réponses
2
Réponse acceptée

There is a native retry functionality within Glue through the MaxRetries parameter. This parameter can be defined programmatically or if using Glue Studio in the "Job details" tab.

MaxRetries – Number (integer). The maximum number of times to retry this job after a JobRun fails.

If this is not sufficient for your use-case, consider wrapping your Glue job within a Step Function and here you can implement a more sophisticated retry/control mechanism.

AWS
répondu il y a 2 ans
profile picture
EXPERT
vérifié il y a 6 mois
AWS
EXPERT
vérifié il y a 2 ans
0

Thanks for you answer, i'm gonna test the suggest steps and let you know :)

Karlos
répondu il y a 2 ans

Vous n'êtes pas connecté. Se connecter pour publier une réponse.

Une bonne réponse répond clairement à la question, contient des commentaires constructifs et encourage le développement professionnel de la personne qui pose la question.

Instructions pour répondre aux questions