-
Notifications
You must be signed in to change notification settings - Fork 29k
[SPARK-5466] Add explicit guava dependencies where needed. #4272
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
One side-effect of shading guava is that it disappears as a transitive dependency. For Hadoop 2.x, this was masked by the fact that Hadoop itself depends on guava. But certain versions of Hadoop 1.x also shade guava, leaving either no guava or some random version pulled by another dependency on the classpath. So be explicit about the dependency in modules that use guava directly, which is the right thing to do anyway.
|
Thanks for figuring this out @vanzin! |
|
Test build #26326 has finished for PR 4272 at commit
|
|
This patch works. Thanks @vanzin |
|
Test build #26325 has finished for PR 4272 at commit
|
|
LGTM - pulling this in. |
|
@vanzin , today I found sql/hive-thriftserver also needs explicit guava dependencies. But in my test: cc @pwendell |
|
@tsingfu Could you add more description about how you found the build error? As I got same building error message when I tried to add some code in sql/hive-thriftserver module in which I invoked some method in Utils.class(in core module). I am not sure in which case it will occured and in which not. @vanzin I am not expert on compile thing so please give some explaination about this if you got more infos about it. I will appreciate a lot. |
|
@WangTaoTheTonic Hi, today I got the error when I did a new clean build in updated master branch as follows: then the error occured. |
|
@tsingfu Okay I tested it too and the error meesage is:
The build command is: Seems like Update: #5507 is fixing this now. |
One side-effect of shading guava is that it disappears as a transitive
dependency. For Hadoop 2.x, this was masked by the fact that Hadoop
itself depends on guava. But certain versions of Hadoop 1.x also
shade guava, leaving either no guava or some random version pulled
by another dependency on the classpath.
So be explicit about the dependency in modules that use guava directly,
which is the right thing to do anyway.