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 Respostas
2
Resposta aceita

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
respondido há 2 anos
profile picture
ESPECIALISTA
avaliado há 6 meses
AWS
ESPECIALISTA
avaliado há 2 anos
0

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

Karlos
respondido há 2 anos

Você não está conectado. Fazer login para postar uma resposta.

Uma boa resposta responde claramente à pergunta, dá feedback construtivo e incentiva o crescimento profissional de quem perguntou.

Diretrizes para responder a perguntas