-
Notifications
You must be signed in to change notification settings - Fork 28.5k
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-35253][SQL][BUILD] Bump up the janino version to v3.1.4 #32455
Conversation
I've fixed some issues in janino and the latest janino (w/ these fixes) has been released hours ago.
I will check if the existing tests can pass and there is no TPCDS performance regression. |
Kubernetes integration test unable to build dist. exiting with code: 1 |
Thank you, @maropu . Yes, it will be great if we can succeed to upgrade at this time. |
It would be great if we could check some compilation time. |
Test build #138213 has finished for PR 32455 at commit
|
Looks like all tests are passed! |
Kubernetes integration test starting |
Kubernetes integration test status failure |
Test build #138219 has finished for PR 32455 at commit
|
cc @rednaxelafx too FYI |
okay, as far as I checked, I couldn't find any critical problem. I think it is good timing to re-start the discussion to decide whether we upgrade janino or not for the next release (v3.2.0). WDYT, guys? @gatorsmile @cloud-fan @HyukjinKwon @dongjoon-hyun @viirya @kiszk @rednaxelafx @HeartSaVioR @gengliangwang @tgravescs @LuciferYang (I've listed up the members who participated in the previous discussions) |
3.2.0 sounds fine to me. From the description it seems like the issue in https://issues.apache.org/jira/browse/SPARK-32640 was fixed with janino-compiler/janino#145 so I'm good with it. It might be nice to add a test like SPARK-32640 if we don't have one yet. |
There was a test added in SPARK-32640. So looks it is fixed now as all tests are passed. If no regression found, looks okay. |
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.
+1, LGTM from my side.
I'll do some experiments in my environment as well. Thank you very much for all the efforts driving the Janino upgrade, @maropu san! |
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.
+1. I just tried it locally and the bug described in https://issues.apache.org/jira/browse/SPARK-32640 is fixed.
Thanks for the work.
Yes I'd update to get all those fixes if there's no reason to expect a problem now. |
val resultField = classOf[SimpleCompiler].getDeclaredField("result") | ||
resultField.setAccessible(true) | ||
val loader = resultField.get(evaluator).asInstanceOf[ByteArrayClassLoader] | ||
val scField = classOf[ClassBodyEvaluator].getDeclaredField("sc") |
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.
@maropu Can we directly use evaluator.getBytecodes.asScala
instead of line 1438 ~ line 1445?
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.
Is the data the totally same with ByteArrayClassLoader.classes
? The suggestion is a trivial update though, IMO this PR just focuses on the janino upgrade. Could you make a follow-up PR for it after this merged?
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.
@maropu ok, I can try to do this followup :)
Merged to master |
Thank you, all the reviewers~ |
@cloud-fan @HyukjinKwon As you know, the janino community is pretty inactive now. So, I'm wondering if it would be better to revert this commit from branch-3.2 before the QA period. WDYT? cc: @dongjoon-hyun @viirya |
@maropu If we need to revert this commit, remember to revert SPARK-35398 first |
What's the need to revert it? |
Because the new janino version has bugs that can fail certain SQL queries, which is a regression. |
Sounds good, revert it |
I'll open a revert PR soon. If janino can have a new release with the bug fixed before rc1, we can revert my revert. |
+1 for reverting, too. |
+1 for reverting. Thank you @maropu @cloud-fan |
+1 for reverting it. Thanks! |
The PR is out: #33302 |
…sion to v3.1.4" ### What changes were proposed in this pull request? This PR reverts #32455 and its followup #32536 , because the new janino version has a bug that is not fixed yet: janino-compiler/janino#148 ### Why are the changes needed? avoid regressions ### Does this PR introduce _any_ user-facing change? no ### How was this patch tested? existing tests Closes #33302 from cloud-fan/revert. Authored-by: Wenchen Fan <[email protected]> Signed-off-by: Hyukjin Kwon <[email protected]>
…sion to v3.1.4" ### What changes were proposed in this pull request? This PR reverts #32455 and its followup #32536 , because the new janino version has a bug that is not fixed yet: janino-compiler/janino#148 ### Why are the changes needed? avoid regressions ### Does this PR introduce _any_ user-facing change? no ### How was this patch tested? existing tests Closes #33302 from cloud-fan/revert. Authored-by: Wenchen Fan <[email protected]> Signed-off-by: Hyukjin Kwon <[email protected]> (cherry picked from commit ae6199a) Signed-off-by: Hyukjin Kwon <[email protected]>
What changes were proposed in this pull request?
This PR proposes to bump up the janino version from 3.0.16 to v3.1.4.
The major changes of this upgrade are as follows:
For all the changes, please see the change log: http://janino-compiler.github.io/janino/changelog.html
NOTE1: I've checked that there is no obvious performance regression. For all the data, see a link: https://docs.google.com/spreadsheets/d/1srxT9CioGQg1fLKM3Uo8z1sTzgCsMj4pg6JzpdcG6VU/edit?usp=sharing
NOTE2: We upgraded janino to 3.1.2 (#27860) once before, but the commit had been reverted in #29495 because of the correctness issue. Recently, #32374 had checked if Spark could land on v3.1.3 or not, but a new bug was found there. These known issues has been fixed in v3.1.4 by following PRs:
Why are the changes needed?
janino v3.0.X is no longer maintained.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
GA passed.