I see, that's how it works. Thanks!

Slightly related, which made it a little hard to navigate the code. I'm
using IntelliJ and for some reason navigating the code in flink-rpc doesn't
work. It's not listed as a module. In the Project-view it is there, but
with a different icon than e.g flink-runtime. Is there some magic here too?

Juha

On Tue, Aug 24, 2021 at 1:21 PM Chesnay Schepler <ches...@apache.org> wrote:

> There is some internal magic going on. Have a look at the interface the
> handlers work against, you will see that the timeout parameter is annotated
> with @RpcTimeout. The AkkaInvocationHandler extracts the timeout based on
> this annotation and uses it internally.
>
> On 24/08/2021 12:05, Juha Mynttinen wrote:
>
> Hey,
>
> I was looking at the web.timeout configuration option described as
> "Timeout for asynchronous operations by the web monitor in milliseconds".
> I'm interested in where and how it's used internally.
>
> I've understood it's the timeout when the Web UI calls something using Rpc
> (Akka). Correct? Unfortunately, I can't spot where the parameter is
> actually used so that it would have any effect. Maybe I've missed something?
>
> The param is defined in WebOptions and used in RestHandlerConfiguration.
> The param is stored in LeaderRetrievalHandler [1]. That class merely acts
> as a holder for the param and e.g. the REST handlers use it. If we look at
> one of the handlers, e.g. ClusterOverviewHandler, in the end it
> calls requestClusterOverview in Dispatcher [2]. That has two usages of the
> timeOut, but if you follow them all the way, the param is unused. I've
> checked multiple handlers and I couldn't spot any that would really use the
> param for something.
>
> Retrieving the leader (that is needed before it can be called) has its own
> timeout [3], but AFAIK that's hard-coded and doesn't have anything to do
> with web.timeout.
>
> So, simple question - where's the param used? I hope I've just missed
> something, and it's used somewhere....
>
> [1]
> https://github.com/apache/flink/blob/c6997c97c575d334679915c328792b8a3067cfb5/flink-runtime/src/main/java/org/apache/flink/runtime/rest/handler/LeaderRetrievalHandler.java#L57
> [2]
> https://github.com/apache/flink/blob/4a78097d0385749daceafd8326930c8cc5f26f1a/flink-runtime/src/main/java/org/apache/flink/runtime/dispatcher/Dispatcher.java#L537
> [3]
> https://github.com/apache/flink/blob/026142d7770afb285d8e73d0aea5939881d3d713/flink-runtime/src/main/java/org/apache/flink/runtime/entrypoint/component/DefaultDispatcherResourceManagerComponentFactory.java#L140
>
> Regards,
> Juha
>
> --
> Regards,
> Juha
>
>
>

-- 
Regards,
Juha

Reply via email to