[ https://issues.apache.org/jira/browse/FLINK-5513?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Till Rohrmann updated FLINK-5513: --------------------------------- Fix Version/s: 1.8.0 > 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 > Fix For: 1.7.0, 1.8.0 > > > 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 (v7.6.3#76005)