diff --git a/plugins/templates-maven-plugin/src/main/java/com/google/cloud/teleport/plugin/maven/TemplatesStageMojo.java b/plugins/templates-maven-plugin/src/main/java/com/google/cloud/teleport/plugin/maven/TemplatesStageMojo.java index a2e329d4f8..6857f395cd 100644 --- a/plugins/templates-maven-plugin/src/main/java/com/google/cloud/teleport/plugin/maven/TemplatesStageMojo.java +++ b/plugins/templates-maven-plugin/src/main/java/com/google/cloud/teleport/plugin/maven/TemplatesStageMojo.java @@ -304,10 +304,14 @@ public void execute() throws MojoExecutionException { public String stageTemplate( TemplateDefinitions definition, ImageSpec imageSpec, BuildPluginManager pluginManager) throws MojoExecutionException, IOException, InterruptedException, TemplateException { + RetryPolicy retryPolicy = + RetryPolicy.builder().withDelay(Duration.ofSeconds(10)).withMaxRetries(3).build(); if (definition.isClassic()) { - return stageClassicTemplate(definition, imageSpec, pluginManager); + return Failsafe.with(retryPolicy) + .get(() -> stageClassicTemplate(definition, imageSpec, pluginManager)); } else { - return stageFlexTemplate(definition, imageSpec, pluginManager); + return Failsafe.with(retryPolicy) + .get(() -> stageFlexTemplate(definition, imageSpec, pluginManager)); } }