Hey guys,

With the work being done in Sqoop2 involving authentication, there are a
few classes that are being used from hadoop auth and eventually hadoop
common.

I'd like to gauge how folks feel about including the hadoop libraries as a
"compile" time dependency rather than "provided". The reasons being:

   1. Hadoop maintains wire compatibility within a major version:
   
http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/Compatibility.html#Wire_compatibility
   2. UserGroupInformation and other useful interfaces are marked as
   "Evolving" or "Unstable":
   
http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/InterfaceClassification.html
   .

I've been looking around and it seems most projects include Hadoop as a
compile time dependency:

   1. Kite -
   
https://github.com/kite-sdk/kite/blob/master/kite-hadoop-dependencies/cdh5/pom.xml
   2. Flume - https://github.com/apache/flume/blob/trunk/pom.xml
   3. Oozie - https://github.com/apache/oozie/tree/master/hadooplibs
   4. hive - https://github.com/apache/hive/blob/trunk/pom.xml#L1067

IMO wire compatibility is easier to maintain than Java API compatibility.
There may be features in future Hadoop releases that we'll want to use on
the security side as well.

-Abe

Reply via email to