-
Notifications
You must be signed in to change notification settings - Fork 28.3k
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
SPARK-11565 Replace deprecated DigestUtils.shaHex call #9532
Conversation
Test build #45273 has finished for PR 9532 at commit
|
The error message displayed seems to have no relation to the pull request change ... The compile does fail with:
although |
Eh, the line you changed doesn't compile. It seems quite directly related! But yes the question is why indeed. Does it compile for you with Maven? then we may have a Maven/SBT resolution difference again and you are getting older Codec from Hadoop probably in the SBT build. You may have to adjust dependencies to force some component to not bring in its version of Codec. I think this is why I wasn't able to change this before. |
@srowen From SparkQA: "This patch adds the following public classes (experimental):" I do not see how my change adds a public class ... |
@gliptak you can ignore that, it's indeed a false positive. The problem is the compilation error. Yes, the problem is the SBT build, not Maven, as expected. You'd have to investigate why the SBT dep resolution differs and adjust exclusions. It's annoying but this is the price of trying to make SBT work as well. |
@srowen I'm running |
That doesn't sound right. Is it stuck somewhere? alternatively you might be able to deduce the problem with |
Test build #45303 has finished for PR 9532 at commit
|
@srowen Which maven pom.xml this corresponds to (streaming?)?
|
These are in |
Test build #45323 has finished for PR 9532 at commit
|
Number of errors related to signatures:
Something got reordered with the pom.xml modifications? |
<!-- direct dependency on version 1.10 --> | ||
<groupId>commons-codec</groupId> | ||
<artifactId>commons-codec</artifactId> | ||
<version>1.10</version> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You don't need to re-declare the dependency and indeed don't want to; you're duplicating version info
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The reason to bring it in directly is those exclusions above. I will validate thus once more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Without this, the other exclusions drop commons-codec.
That means something is bringing in |
@srowen So you are seeing this as a side effect if the Maven dependency changes ... I will work this some more (locally). |
@srowen Can you offer some pointers on how to move this forward? |
Hm, I still think you don't want to duplicate the version info. I'm surprised if you have to exclude and then add dependencies to get SBT working. What about only depending on the component directly? No exclusion. |
@srowen I'm working this using |
@srowen Looks like hadoop is not using the same version of common-code? Should we bump the version of |
@yhuai in the past, the problem was that it then fails when an older version is provided by old Hadoop 1.x at runtime. Hadoop 2.2+ has a recent enough version (1.7). However I encountered a problem with how MiMa executes when trying to change this that I didn't fully understand. You can try managing it up to version 1.10 and see the problem. |
(you meant "You can try managing it up to version 1.7"?) |
I was figuring go all the way, but sure, 1.7 is a little more conservative. The Commons libraries don't tend to remove old deprecated methods, which would be the problem in updating past 1.7. |
Would you like me to update this patch with 1.7? |
Right now the issues seem to be: you're duplicating the version info in child POMs, and adding exclusions that probably aren't needed. Transitive dependencies are managed up by Maven. Version 1.10 seems OK to me. |
@gliptak are you able to follow up on this? |
@srowen This built locally. |
Test build #49896 has finished for PR 9532 at commit
|
Test build #2439 has finished for PR 9532 at commit
|
These tests are failing everywhere, it's not related |
Jenkins, retest this please |
Test build #49957 has finished for PR 9532 at commit
|
Jenkins, retest this please |
Github is hiccuping ... |
Jenkins, retest this please |
Test build #50273 has finished for PR 9532 at commit
|
I'm sort of surprised that it was not necessary to update the file listing all of the project dependencies? The change is looking fairly good, except that the version needs to be managed in |
@srowen commons-codec is already in the section |
I see (not in front of the code now) - should just be an edit to that section then. Not a new declaration in core. The change is in SQL anyway |
@srowen if you are proposed changing dependencies, would a follow-up JIRA work for that? |
I think it is a necessary part of removing the deprecated call so that it works reliably? |
Back online now. Actually, |
The deprecated call was updated with this commit. |
@gliptak yes obviously. But as per several comments in this discussion, I still don't see why you added the pom stanzas that you did. I think these should be removed. |
@srowen Yes I removed the pom.xml reference, and was successful building locally. Maven dependencies might have changed since I initially issued the patch ... |
Test build #50877 has finished for PR 9532 at commit
|
OK, back to my initial confusion on this. So the pom.xml change is needed to make this work ... |
Yeah, this is what I saw too. It's not a problem with the build of the code itself, since as you say it passes locally. It's a problem that occurs when MiMa builds previous code to evaluate API differences. I didn't quite understand the fix. Your change is a clue; it may relate to Maven's closest-first dependency rules. In that case, I suspect the right place to add the explicit dependency is in In any event you don't need to repeat the version, and in fact should not. |
Test build #50901 has finished for PR 9532 at commit
|
@srowen Two tests failed with timeout. Unrelated? |
Yes this test is bad at the moment. Good news is it got past MiMa tests, I think. The change looks right to me. |
Jenkins, retest this please |
Test build #50970 has finished for PR 9532 at commit
|
Merged to master |
No description provided.