Uh oh!
There was an error while loading. Please reload this page.
Make AdoptOpenJDK Eclipse OpenJ9 the Java runtime for Java actions - #24
Conversation
| @@ -0,0 +1,10 @@ | |||
| FROM adoptopenjdk/openjdk8-openj9:x86_64-ubuntu-jdk8u152-b16 | |||
There was a problem hiding this comment.
We should replace the current image using oracle jdk and replcae the current java8action one with with this openjdk which uses ubuntu/debian based, transparent transition
There was a problem hiding this comment.
then we can close the other PR as this takes care of it ???
kameshsampath
left a comment
There was a problem hiding this comment.
When I checked the docker hub of AdpotOpenJDK I just see adoptopenjdk/openjdk8-openj9, where are you getting this Adoptopenjdk/openjdk8-openj9:x86_64-ubuntu-jdk8u152-b16 from ?
Param-S
commented
Mar 6, 2018
Please refer the tags section https://hub.docker.com/r/adoptopenjdk/openjdk8-openj9/tags/ x86_64-ubuntu-jdk8u152-b16 |
kameshsampath
commented
Mar 6, 2018
@Param-S@csantanapr check this https://github.com/kameshsampath/adoptopenjdk , I have made the docker images temptable which right now builds JDK8/JDK9 for Centos/Debian using AdoptOpenJDK builds for both hotspot/openj9. This should reduce our maintenance much easier. WDYT? |
Param-S
commented
Mar 7, 2018
@kameshsampath It will be useful. But, I think, we can have separate discussion as we may need to focus on less footprint images (like alpine based). We can have this discussion separately in issues, discuss on the need to support another distro, advantages & etc. |
csantanapr
left a comment
There was a problem hiding this comment.
please replace current image do not create new one.
| dockerRetries = project.hasProperty('dockerRetries') ? dockerRetries.toInteger() : 3 | ||
| dockerBinary = project.hasProperty('dockerBinary') ? [dockerBinary] : ['docker'] | ||
| dockerBuildArg = ['build'] | ||
| dockerFile = project.hasProperty('dockerFile') ? dockerFile : 'Dockerfile' |
There was a problem hiding this comment.
No need to change docker.gradle.
Please replace the current image in https://github.com/apache/incubator-openwhisk-runtime-java/blob/master/core/javaAction/Dockerfile
dinogun
commented
Mar 8, 2018
Just thought it is relevant to this discussion - Advantages with OpenJ9 |
7adbbce to
32ab6baCompareParam-S
commented
Mar 12, 2018
@csantanapr made modification to make AdoptOpenJDK_EclipseOpenJ9 JDK image is the default for Java actions |
Param-S
commented
Mar 13, 2018
actionContainers.JavaActionContainerTests > Java action should handle unicode in source, input params, logs, and result FAILED. Looking at the failure |
csantanapr
commented
Mar 13, 2018
It could be related to locale and utf need to be set in env in the runtime |
| ENV LANG en_US.UTF-8 | ||
| ENV LANGUAGE en_US:en | ||
| ENV LC_ALL en_US.UTF-8 | ||
There was a problem hiding this comment.
I haven’t looked at the new dockerfile dependence below. If these aren’t set you’ll need to reset them.
There was a problem hiding this comment.
Yep those are the ones I was referring 👍
There was a problem hiding this comment.
Restored the locale specific environment variable settings.
There was a problem hiding this comment.
Thanks @rabbah@csantanapr Restoring the environment variable solved the issue. All checks passed.
There was a problem hiding this comment.
Just noticed you added the locales package here. Good belt-and-suspenders approach.
32ab6ba to
9589f83Comparedinogun
commented
Mar 15, 2018
The latest OpenJ9 Docker images have now been marked as TCK certified, and so the Dont use in Production banner has been removed as well. @Param-S Please use the tag jdk8u162-b12_openj9-0.8.0 (This is a multi-arch tag and works on x86_64, ppc64le and s390x) |
45bd5c9 to
a9289f6CompareParam-S
commented
Mar 16, 2018
Updated Docker file with latest AdoptOpenJDK TCK compliant docker build. |
| @@ -1,38 +1,23 @@ | |||
| FROM buildpack-deps:trusty-curl | |||
| FROM adoptopenjdk/openjdk8-openj9:x86_64-ubuntu-jdk8u162-b12_openj9-0.8.0 | |||
There was a problem hiding this comment.
As I mentioned in my comment, use the jdk8u162-b12_openj9-0.8.0 tag rather than the x86_64-ubuntu-jdk8u162-b12_openj9-0.8.0
a9289f6 to
c05de88Comparejonpspri
commented
Mar 17, 2018
I’m working my way through a multi-architecture build for this. Is there a reason we feel the need to build the proxy JAR within the Docker image? My gut would be to build it once on the build machine and copy the resulting JAR onto the Docker image. Thoughts? |
jonpspri
commented
Mar 19, 2018
Running into the unicode failure again using jdk8u162-b12_openj9-0.8.0. The environment variables mentioned above are set in the runtime and also in the test compile environment. Any thoughts on additional potential causes? |
Param-S
commented
Mar 20, 2018
@jonpspri which testcase fails with the latest Docker image. |
jonpspri
commented
Mar 20, 2018
@Param-S The same unicode test case as above. Hold tight — I seem to have some classpath issues and may not be running the correct test issues. Will be filing a PR over in |
jonpspri
commented
Mar 21, 2018
I think I found my problem buried in a circular dependency on |
jonpspri
commented
Mar 21, 2018
Found it. For whatever reason, the proxy was running using the ‘US-ASCII’ code page to log to the Docker log. Safest and most explicit resolution is to add ‘-Dfile.encoding=UTF-8’ to the CMD line. That way there’s no room for confusion. |
| && ./compileClassCache.sh | ||
| CMD ["java", "-jar", "/javaAction/build/libs/javaAction-all.jar"] | ||
| CMD ["java", "-Xshareclasses:cacheDir=/javaSharedCache,readonly", "-Xquickstart", "-jar", "/javaAction/build/libs/javaAction-all.jar"] |
There was a problem hiding this comment.
Suggest also adding ‘-Dfile.encoding=UTF-8’. I think that may even do away with the need to use the locales apt package (though nothing is certain when it comes to locales.)
c05de88 to
e842640Comparecsantanapr
commented
Apr 5, 2018
@Param-S could you rebase the PR? |
Enable AdoptOpenJDK + Eclipse OpenJ9 JVM is the Java runtime for OpenWhisk Java actions. Signed-off-by: Parameswaran Selvam <sparameswara@gmail.com>
e842640 to
d55dc47CompareParam-S
commented
Apr 5, 2018
@csantanapr rebased the PR. |
Eclipse OpenJ9 runtime for Java is opensource runtime which is available as binary through AdoptOpenJDK community builds. By making available of the Eclipse OpenJ9 for OW Java actions, it gives the developers the option to choose between different Java runtime implementations.
Signed-off-by: Parameswaran Selvam sparameswara@gmail.com