-
Notifications
You must be signed in to change notification settings - Fork 28.2k
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-1997] update breeze to version 0.8.1 #940
Conversation
Merged build triggered. |
Merged build started. |
Merged build finished. All automated tests passed. |
All automated tests passed. |
Merged build triggered. |
Merged build started. |
What is the reason for this change, and how does it affect our intention to maintain binary compatibility? |
Merged build finished. All automated tests passed. |
All automated tests passed. |
I don't think we ever expose Breeze in public facing API, do we? |
We shouldn't, so I think we maintain source compatibility without any trouble. Are the MIMA checks good enough to catch binary incompatibility when we make significant changes to library dependencies? Not that I am asserting that this Breeze change is particularly significant, since I haven't look at the diff from 0.7. I'm more interested in the general case of what needs to be checked or done when we want to update dependencies while staying within the bounds of 1.x. |
@markhamstra , |
Neither does spark 1.0.0. We've offered no guarantee that any spark 1.x will work with scala 2.11. If it turns out that we can't cross-compile for scala 2.10 and 2.11 with essentially the same source code and dependencies and preserving our intention to preserve binary compatibility, then that may be the occasion that forces the beginning of spark 2.0 development. In any event, the breaking of our intent to preserve binary compatibility is no small matter and shouldn't slip into a PR without considerable discussion. I'm not certain that that is what is happening with this PR, but I do think that it is critical that we understand how strong our checks for binary compatibility are and what are the bounds on dependency upgrades that we can make while preserving that compatibility. |
Speaking on spark, |
Let's put this PR on hold until Spark moves to Scala 2.11. Good to see that the breeze functions we used did not change in breeze-0.8.1. |
Just looked at the release notes for Breeze 0.8 and initial glance at the commits... is there any particular reason why we are holding back this PR? If we want to cross compile with Scala 2.11, then we have to upgrade to breeze 0.8 because there does not exist a 2.11 build of breeze 0.7 We'll need to upgrade eventually. |
@ktham I think @markhamstra 's comments addressed the concerns very well. Unless there are critical bugs in breeze 0.7, we should wait until Spark core starts to move. Breeze has a fast release cycle. So we don't need to rush to 0.8.1. |
We just hit a bug when DenseVector in 0.7 triggers StackOverflowError in KryoSerializer. |
@nevillelyh Is there a JIRA for it? Is it fixed in 0.8.1? |
QA tests have started for PR 940. This patch merges cleanly. |
QA results for PR 940: |
QA tests have started for PR 940. This patch merges cleanly. |
Jenkins, retest this please. |
1 similar comment
Jenkins, retest this please. |
QA tests have started for PR 940. This patch DID NOT merge cleanly! |
@mengxr Based on the dependency graph, I am guessing we will now have jar hell problem with scalalogging-slf4j 2.1.2 (needed by breeze 0.8.1) vs 1.0.1 (used by sql/). Breeze 0.7 was depending on 0.7 too. But 2.1.2 and 1.0.1 are not compatible. So #1701 (or equivalent) needs to be merged soon to resolve the issue. |
Ah, I see. Tests were against individual build instead of the assembly jar. We should have integration tests in the future. |
Yes, either #1701 or #1369. We are already broken till they are committed. On Fri, Aug 1, 2014 at 8:19 AM, Xiangrui Meng notifications@github.com
|
I think Jenkins should be fine but the assembly jar is broken. Is it right? |
I think so, just like commons-math3 |
How do we resolve this issue? |
I think @witgo's PR strongly suggests it's OK to upgrade to 2.1.2? |
The other option could have been to keep #940 merged and merge also #1701 |
I'm okay with upgrading the version of scala logging that we use as @avati suggests. |
`breeze 0.8.1` dependent on `scala-logging-slf4j 2.1.1` The relevant code on apache#1369 Author: witgo <witgo@qq.com> Closes apache#940 from witgo/breeze-8.0.1 and squashes the following commits: 65cc65e [witgo] update breeze to version 0.8.1
breeze-0.8.1 causes dependency issues, as discussed in apache#940 . Author: Xiangrui Meng <meng@databricks.com> Closes apache#1718 from mengxr/revert-breeze and squashes the following commits: 99c4681 [Xiangrui Meng] downgrade breeze version to 0.7
…he#940) Co-authored-by: Egor Krivokon <>
…& Sum which handle by themself internally (#940) * Fix Number of partitions (0) must be positive * [SPARK-34037][SQL] Remove unnecessary upcasting for Avg & Sum which handle by themself internally ### What changes were proposed in this pull request? The type-coercion for numeric types of average and sum is not necessary at all, as the resultType and sumType can prevent the overflow. ### Why are the changes needed? rm unnecessary logic which may cause potential performance regressions ### Does this PR introduce _any_ user-facing change? no ### How was this patch tested? tpcds tests for plan Closes #31079 from yaooqinn/SPARK-34037. Authored-by: Kent Yao <yao@apache.org> Signed-off-by: Liang-Chi Hsieh <viirya@gmail.com> (cherry picked from commit a235c3b) * [SPARK-34037][SQL] Remove unnecessary upcasting for Avg & Sum which handle by themself internally ### What changes were proposed in this pull request? The type-coercion for numeric types of average and sum is not necessary at all, as the resultType and sumType can prevent the overflow. ### Why are the changes needed? rm unnecessary logic which may cause potential performance regressions ### Does this PR introduce _any_ user-facing change? no ### How was this patch tested? tpcds tests for plan Closes #31079 from yaooqinn/SPARK-34037. Authored-by: Kent Yao <yao@apache.org> Signed-off-by: Liang-Chi Hsieh <viirya@gmail.com> (cherry picked from commit a235c3b) * fix Co-authored-by: Kent Yao <yao@apache.org>
…he#940) Co-authored-by: Egor Krivokon <>
breeze 0.8.1
dependent onscala-logging-slf4j 2.1.1
The relevant code on #1369