We still have to use a Hadoop-compatible version of Guava on the server-side 
though, right? I believe the DFSClient has Guava dependencies.


> 
>     On September 18, 2017 at 2:12 PM Mike Miller <mmil...@apache.org> wrote:
> 
>     Recently tickets have been opened dealing with Guava in Accumulo (see
>     ACCUMULO-4701 through 4704), in particular the use of Beta classes and
>     methods. Use of Guava comes with a few warnings...
> 
>     From the Guava README:
> 
>     *1. APIs marked with the @Beta annotation at the class or method level are
>     subject to change. They can be modified in any way, or even removed, at 
> any
>     time. If your code is a library itself (i.e. it is used on the CLASSPATH 
> of
>     users outside your own control), you should not use beta APIs, unless you
>     repackage them (e.g. using ProGuard).2.Deprecated non-beta APIs will be
>     removed two years after the release in which they are first deprecated. 
> You
>     must fix your references before this time. If you don't, any manner of
>     breakage could result (you are not guaranteed a compilation error).*
> 
>     I think it is worth a discussion on how to handle Guava dependencies going
>     forward across the different versions of Accumulo. The goal would be to
>     allow use of a newer version version of Guava in client applications with
>     the current supported versions of Accumulo.
> 
>     Ideally, we could just eliminate any use of Beta Guava code. But there are
>     Beta classes that are very useful and some which we already have 
> integrated
>     into released Accumulo versions.
> 
>     There seem to be 3 ways to handle Guava dependencies:
>     1 - jar shading
>     2 - copy Guava code into Accumulo
>     3 - replace Guava code with standard Java
> 
>     We may have to handle it differently with each version of Accumulo. For
>     example, 1.8 has more widespread use of Beta annotated code than 1.7.
> 

Reply via email to