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
HBASE-20598 - Upgrade to JRuby 9.2 #2308
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
It looks like unit tests are passing (per the last report). @nkalmar have you launched a local instance with HBase shell just to make sure basic operations still work (e.g. create a table, put some rows, scan the rows)? Tentatively +1 on the above sanity check and unit tests
@busbey had also asked the above on Jira. I know that I'm always confused finding jruby docs, but can you try to get this list of changes together, Norbert? |
Hi @joshelser , yes I did test shell on my local machine, but just for a sanity check, I tested again.
I restarted the pre-commit job because it was flaky at the time, and I saw timeouts in the logs, and/or some dockr problems. No test failures or other errors though. Still, I couldn't get a clean build. As for JRuby docs, this is what I written together, please let me know what is missing/should be changed. (We could list all the bugfixes, but it's more than a 1.000, and the below link has it all). Thanks! For changelog please check https://www.jruby.org/news Main points:
JRuby versions up to 9.2.13.0 had various bugfixes, seucirty fixes, performance improvements (memory reduction, runtime generations), IO improvements, basic support for java11, Main gems changes:
License did not change: "You can redistribute it and/or modify it under either the terms of the 2-clause BSDL (see the file BSDL)" in 9.1.17.0 and in master. |
Rebased to current master |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Some subtle changes I'm noticing, the prompt is different. Now..
and before...
Timestamps are also pretty-printed now:
was before..
The timestamp one is probably something we should fix. I think the prompt fixing would be nice to fix, but I'm not sure how to do that without a deep dive :) |
This comment has been minimized.
This comment has been minimized.
Hi @joshelser , I found why it is pretty printed. It is strange, because it is explicitly converted by this function:
So I think it was meant to be pretty printed originally, but due to some bug it wasn't. I'll check the other places this function is called if it is/was pretty printed or not. |
Isn't the pretty print because of HBASE-23930? |
@nkalmar yes, I think so. Any luck w/ the prompt? Thanks. |
Aha! Right you are. Sorry for sending you on a goose-chase. |
No, I couldn't find why session name changed unfortunately. I found some vague info that this prints top lvl class/instance. I think the solution is in hirb.rb class where we instantiate the prompt. I will take another go at it. Or more like around here: |
Cancel that, this is not working, this config not only changes session name but the object as well, it's no longer hbase but basically a "main" string... reverting |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
pom.xml
Outdated
@@ -1633,8 +1633,8 @@ | |||
<jamon-runtime.version>2.4.1</jamon-runtime.version> | |||
<jettison.version>1.3.8</jettison.version> | |||
<!--Make sure these joni/jcodings are compatible with the versions used by jruby--> | |||
<joni.version>2.1.11</joni.version> | |||
<jcodings.version>1.0.18</jcodings.version> | |||
<joni.version>2.1.40</joni.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.
are these the versions that match what's in jruby-complete for 9.2.13.0?
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.
No, that's 2.1.31. We should change to that?
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.
Changed it.
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.
Only certain versions of Joni and JCodings work together, so when they don't match what's in the jruby-complete jar you can get weird hard to diagnose runtime failures depending on the classpath ordering.
I have in my backlog filing a jira about making sure they match, so I think you'd be fine to skip it here if you want. (like if something goes wrong with the test run after changing it.)
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Change-Id: I44d2f0d1b530c4018230460732aa6f478a22a474
🎊 +1 overall
This message was automatically generated. |
🎊 +1 overall
This message was automatically generated. |
💔 -1 overall
This message was automatically generated. |
Different test failed than before, restarting build |
🎊 +1 overall
This message was automatically generated. |
🎊 +1 overall
This message was automatically generated. |
💔 -1 overall
This message was automatically generated. |
Why is this so flaky? Different 5 tests this time, only 1 test last time :( |
🎊 +1 overall
This message was automatically generated. |
🎊 +1 overall
This message was automatically generated. |
💔 -1 overall
This message was automatically generated. |
🎊 +1 overall
This message was automatically generated. |
💔 -1 overall
This message was automatically generated. |
💔 -1 overall
This message was automatically generated. |
🎊 +1 overall
This message was automatically generated. |
🎊 +1 overall
This message was automatically generated. |
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.
Busbey just reminded me that I never clicked the +1 :) sorry, Norbert!
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.
I think those test are flakey. I'm about done rebasing and check some thing locally and then I'll go forward with merging.
- upgrade our default jruby to 9.2.13.0 - this major JRuby version update changes the Ruby compatibility from Ruby 2.3 to Ruby 2.5 - use a custom IRB prompt to convey similar information to before - update the joni and jcoding dependencies to match this version of jruby-complete closes #2308 Signed-off-by: stack <stack@apache.org> Signed-off-by: Josh Elser <elserj@apache.org> Signed-off-by: Sean Busbey <busbey@apache.org> (cherry picked from commit f0c430a)
- upgrade our default jruby to 9.2.13.0 - this major JRuby version update changes the Ruby compatibility from Ruby 2.3 to Ruby 2.5 - use a custom IRB prompt to convey similar information to before - update the joni and jcoding dependencies to match this version of jruby-complete closes apache#2308 Signed-off-by: stack <stack@apache.org> Signed-off-by: Josh Elser <elserj@apache.org> Signed-off-by: Sean Busbey <busbey@apache.org> (cherry picked from commit f0c430a)
- upgrade our default jruby to 9.2.13.0 - this major JRuby version update changes the Ruby compatibility from Ruby 2.3 to Ruby 2.5 - use a custom IRB prompt to convey similar information to before - update the joni and jcoding dependencies to match this version of jruby-complete closes apache#2308 Signed-off-by: stack <stack@apache.org> Signed-off-by: Josh Elser <elserj@apache.org> Signed-off-by: Sean Busbey <busbey@apache.org> (cherry picked from commit f0c430a) Change-Id: Ia006503ee723ed417a45f5ee25a76e9edf624fd1
- upgrade our default jruby to 9.2.13.0 - this major JRuby version update changes the Ruby compatibility from Ruby 2.3 to Ruby 2.5 - use a custom IRB prompt to convey similar information to before - update the joni and jcoding dependencies to match this version of jruby-complete closes apache#2308 Signed-off-by: stack <stack@apache.org> Signed-off-by: Josh Elser <elserj@apache.org> Signed-off-by: Sean Busbey <busbey@apache.org> (cherry picked from commit f0c430a)
After upgrade, prompt changed (mainly what it prints as session name, used to be "main" now the hbase object instance name). We decided to change prompt to"%N:%03n>", %N being Irb.conf[:IRB_NAME] (hbase) and %03n the line number.
Add to docs:
For changelog please check https://www.jruby.org/news
Main changes:
JRuby 9.2.0 minor release:
JRuby versions up to 9.2.13.0 had various bugfixes, security fixes, performance improvements (memory reduction, runtime generations), IO improvements, basic support for java11,
Main gems changes:
No change in license