Hi, Thanks for the follow-up.
@Aljoscha Krettek <aljos...@apache.org> if there is consensus, can we also backport FLINK-11501 for 1.8.1? (The Guava dependency was the reason we didn't.) Thanks, Thomas On Mon, Mar 25, 2019 at 8:07 AM Stephan Ewen <se...@apache.org> wrote: > I would be fine with that as well. > > Let's keep the attitude to maintain a slim dependency footprint, but Guava > could be part of that small footprint. > As long as we ensure it is our vendored (pre-shaded) version and all > modules use the same version (managed version in the root pom). > > Best, > Stephan > > > On Mon, Mar 25, 2019 at 10:34 AM Aljoscha Krettek <aljos...@apache.org> > wrote: > > > Hi, > > > > By now, I think it’s fine to have Guava (our shaded guava) as a > dependency > > in flink-core. It’s a very useful library and I don’t see problems with > > version clashes because it’s relocated to our namespace. > > > > If no-one objects, I would just leave the dependency in as-is and > conclude > > this discussion. > > > > Best, > > Aljoscha > > > > > On 13. Mar 2019, at 05:10, Thomas Weise <t...@apache.org> wrote: > > > > > > I want to bring this back to attention - with the concern raised here > we > > > are still looking for a potentially better answer to the original issue > > [1]. > > > > > > We have a class that depends on Guava (in its implementation, not the > > > public interface) and we want to make it available for use with > multiple > > > connectors. > > > > > > Thanks, > > > Thomas > > > > > > [1] > > > > > > https://lists.apache.org/thread.html/3de9d2353cf22aea0448fb744314103b5f88195216acc3bff449354a@%3Cdev.flink.apache.org%3E > > > > > > On Wed, Mar 6, 2019 at 7:13 AM Thomas Weise <t...@apache.org> wrote: > > > > > >> How I managed to do that.. > > >> > > >> Here is the discussion about the shared package: > > >> > > >> > > >> > > > https://lists.apache.org/thread.html/3de9d2353cf22aea0448fb744314103b5f88195216acc3bff449354a@%3Cdev.flink.apache.org%3E > > >> > > >> > > >> On Wed, Mar 6, 2019 at 7:10 AM Aljoscha Krettek <aljos...@apache.org> > > >> wrote: > > >> > > >>> I think the two links are identical. > > >>> > > >>>> On 6. Mar 2019, at 16:05, Thomas Weise <t...@apache.org> wrote: > > >>>> > > >>>> For more context, see [1] [2] > > >>>> > > >>>> The GuavaFlinkConnectorRateLimiter is an implementation of the rate > > >>> limiter > > >>>> interface that uses Guava. It is not a test class, it is intended to > > be > > >>>> used in applications and the (shaded) Guava isn't user facing. > > >>>> > > >>>> [1] > > >>>> > > >>> > > > https://lists.apache.org/thread.html/3599d95020604e2476bd794c55a11bc1c3a958a83a3c9c45c50630c1@%3Cdev.flink.apache.org%3E > > >>>> [2] > > >>>> > > >>> > > > https://lists.apache.org/thread.html/3599d95020604e2476bd794c55a11bc1c3a958a83a3c9c45c50630c1@%3Cdev.flink.apache.org%3E > > >>>> > > >>>> > > >>>> On Wed, Mar 6, 2019 at 6:41 AM Chesnay Schepler <ches...@apache.org > > > > >>> wrote: > > >>>> > > >>>>> I fully agree that we should write down this kind of conventions > that > > >>>>> committers have setup implicitly. > > >>>>> > > >>>>> I agree that we should keep flink-core as lean as possible. > > >>>>> > > >>>>> On guava usages in general my current stance is that we should only > > use > > >>>>> guava if necessary. Spreading it (or other dependencies for that > > >>> matter) > > >>>>> to far just creates headaches when bumping the dependency. > > >>>>> > > >>>>> One core principle that we *must* follow is that shaded > dependencies > > >>> are > > >>>>> neither exposed to user-code nor contained in the user-jar. > Otherwise > > >>> we > > >>>>> end up again in a situation where we cannot increment dependencies > > >>>>> without breaking compatibility for users. > > >>>>> > > >>>>> The PR at hand has a few issues in this regard. The guava limiter > is > > >>>>> only used in tests but is not a test class, yet isn't annotated > with > > >>>>> either Public(Evolving)/Internal. As it stands I cannot judge > whether > > >>>>> this is truly supposed to be an example / test utility or actually > a > > >>>>> user-facing class. > > >>>>> If this is to be used by connectors, which are included in the > > >>> user-jar, > > >>>>> then we're violating the principle above, in which case the class > > >>> should > > >>>>> be relocated/removed. > > >>>>> > > >>>>> On 06.03.2019 15:10, Aljoscha Krettek wrote: > > >>>>>> 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 > > >>>>> > > >>>>> > > >>>>> > > >>> > > >>> > > > > >