[
https://issues.apache.org/jira/browse/FLINK-5513?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chesnay Schepler closed FLINK-5513.
-----------------------------------
Resolution: Workaround
The introduction of the shaded-zookeeper/curator dependency (FLINK-15742) will
solve this.
> Remove relocation of internal API classes
> -----------------------------------------
>
> Key: FLINK-5513
> URL: https://issues.apache.org/jira/browse/FLINK-5513
> Project: Flink
> Issue Type: Improvement
> Components: Build System
> Affects Versions: 1.2.0, 1.3.0
> Reporter: Till Rohrmann
> Priority: Major
>
> Currently, we are relocating the {{curator}} dependency in order to avoid
> conflicts with user code classes. This happens for example in the
> {{flink-runtime}} module. The problem with that is that {{curator}} classes,
> such as the {{CuratorFramework}}, are part of Flink's internal API. So for
> example, the {{ZooKeeperStateHandleStore}} requires a {{CuratorFramework}} as
> argument in order to instantiate it. By relocating {{curator}} it is no
> longer possible to use this class outside of {{flink-runtime}} without some
> nasty tricks (see {{flink-mesos}} for that).
> I think it is not good practice to relocate internal API classes because it
> hinders easy code reuse. I propose to either introduce our own interfaces
> which abstract the {{CuratorFramework}} away or (imo the better solution) to
> get rid of the {{Curator}} relocation. The latter might entail that we
> properly separate the API modules from the runtime modules so that users
> don't have to pull in the runtime dependencies if they want to develop a
> Flink job.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)