1

We are encountering an unexpected behavior from:

RestartFlow.onFailuresWithBackoff(restartSetting)(flowFactory: () => Flow[In, Out, _])

See RestartFlow.onFailuresWithBackoff. We're using:

akka:2.6.15 akka-stream-kafka_2.12:2.1.1 scala:2.12.13.

We're using the following RestartSettings:

RestartSettings(minBackoff=1.seconds, maxBackoff=900.seconds, randomFactor=0.5
  ).withMaxRestarts(maxRestarts=8, maxRestartsWithin=1.seconds)

Expected behavior: The wrapped flow which is wrapped with RestartFlow should restart when failure occurs.

Actual behavior: The wrapped flow is not restarting when the failure occurs; it goes to Supervision.Decider for the failure.

Supervision.Decider is concatenated after the wrapped RestartFlow to handle the scenario where the restart got exhausted and the failure can be handled by Supervision.Decider.

Source -> flow1 -> flow2 -> RestartFlow.onFailuresWithBackoff(flow3) -> flow4 + (Supervision.Decider) -> Sink

Desanth pv
  • 351
  • 1
  • 4
  • 13

0 Answers0