Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-29498

Flink Async I/O Retry Strategies Do Not Work for Scala AsyncDataStream API

    XMLWordPrintableJSON

Details

    Description

      We are using the async I/O to make HTTP calls and one of the features we wanted to leverage was the retries, so we pulled the newest commit: http://github.com/apache/flink/pull/19983 into our internal Flink fork.

      When I try calling the function AsyncDataStream.unorderedWaitWithRetry from the scala API I with a retry strategy from the java API I get an error as unorderedWaitWithRetry expects a scala retry strategy. The problem is that retry strategies were only implemented in java and not Scala in this PR: http://github.com/apache/flink/pull/19983.

       

      Here is some of the code to reproduce the error:

      import org.apache.flink.streaming.api.scala.AsyncDataStream
      import org.apache.flink.streaming.util.retryable.{AsyncRetryStrategies => JAsyncRetryStrategies}
      
      val javaAsyncRetryStrategy = new JAsyncRetryStrategies.FixedDelayRetryStrategyBuilder[Int](3, 100L)
          .build()
      
      val data = AsyncDataStream.unorderedWaitWithRetry(
        source,
        asyncOperator,
        pipelineTimeoutInMs,
        TimeUnit.MILLISECONDS,
        javaAsyncRetryStrategy
      )

      Attachments

        Issue Links

          Activity

            People

              eric.xiao Eric Xiao
              eric.xiao Eric Xiao
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: