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

Till Rohrmann edited comment on FLINK-13964 at 9/5/19 8:59 AM:
---------------------------------------------------------------

Looking at this problem I realised that it still might be a good idea for the 
{{HighAvailabilityServices}} to be able to create the leader retriever for the 
cluster rest endpoint. If this is the case, then one does not have to 
instantiate a {{ClientHighAvailabilityServices}} and 
{{HighAvailabilityServices}} instance in the {{MiniCluster}} or other classes 
which need access to cluster HA services and the cluster rest endpoint 
retriever. Given that the HA services also need to create the cluster rest 
endpoint leader election service, it might actually make sense to let them also 
create the retriever for it.

The problem with creating separate {{HighAvailabilityServices}} and 
{{ClientHighAvailabilityServices}} is that they both might start resources 
which could actually be shared (e.g. a {{CuratorFramework}} client).

I would propose to do the following: Let {{HighAvailabilityServices}} extend 
{{ClientHighAvailabilityServices}} with a default implementation which calls 
{{HighAvailabilityServices#getWebMonitorRetrieverService}} in order to ensure 
backwards compatibility with existing {{HighAvailabilityServices}} 
implementations.

WDYT [~Tison]?


was (Author: till.rohrmann):
Looking at this problem I realised that it still might be a good idea for the 
{{HighAvailabilityServices}} to be able to create the leader retriever for the 
cluster rest endpoint. If this is the case, then one does not have to 
instantiate a {{ClientHighAvailabilityServices}} and 
{{HighAvailabilityServices}} instance in the {{MiniCluster}} or other classes 
which need access cluster HA services and the cluster rest endpoint retriever. 
Given that the HA services also need to create the cluster rest endpoint leader 
election service, it might actually make sense to let them also create the 
retriever for it.

I would propose to do the following: Let {{HighAvailabilityServices}} extend 
{{ClientHighAvailabilityServices}} with a default implementation which calls 
{{HighAvailabilityServices#getWebMonitorRetrieverService}} in order to ensure 
backwards compatibility with existing {{HighAvailabilityServices}} 
implementations.

WDYT [~Tison]?

> Remove usage of deprecated methods from MiniCluster
> ---------------------------------------------------
>
>                 Key: FLINK-13964
>                 URL: https://issues.apache.org/jira/browse/FLINK-13964
>             Project: Flink
>          Issue Type: Improvement
>          Components: Runtime / Coordination
>    Affects Versions: 1.10.0
>            Reporter: Till Rohrmann
>            Assignee: Till Rohrmann
>            Priority: Major
>             Fix For: 1.10.0
>
>
> With FLINK-13750 we deprecated 
> {{HighAvailabilityServices#getWebMonitorRetrieverService}}. This method is 
> still actively used by the {{MiniCluster}}. We should remove the usage in 
> order to also support custom {{HighAvailabilityService}} implementations 
> which no longer implement 
> {{HighAvailabilityServices#getWebMonitorRetrieverService}}.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to