-
-
Notifications
You must be signed in to change notification settings - Fork 391
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
Upgrade to Karaf 4.2.1 #761
Conversation
Thanks @wborn, interesting results!
I would like to keep the thread number low, so the easiest way to address this might be to configure the logger to swallow messages from this class.
Did some initial testing, which also looks good so far. I think we can move forward with that.
Could you check if the xstream warning can be addressed by adding
We can do that as a second step after the upgrade (and @cweitkamp might want to work on the logging part as he had already started looking into it). |
I've now changed the log level so it is suppressed. You can read more about the reasons for adding this warning in jetty/jetty.project#2798. I.e. the HTTP/2 implementation requires more threads and there are also some false positive warnings for which a fix was merged.
It will still keep showing these warnings because this is the default mode. According to the documentation:
It does pickup my mode changes because when I first
and then start openHAB it shows more details about the reflective-access operations:
That's OK with me since it probably has more impact than just upgrading Karaf. Unless there are more review comments the only work remaining is more additional testing. |
But we are upgrading to the unfixed version as it seems :-)
Ok, let's schedule that for the weekend. Maybe @martinvw and others want to do some testing until then as well. |
Signed-off-by: Wouter Born <eclipse@maindrain.net>
A new test release has been created that uses the default bundled Jetty version and filters the ThreadPoolBudget warning. You can download the test artifacts from: I've also let Travis create some Docker images 🐳 using this Karaf 4.2.1 test release, for the tags see: |
This pull request has been mentioned on openHAB Community. There might be relevant details there: https://community.openhab.org/t/help-testing-karaf-4-2-1/51321/1 |
I built an apt package out of the tar you provided, installs and updates well. Don't have the courage/time to run it on my home system yet (to test on an arm chip) but I've had no new errors with location, language or the Astro/NTP/Systeminfo binding. @wborn, would you like me to post that deb file link in the OH thread? |
Thanks for the feedback and Debian package @BClark09 ! The reflective access warnings show you've been testing on a newer Java version as well. 😉
Your package also works well so far on my Ubuntu 18.04 VM with Java 10 so I'm OK with that. 👍 |
Haven't found a way to break it yet, will try on my RPi as soon as I can! Nice one! |
Running on my RPi now and Z-Wave, Zigbee, Sonos devices are responsive and working well. I had to use openJDK-9 to test later Java functionality, a few errors did pop up but restarting the Pi meant that these didn't show up again. Many warnings about all the .xml files in z-wave though:
This is probably unrelated to the PR? It doesn't look like there will be any Oracle or Zulu 9/10/11 builds for 32 bit systems. So I'm hoping arm64 architecture will be more widely adopted. |
Do you read any news about that or do you just reckon based on the fact that Zulu so far only provides Java 8 builds? |
I read that Oracle won't be providing them, but only assumed (probably incorrectly) that since Zulu haven't provided any yet, that they were doing the same. |
Some companies (e.g. RedHat) completely skip supporting the short-term rapid release versions (Java 9, 10). The next Java 11 LTS release will probably have a lot more traction also because the public updates end for the Java 8 LTS release in 2019. In the mean time it's nice to see what issues need to be addressed for supporting the next Java 11 LTS release. |
I've seen the same warnings too occasionally with other bindings (astro, sonos) after just starting the runtime. Apparently eclipse-archived/smarthome#5616 was created to resolve it. There have been no reports in the community about it again since it was fixed. So far I've only seen it when using Java 10. I'll keep testing and see if it is reproducible also with Java 8. |
Interestingly, I just had the same in my fresh openHAB IDE setup (standard, Java8, no Karaf). So somehow this issue seems to be back. |
No, these are not related to this PR. I have seen them for a while, but very sporadically. Just got the ones below yesterday after an OH restart (snapshot 1361). They are usually for the zwave binding, but not always.
I'm currently running Oracle Java 8...
|
Just found on their website: "Java 6, 7, 8 including JDK 8 Compact Profiles, plus future LTS releases" - so we should hopefully see a Java 11 version of Zulu embedded once it comes out. So I guess it also makes most sense for us to do testing with Java 11 soon as we will most likely rather support Java 8 and Java 11 than anything inbetween. |
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.
Many thanks!
Seeing that Karaf 4.2.1 should also support JDK 11 I was able to compile the early access openJDK 11 for armhf. There were a few errors the first run of openHAB, but after a restart it seems to behaving and the UIs and NTP/Astro things seem to be working properly. Which is a good start I guess 🙂
|
That's good news regarding JDK 11 and a great accomplishment! :-) Did it take long to compile OpenJDK on a Pi or did you cross compile it on another machine? To simplify JDK 11 testing, I just created an openhab-docker branch that makes Travis create Debian and Alpine amd64 Docker images using the JDK 11 Early-Access Builds. For the available tags see my wborn/openhab-jdk11 Docker Hub repository. So far I haven't found any new issues with these images besides the known XStream warnings and no longer working RRD4J addon. |
I have merged a commit that should help: rrd4j/rrd4j@4b791a7 |
But any way the problem is with the NIO backend only. I'm not sure it's the best backend, as it's doing mmap and I don't think it fits well rrd4j use case. |
Thanks @fbacchella! With a local build of the rrd4j master integrated in the openHAB RRD4J persistence bundle the exceptions seem to be resolved on Java 11 now. 👍 We currently use an ancient rrd4j version (2.2.1, released in 2015) but so far it seems to be a drop in replacement. :-) I also noticed the current version of MaryTTS in the voice addon no longer works with newer Java versions (marytts/marytts#783). Should we create a single (similar to eclipse-archived/smarthome#4369) or multiple issues for these Java compatibility issues @kaikreuzer? |
IMHO separated issues are better as they could be closed / fixed by respective merge requests one by one. We could introduce a label or prefix to mark that issues. |
That's what I would prefer myself too. A single Java compatibility issue would probably be a never ending issue with new Java versions being released every 6 months. 😉 |
Separate issues in the respective repos make sense, but I'd also suggest to create one overarching issue here in openhab-distro about Java 11 support where we can keep track of all the open issues that need to be tackled. |
@wborn Sounds as if you are also already close to creating PRs for rrd4j and maryTTS, right? |
About 4 hours on the Pi3! 😉 As another note, I got the following error when using openJDK 9 on my RPi 3 when trying to use BasicUI (looking at an eventsource). Looking at openHAB's forums, it may be an issue with openJDK 8 too:
The error isn't present when using openJDK 11. At the moment, my home is fully functional with the exception of MaryTTS so this is looking very promising. |
I'll create some follow up issues for supporting Java 11.
Currently both projects only have a fix for the Java compatibility issues in an unreleased version. 😞
These errors are also subject for discussion in: |
This pull request has been mentioned on openHAB Community. There might be relevant details there: https://community.openhab.org/t/low-configured-threads-warning/52084/4 |
Upgrades Karaf to 4.2.1. So far I haven't run into anything major while upgrading.
There seems to be a new Jetty warning that may need to be addressed:
Besides that it seems to work just as well as the current snapshot build. 😄
Though it could use some additional testing of course.
I've compiled some test artifacts for anyone who wants to help testing. It should also work with the online repository.
This Karaf version also supports Java 9 and 10. So I tested Java 10 on Ubuntu 18.04. The runtime starts and all UIs work properly. Though some errors/stacktraces show due to issues in some dependencies:
The next step is to have another look at the current state of configuring logging using XML instead of properties files (#516).