Hi,

I recently saw that we added a dependency on our shaded-guava to flink-core 
[1]. Just for the record, I don’t want do diminish the contributions of anyone 
involved in the PR in any way. It just made me realise that we have some 
implicit agreements or assumptions about adding certain things to core packages 
that we might never have really discussed. I think we should do that now.

Quite some time ago an effort was started to reduce our dependency on Guava [2] 
because of some problems with version stability and dependency conflicts. At 
some later point, we created shaded guava so that we could use it without 
clashes [3]. I believe we now have shaded Guava only in runtime modules where 
it wasn’t easy to remove and CEP.

With the creation of shaded guava, I think we are in a bit of a limbo situation 
where it is not exactly clear what our stance towards it is, because it is easy 
to add to modules, as evident by the aforementioned PR. I think we should 
discuss that situation and agree upon a common stance on the topic.

In general, I think the surface (which includes classes, interfaces, and 
dependencies, among other things) of core modules should be kept as lean as 
possible.  (all modules really) 

What do you think?

Best,
Aljoscha

[1] https://github.com/apache/flink/pull/7679 
<https://github.com/apache/flink/pull/7679>
[2] https://issues.apache.org/jira/browse/FLINK-3700 
<https://issues.apache.org/jira/browse/FLINK-3700>
[3] https://issues.apache.org/jira/browse/FLINK-6982

Reply via email to