[ 
https://issues.apache.org/jira/browse/FLINK-29498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17612625#comment-17612625
 ] 

Eric Xiao edited comment on FLINK-29498 at 10/4/22 2:03 PM:
------------------------------------------------------------

> For your case, you can try to implement your own `AsyncRetryStrategy` to 
> enable retries.

Thanks [~lincoln.86xy] for replying :), this is what we have done so far, 
thankfully the code is not a lot but we were wondering if there was a reason 
why the `AsyncRetryStrategies` are only available in Java API and not the Scala 
API? Similar for the `RetryPredicates`?

 

I am fairly new to Flink, but I believe I have seem some `.toJava` and 
`.toScala` helper methods on other Flink components and was wondering if there 
is room to add the same such functionality to the retry strategies builder and 
retry predicates?


was (Author: JIRAUSER295489):
[~lincoln.86xy], is there a reason why the `AsyncRetryStrategies` are only 
available in Java API and not the Scala API? Similar for the `RetryPredicates`?

 

I am fairly new to Flink, but I believe I have seem some `.toJava` and 
`.toScala` helper methods on other Flink components and was wondering if there 
is room to add the same such functionality to the retry strategies builder and 
retry predicates?

> Flink Async I/O Retry Strategies Do Not Work for Scala AsyncDataStream API
> --------------------------------------------------------------------------
>
>                 Key: FLINK-29498
>                 URL: https://issues.apache.org/jira/browse/FLINK-29498
>             Project: Flink
>          Issue Type: Bug
>          Components: API / Scala
>    Affects Versions: 1.15.2
>            Reporter: Eric Xiao
>            Priority: Minor
>
> 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:
> {code:java}
> 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
> ){code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to