Uh oh!
There was an error while loading. Please reload this page.
[minor] [sql] Partial revert of e683182c3e. - #6243
Conversation
Moving this file to a different module breaks the maven build; because it exposes a Guava type in an API used from a different module, unit tests that end up calling into this code will fail because Guava is shaded in the maven build.
vanzin
commented
May 18, 2015
/cc @rxin |
AmplabJenkins
commented
May 18, 2015
Merged build triggered. |
AmplabJenkins
commented
May 18, 2015
Merged build started. |
SparkQA
commented
May 18, 2015
Test build #33016 has started for PR 6243 at commit |
SparkQA
commented
May 18, 2015
Test build #33016 has finished for PR 6243 at commit
|
AmplabJenkins
commented
May 18, 2015
Merged build finished. Test FAILed. |
AmplabJenkins
commented
May 18, 2015
Test FAILed. |
JoshRosen
commented
May 18, 2015
/cc @yhuai as well. |
vanzin
commented
May 18, 2015
Jenkins, retest this please. |
AmplabJenkins
commented
May 18, 2015
Merged build triggered. |
AmplabJenkins
commented
May 18, 2015
Merged build started. |
SparkQA
commented
May 18, 2015
Test build #33018 has started for PR 6243 at commit |
andrewor14
commented
May 18, 2015
@vanzin@JoshRosen I was looking at the master maven builds and it appears that they have been passing for a few days (until today, but that's caused by a separate build break #6244): https://amplab.cs.berkeley.edu/jenkins/job/Spark-Master-Maven-pre-YARN/ even though e683182 was merged 5 days ago. Could you point me to specific instance where this causes a build break / test failure? |
vanzin
commented
May 18, 2015
Do those builds run unit tests? The issue is when you run the spark-sql unit tests; unit tests are run against the unshaded classes, so |
vanzin
commented
May 18, 2015
Actually, after writing that, it's a little weird that it compiles at all; but I did run into the unit test issue. Let me clean up my local env and try again. (With that whole change reverted, things work fine locally.) |
JoshRosen
commented
May 18, 2015
@andrewor14, maybe this is caused by that issue where the master Maven build didn't run SQL tests on every commit? We should prioritize merging #5955 to fix this. |
vanzin
commented
May 18, 2015
@JoshRosen that PR seems to be for sbt only? (IIRC the |
andrewor14
commented
May 18, 2015
vanzin
commented
May 18, 2015
Here's what I ran into:
|
vanzin
commented
May 18, 2015
@andrewor14 if maven builds are currently not running spark-sql tests, then yes, pushing that PR will cause builds to fail, and this one should fix that. |
yhuai
commented
May 18, 2015
@vanzin I checked https://amplab.cs.berkeley.edu/jenkins/job/Spark-Master-Maven-pre-YARN/2393/hadoop.version=2.0.0-mr1-cdh4.1.2,label=centos/consoleFull. I found Any idea on the reason that this test passed in jenkins? |
SparkQA
commented
May 18, 2015
Test build #33018 has finished for PR 6243 at commit
|
AmplabJenkins
commented
May 18, 2015
Merged build finished. Test FAILed. |
AmplabJenkins
commented
May 18, 2015
Test FAILed. |
vanzin
commented
May 18, 2015
@yhuai that's interesting. I don't have a good explanation. I'm trying to reproduce that locally to see if I missed something. The only difference I can see is that jenkins is running |
vanzin
commented
May 18, 2015
So, the only explanation I have is: I checked by running That would actually imply that the maven builds are technically broken. Tests are being run against some random artifact that is under the jenkins account's home dir, not against what was just built. IMO the correct way to do things would be to have a per-build local repository and use |
vanzin
commented
May 18, 2015
(Update: I checked |
vanzin
commented
May 19, 2015
For those curious, the compilation thing seems to be something super weird with scalac. This code compiles fine: While the following java code: Fails with the expected error: Perhaps it has something to do with the fact that we're using a technically illegal package name for the shaded classes ( |
andrewor14
commented
May 19, 2015
marmbrus
commented
May 20, 2015
test this please |
AmplabJenkins
commented
May 20, 2015
Merged build triggered. |
AmplabJenkins
commented
May 20, 2015
Merged build started. |
SparkQA
commented
May 20, 2015
Test build #33115 has started for PR 6243 at commit |
SparkQA
commented
May 20, 2015
Test build #33115 has finished for PR 6243 at commit
|
AmplabJenkins
commented
May 20, 2015
Merged build finished. Test PASSed. |
AmplabJenkins
commented
May 20, 2015
Test PASSed. |
marmbrus
commented
May 20, 2015
Are we sure that it was changing the package that broke this? Is it possible that the maven shading plugin is not playing nicely with the scala compiler? Either way, I'm okay with this change if it solves the problem. |
vanzin
commented
May 20, 2015
Not changing of the package, but changing of the module where the file resides. That's what causes shading to get between SQLContext tests and their use of JavaTypeInference. |
marmbrus
commented
May 20, 2015
Ah, thanks for explaining. I'm still okay with this if we don't have any other ideas about how to fix it. |
vanzin
commented
May 21, 2015
So, can we push this? Or does anyone have a better idea of how to fix it? |
srowen
commented
May 25, 2015
I'm going to commit this soon if there are no further comments. |
rxin
commented
May 25, 2015
I'm still confused. Is our Jenkins maven build broken? If not, what builds are broken? Is this related to the "catalyst" module, or the package name? If it is about package name, I think it is better to put this in core's catalyst module. |
vanzin
commented
May 25, 2015
Any build that does "mvn install" followed by "mvn test" is broken. Try for yourself. As I explained above, the problem is the file living in a different module - as in a different project in the tree. It has nothing to do with the package name. See how the file is being moved - I just placed it where it lived before, which was under a different package. |
rxin
commented
May 25, 2015
Thanks - does this mean shading for "catalyst" module is broken? |
rxin
commented
May 26, 2015
BTW if we want to merge this, let's create a catalyst package in core for now and move that there. |
rxin
commented
May 26, 2015
(And don't we need to update Jenkins to make sure it is running the appropriate tests?) |
vanzin
commented
May 26, 2015
No, it just means that you cannot expose inter-module APIs that expose shaded classes without breaking things. As for the package, it sounds weird to create a Regarding the maven build, I don't know. Everything I tried locally did not work, so if something works in jenkins here, it sure to me sounds like something might be broken in its setup. |
rxin
commented
May 27, 2015
Thanks for the explanation. Then this pull request should fix the problem right? #6431 |
vanzin
commented
May 27, 2015
Yes, that should achieve the same thing. I'll close this one then. |
This should also close#6243. Author: Reynold Xin <rxin@databricks.com> Closes#6431 from rxin/JavaTypeInference-guava and squashes the following commits: e58df3c [Reynold Xin] Removed Gauva dependency from JavaTypeInference's type signature. (cherry picked from commit 6fec1a9) Signed-off-by: Reynold Xin <rxin@databricks.com>
This should also closeapache#6243. Author: Reynold Xin <rxin@databricks.com> Closesapache#6431 from rxin/JavaTypeInference-guava and squashes the following commits: e58df3c [Reynold Xin] Removed Gauva dependency from JavaTypeInference's type signature.
This should also closeapache#6243. Author: Reynold Xin <rxin@databricks.com> Closesapache#6431 from rxin/JavaTypeInference-guava and squashes the following commits: e58df3c [Reynold Xin] Removed Gauva dependency from JavaTypeInference's type signature.
Moving this file to a different module breaks the maven build; because it
exposes a Guava type in an API used from a different module, unit tests
that end up calling into this code will fail because Guava is shaded in
the maven build.