-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/65244/
-----------------------------------------------------------
Review request for sentry, Alexander Kolbasov, Arjun Mishra, Colm O
hEigeartaigh, kalyan kumar kalvagadda, Na Li, Sergio Pena, and Vadim Spector.
Bugs: SENTRY-2074
https://issues.apache.org/jira/browse/SENTRY-2074
Repository: sentry
Description
-------
Resubmitted from https://reviews.apache.org/r/65192/ in order to fix changed
paths file from master.
Created a patch that has all of the direct dependency libraries explicitly
defined. There is also some minor cleanup on ThreadSafe annotations to make it
from a consistent package (this is only used by IDEs for checks anyways). As
well I added a check in the poms to fail a build if it discovers any direct use
dependencies that are not defined in the pom.
The one of the primary motivations for this patch is to help on its way to
cleaning up the distribution. Currently the dist module reads all dependencies
no mater what scope they are and drops them into the distributed libs. This
causes things like junit and ant to be pushed into the libs that are being
distributed. With the changes to have direct dependencies always defined it
allows us to take compile and runtime scopes only into account when dropping
the libs needed.
As well this identifies which libraries are provided already by environments
where the plugins/bindings are going into. For example in the hive bindings,
the hive and hadoop libraries need only be defined with "provided" scope, since
with those application we want to use the hadoop and hive libraries that the
applications already provide.
This makes it a lot easier for shading and package shifting of the binding and
plugins for libraries and versions of those libraries that are needed by the
binding and might conflict with versions already in the application which the
binding or plugin is going into. Guava is a major issue with this. Doing this
short of shading based on the cleanup would allow us to rev Guava and use newer
Guava features while not conflicting with the Guava version the application is
using. By having the directly used dependency defined it gives us control over
the exact version we are using and not be dependent on and having conflicts
with the transitive dependencies of the application being embedded in.
This patch will not really make the development process harder since the
analysis of the dependencies needed automatically runs as part of the build and
a failure occurs telling you which "used but undefined" and which "defined but
unused" libraries are missing or in the pom. There is even an xml dump of the
dependencies part need to put right into the pom. No additional runs or
dependency analysis needs to take place.
Diffs
-----
pom.xml 6f9856e45b72ef9e0c43a222eddc8452b64f1a71
sentry-binding/pom.xml 17b0f1afa658203327668b33990e5da53dd75ad0
sentry-binding/sentry-binding-hbase-indexer/pom.xml
d50acfec954acf8e8d9682425122039e6f5a2724
sentry-binding/sentry-binding-hive-common/pom.xml
e39004bd1681f1424a463b59d05359206b94777b
sentry-binding/sentry-binding-hive-conf/pom.xml
3e7e70a321733a97914f13f9cc5e39557ab1c9fb
sentry-binding/sentry-binding-hive-follower/pom.xml
5f8a5afb479b783d027a005ea8f72590445b8386
sentry-binding/sentry-binding-hive/pom.xml
ccfa9cfeab3cafcccd275a5b395ca6eb3f7aa609
sentry-binding/sentry-binding-kafka/pom.xml
239eeba5fe28962e6481dff8f5b5bd1303e8666a
sentry-binding/sentry-binding-solr/pom.xml
f08669994aa6d058fc9c92e6a8b576063602cc95
sentry-binding/sentry-binding-sqoop/pom.xml
82cd4a6fdb330ae2162e1c257f5e47638e1a3992
sentry-core/sentry-core-common/pom.xml
75ce574ae0e2296e4bb6c8d4ec1792d43969e00f
sentry-core/sentry-core-model-db/pom.xml
30519aa984f3d24b38e16641a38f9436e54594bc
sentry-core/sentry-core-model-indexer/pom.xml
f65e49af71de8aa0b98f22cf64d57902265af1b3
sentry-core/sentry-core-model-kafka/pom.xml
cfe9221400116acba2ad0e299b4774151dc5159a
sentry-core/sentry-core-model-solr/pom.xml
95ea02bed613cd81ff8b127f9b35f9887892369d
sentry-core/sentry-core-model-sqoop/pom.xml
5629028b94eb3aa11c17de40032c00c39ab2bb85
sentry-dist/pom.xml 8cc4ecaf65f900e95601efab2331416c60e1cdae
sentry-dist/src/license/THIRD-PARTY.properties
7226acdf90f8c38c33ed9da07dd5db805edb0096
sentry-dist/src/main/assembly/bin.xml
72773df1e26d9658bf9c1291574648ad8e551eac
sentry-hdfs/pom.xml a015e11d37f688657751a47379ef6c77a22035e9
sentry-hdfs/sentry-hdfs-common/pom.xml
5c6c96c46ee384ba5981611333741fde3bd59e10
sentry-hdfs/sentry-hdfs-dist/pom.xml 93943157d8f93d7049a23e5cbf90eb76258f6a90
sentry-hdfs/sentry-hdfs-namenode-plugin/pom.xml
e1bd8c304fef2be1e165622b6cdc95250e75fa5d
sentry-hdfs/sentry-hdfs-service/pom.xml
50a451d917eb7428cd71ab7cedd9c4363111c166
sentry-policy/pom.xml 112482900097daf8db7291134493f4acb8cd9c74
sentry-policy/sentry-policy-common/pom.xml
902f3e6f933295d64053e2a74e3191e9fa121133
sentry-policy/sentry-policy-common/src/main/java/org/apache/sentry/policy/common/PolicyEngine.java
504b5ea3f30328cd84adf99543dca59630286068
sentry-policy/sentry-policy-engine/pom.xml
5bdd10bc1116dd1d3551d5b10869296632fd903d
sentry-provider/pom.xml b075f49b5d711e9b85cc20e0b8dacd1977b530b0
sentry-provider/sentry-provider-cache/pom.xml
e278878955f9ab91df44094e7238e21c7cca7105
sentry-provider/sentry-provider-common/pom.xml
f2698738bec0261621b975b6872ffae592b9adf5
sentry-provider/sentry-provider-db/pom.xml
5733445af481fd83bb71189178647af234fe77a1
sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/CounterWait.java
d8c82970b56b1599a07f0e26edab8ed3d59b9948
sentry-provider/sentry-provider-file/pom.xml
6623ffe74d48da5db64e6634619f5a4cf9463a30
sentry-solr/pom.xml df8c39748510b797a5331322cdab99c0ce8e2c89
sentry-solr/solr-sentry-handlers/pom.xml
accd581263447578724b5b7d7699f9e42efed083
sentry-tests/pom.xml e17f2a8918be63fcf3373a124bcbef7ddd548c2e
sentry-tests/sentry-tests-hive-v2/pom.xml
b129ed67dd2869317fdee33e18844f376f0fb1a5
sentry-tests/sentry-tests-hive/pom.xml
6816249da67a3fe9d0bc97217c5d8e8e184788a0
sentry-tests/sentry-tests-kafka/pom.xml
e61f64db0c6787d09874235d061061add1b746d0
sentry-tests/sentry-tests-kafka/src/main/java/org/apache/sentry/tests/e2e/kafka/KafkaTestServer.java
sentry-tests/sentry-tests-kafka/src/main/java/org/apache/sentry/tests/e2e/kafka/TestUtils.java
sentry-tests/sentry-tests-solr/pom.xml
5ef7a2b1de67a2f35510ad41c0150ad1bc957118
sentry-tests/sentry-tests-sqoop/pom.xml
eed8269d4e1b67fd622d539741e50d9984ae90c8
sentry-tools/pom.xml 45cfdb562f8cb9955d14165240ca0f7b33028551
Diff: https://reviews.apache.org/r/65244/diff/1/
Testing
-------
Full unit test passing and builds
Thanks,
Brian Towles