Class RestartStrategies
- java.lang.Object
-
- org.apache.flink.api.common.restartstrategy.RestartStrategies
-
@PublicEvolving public class RestartStrategies extends Object
This class defines methods to generate RestartStrategyConfigurations. These configurations are used to create RestartStrategies at runtime.The RestartStrategyConfigurations are used to decouple the core module from the runtime module.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classRestartStrategies.ExponentialDelayRestartStrategyConfigurationConfiguration representing an exponential delay restart strategy.static classRestartStrategies.FailureRateRestartStrategyConfigurationConfiguration representing a failure rate restart strategy.static classRestartStrategies.FallbackRestartStrategyConfigurationRestart strategy configuration that could be used by jobs to use cluster level restart strategy.static classRestartStrategies.FixedDelayRestartStrategyConfigurationConfiguration representing a fixed delay restart strategy.static classRestartStrategies.NoRestartStrategyConfigurationConfiguration representing no restart strategy.static classRestartStrategies.RestartStrategyConfigurationAbstract configuration for restart strategies.
-
Constructor Summary
Constructors Constructor Description RestartStrategies()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static RestartStrategies.ExponentialDelayRestartStrategyConfigurationexponentialDelayRestart(Time initialBackoff, Time maxBackoff, double backoffMultiplier, Time resetBackoffThreshold, double jitterFactor)Generates a ExponentialDelayRestartStrategyConfiguration.static RestartStrategies.FailureRateRestartStrategyConfigurationfailureRateRestart(int failureRate, Time failureInterval, Time delayInterval)Generates a FailureRateRestartStrategyConfiguration.static RestartStrategies.RestartStrategyConfigurationfallBackRestart()static RestartStrategies.RestartStrategyConfigurationfixedDelayRestart(int restartAttempts, long delayBetweenAttempts)Generates a FixedDelayRestartStrategyConfiguration.static RestartStrategies.RestartStrategyConfigurationfixedDelayRestart(int restartAttempts, Time delayInterval)Generates a FixedDelayRestartStrategyConfiguration.static Optional<RestartStrategies.RestartStrategyConfiguration>fromConfiguration(ReadableConfig configuration)Reads aRestartStrategies.RestartStrategyConfigurationfrom a givenReadableConfig.static RestartStrategies.RestartStrategyConfigurationnoRestart()Generates NoRestartStrategyConfiguration.
-
-
-
Method Detail
-
noRestart
public static RestartStrategies.RestartStrategyConfiguration noRestart()
Generates NoRestartStrategyConfiguration.- Returns:
- NoRestartStrategyConfiguration
-
fallBackRestart
public static RestartStrategies.RestartStrategyConfiguration fallBackRestart()
-
fixedDelayRestart
public static RestartStrategies.RestartStrategyConfiguration fixedDelayRestart(int restartAttempts, long delayBetweenAttempts)
Generates a FixedDelayRestartStrategyConfiguration.- Parameters:
restartAttempts- Number of restart attempts for the FixedDelayRestartStrategydelayBetweenAttempts- Delay in-between restart attempts for the FixedDelayRestartStrategy- Returns:
- FixedDelayRestartStrategy
-
fixedDelayRestart
public static RestartStrategies.RestartStrategyConfiguration fixedDelayRestart(int restartAttempts, Time delayInterval)
Generates a FixedDelayRestartStrategyConfiguration.- Parameters:
restartAttempts- Number of restart attempts for the FixedDelayRestartStrategydelayInterval- Delay in-between restart attempts for the FixedDelayRestartStrategy- Returns:
- FixedDelayRestartStrategy
-
failureRateRestart
public static RestartStrategies.FailureRateRestartStrategyConfiguration failureRateRestart(int failureRate, Time failureInterval, Time delayInterval)
Generates a FailureRateRestartStrategyConfiguration.- Parameters:
failureRate- Maximum number of restarts in given intervalfailureIntervalbefore failing a jobfailureInterval- Time interval for failuresdelayInterval- Delay in-between restart attempts
-
exponentialDelayRestart
public static RestartStrategies.ExponentialDelayRestartStrategyConfiguration exponentialDelayRestart(Time initialBackoff, Time maxBackoff, double backoffMultiplier, Time resetBackoffThreshold, double jitterFactor)
Generates a ExponentialDelayRestartStrategyConfiguration.- Parameters:
initialBackoff- Starting duration between restartsmaxBackoff- The highest possible duration between restartsbackoffMultiplier- Delay multiplier how many times is the delay longer than beforeresetBackoffThreshold- How long the job must run smoothly to reset the time intervaljitterFactor- How much the delay may differ (in percentage)
-
fromConfiguration
public static Optional<RestartStrategies.RestartStrategyConfiguration> fromConfiguration(ReadableConfig configuration)
Reads aRestartStrategies.RestartStrategyConfigurationfrom a givenReadableConfig.- Parameters:
configuration- configuration object to retrieve parameters from- Returns:
Optional.empty()when no restart strategy parameters provided
-
-