Latest revision |
Your text |
Line 2: |
Line 2: |
| | name = java OpenJDK | | | name = java OpenJDK |
| | image = [[File:test-days-banner.svg|300px|link=QA/Test Days]] | | | image = [[File:test-days-banner.svg|300px|link=QA/Test Days]] |
| | date = 2018-09-26 | | | date = 2018-09-XX |
| | time = all day | | | time = all day |
| | website = [[QA/Test Days]] | | | website = [[QA/Test Days]] |
Line 28: |
Line 28: |
|
| |
|
| The following cast of characters will be available testing, workarounds, bug fixes, and general discussion. In case of problem related to test day organization/wiki/whatever, please reach out to sumantrom. | | The following cast of characters will be available testing, workarounds, bug fixes, and general discussion. In case of problem related to test day organization/wiki/whatever, please reach out to sumantrom. |
| * CET: jvanek (jvanek at redhat.com) + zzambers, mvala, pmikova, jerboaa | | * CET: jvanek, zzambers, mvala, pmikova, jerboaa |
| * EDT: stooke (stooke at redhat.com) + omajid, jkang | | * EDT: still_looking_for_volunteers |
| | |
|
| |
|
| == Prerequisite for Test Day == | | == Prerequisite for Test Day == |
Line 39: |
Line 40: |
|
| |
|
| === Known issues === | | === Known issues === |
| * '''[[https://bugzilla.redhat.com/show_bug.cgi?id=1200302 dnf reinstall is broken]]''' | | * [[https://bugzilla.redhat.com/show_bug.cgi?id=1200302 dnf reinstall is broken]] |
| * -debug or -slowdebug packages are not for reasonable use. They are for people debugging JDK iself. This testcase is not covering them. Feel free to try to install them, and to switch them, also some apps should run in them (although terribly slowly) so if you face some issues with them, it is most likely not an issue. | | * -debug or -slowdebug packages are not for reasonable use. They are for people debugging JDK iself. This testcase is not covering them. Feel free to try to install them, and to switch them, also some apps should run in them (although terribly slowly) so if you face some issues with them, it is most likely not an issue. |
| * accessibility works only on java-1.8.0-openjdk | | * accessibility works only on java-1.8.0-openjdk |
| ** even there it is known to have side effects and strange consequences | | ** even there it is known to have side effects and strange consequences |
| * recently was found broken icon at jdk8: https://bugzilla.redhat.com/show_bug.cgi?id=1626810
| |
|
| |
|
| == How to test? == | | == How to test? == |
| === Applicationform ===
| |
|
| |
| http://testdays.fedorainfracloud.org/events/48
| |
|
| |
| === Basic cases ===
| |
| <pre> | | <pre> |
| sudo dnf install java | | sudo dnf install java |
Line 111: |
Line 106: |
| sudo dnf remove $JDK | | sudo dnf remove $JDK |
| # is the system sane after upgrade/remove? | | # is the system sane after upgrade/remove? |
| </pre>
| |
| === Switching JRE/JDK ===
| |
| * Multiple jdks are handled by alternatives
| |
| * Major '''masters''' are:
| |
| * for SDK: ''javac, java_sdk_openjdk, java_sdk_$VERSION, java_sdk_$VERSION_openjdk''
| |
| * for JRE: ''java, jre_openjdk, jre_$VERSION, jre_$VERSION_openjdk''
| |
| ** where version is one of 1.8.0, 10, 11
| |
| * for javadoc: ''javadocdir''
| |
| * or javadoc-zip: ''javadoczip''
| |
| * for icedtea-web: ''javaws''
| |
|
| |
|
| <pre>
| | ### Switching JRE/JDK ### |
| | |
| | # Multiple jdks are handled by alternatives |
| | # Major **masters** are: |
| | # for SDK: javac, java_sdk_openjdk, java_sdk_$VERSION, java_sdk_$VERSION_openjdk |
| | # for JRE: java, jre_openjdk, jre_$VERSION, jre_$VERSION_openjdk |
| | # where version is one of 1.8.0, 10, 11 |
| | # for javadoc: javadocdir |
| | # for javadoc-zip: javadoczip |
| | # for icedtea-web: javaws |
| | |
| sudo alternatives --config $MASTER | | sudo alternatives --config $MASTER |
| # will select the tooling acocrding by masters from above | | # will select the tooling acocrding by masters from above |
Line 148: |
Line 143: |
| # is /etc/java affecting correct jdk and so on.... | | # is /etc/java affecting correct jdk and so on.... |
|
| |
|
| </pre>
| | ### system wide crypto policy ### |
| | # your java and javaws is affected by system crypto policy |
|
| |
|
| === System wide crypto policy ===
| |
| Your java and javaws is affected by system crypto policy
| |
| <pre>
| |
| update-crypto-policies --show | | update-crypto-policies --show |
| # will should you current | | # will should you current |
Line 168: |
Line 161: |
| # nearly no javaws or https application will remain working | | # nearly no javaws or https application will remain working |
|
| |
|
| </pre>
| | ### Shenandoah ### |
| | | # jdk8 and jdk11 have new garabge collector |
| === Shenandoah ===
| |
| <pre>
| |
| # jdk8 and jdk11 have new garabge collector (on x86_64 and aarch64) | |
| # you can use it via: | | # you can use it via: |
| java -XX:+UseShenandoahGC ohter_params_as_ususal | | java -XX:+UseShenandoahGC ohter_params_as_ususally |
| # or set it up globally: | | # or set it up globally: |
| export JAVA_TOOL_OPTIONS="-XX:+UseShenandoahGC $JAVA_TOOL_OPTIONS" | | export JAVA_TOOL_OPTIONS="-XX:+UseShenandoahGC $JAVA_TOOL_OPTIONS" |
| # are you applications working with Shenandoah? | | # are you arpplications working with Shenandoah? |
| # are they working better? | | # are there working better? |
|
| |
|
| </pre>
| |
|
| |
|
| === JAVA_HOME ===
| | ### JAVA_HOME ### |
| * See https://fedoraproject.org/wiki/Changes/Decouple_system_java_setting_from_java_command_setting for more details.
| | See https://fedoraproject.org/wiki/Changes/Decouple_system_java_setting_from_java_command_setting for more details. |
| * JAVA_HOME is partially deprecated, partially very common environment variable for java programmers and admins.
| | JAVA_HOME is partially deprecated, partially very common environment variable for java programmers and admins. |
| * As fedora user, you should not be facing it.
| | As fedora user, you should not be facing it. |
| * Fedora always uses *default* JRE/JDK (currenlty8) to build and run application. As fedora packager or developer, you may need it to change system JDK for both build and runtime.
| | Fedora always uses *default* JRE/JDK (currenlty8) to build and run application. As fedora packager or developer, you may need it to change system JDK for both build and runtime. |
| <pre>
| |
| # is JAVA_HOME working for you? | | # is JAVA_HOME working for you? |
| </pre>
| |
| ==== JAVA_HOME for common user ====
| |
| * Fedora always uses *default* JRE/JDK (currenlty8) to run application.
| |
| * all java applications are also build by this JDK.
| |
| * no metter what JRE you have selected via alternatives, default jdk is used
| |
| * if you wish to run Fedora's packaged java applications, with different JDK, you must enforce it via JAVA_HOME
| |
| <pre>
| |
| # this is tricky to verify. Are you sure?
| |
| # is JAVA_HOME working for you?
| |
| </pre>
| |
|
| |
|
| === Install Only JDK ===
| | |
| * Our RPMs, can be installed fully in paralel:
| | ### Install Only JDK ### |
| * To enable this very special case, you have to modify '''/etc/dnf/dnf.conf''' and add/modify '''installonlypkgs'''
| | Our RPMs, can be installed fully in paralel: |
| <pre>
| | To enable this very special case, you have to modify /etc/dnf/dnf.conf and add |
| installonlypkgs=list_of_packages_you_care_about | | installonlypkgs=list_of_packages_you_care_about |
| </pre>
| | The list differs if you care about headless jre only, or full JDK. |
| The list differs if you care about headless jre only, or full JDK. eg.: | | eg.: |
| <pre>
| |
| installonlypkgs=java-1.8.0-openjdk-headless java-1.8.0-openjdk java-1.8.0-openjdk-devel | | installonlypkgs=java-1.8.0-openjdk-headless java-1.8.0-openjdk java-1.8.0-openjdk-devel |
| </pre>
| | Most commonly: installonlypkgs=java-1.8.0-openjdk* |
| Most commonly: | | Or: installonlypkgs=java-11-openjdk* |
| <pre>
| | |
| installonlypkgs=java-1.8.0-openjdk* | | This case, however hard to maintain is really used by people developing java itself. Also it is very useful for admins, who cna try to deploy application on newer version by parts, or try first. |
| </pre>
| |
| Or: | |
| <pre>
| |
| installonlypkgs=java-11-openjdk* | |
| </pre>
| |
| This case, however hard to maintain is really used by people developing java itself. Also it is very useful for admins, who can try to deploy application on newer version by parts, or try first. | |
| <pre>
| |
| # is the multiple install feature working for you as advertised? | | # is the multiple install feature working for you as advertised? |
| </pre> | | </pre> |
|
| |
|
| == Exploratory testing == | | |
| | === Exploratory testing === |
|
| |
|
| If you run out of test cases, congratulations! But that's not the end! You can still help out by playing around with the various installs uninstalls parallel isntalls jre/jdk switching... in whatever ways you can think of: try out all the things you can find. Get creative! Any problems you find please file a bug, or report to the IRC channel. | | If you run out of test cases, congratulations! But that's not the end! You can still help out by playing around with the various installs uninstalls parallel isntalls jre/jdk switching... in whatever ways you can think of: try out all the things you can find. Get creative! Any problems you find please file a bug, or report to the IRC channel. |
Line 230: |
Line 201: |
|
| |
|
| If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for the component [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=28&component=java-openjdk java-openjdk] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=28&component=java-11-openjdk java-11-openjdk] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=28&component=java-1.8.0-openjdk java-1.8.0-openjdk]. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you. | | If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for the component [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=28&component=java-openjdk java-openjdk] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=28&component=java-11-openjdk java-11-openjdk] or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=28&component=java-1.8.0-openjdk java-1.8.0-openjdk]. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you. |
|
| |
| == Test Results ==
| |
| === Install ===
| |
| {|
| |
| ! User
| |
| ! Profile
| |
| ! [http://fedoraproject.org/wiki/User:Sumantrom/Draft/Testcase_java_install java install]
| |
| ! [http://fedoraproject.org/wiki/User:Sumantrom/Draft/Testcase_java-devel_install java-devel install]
| |
| ! [http://fedoraproject.org/wiki/User:Sumantrom/Draft/Testcase_java-openjdk_install java-openjdk install]
| |
| ! [http://fedoraproject.org/wiki/User:Sumantrom/Draft/Testcase_java-11-openjdk_install java-11-openjdk install]
| |
| ! [http://fedoraproject.org/wiki/User:Sumantrom/Draft/Testcase_java-1.8.0-openjdk_install java-1.8.0-openjdk install]
| |
| ! [http://fedoraproject.org/wiki/User:Sumantrom/Draft/Testcase_java-9-openjdk_install java-9-openjdk install]
| |
| ! [http://fedoraproject.org/wiki/User:Sumantrom/Draft/Testcase_icedtea-web_install icedtea-web install]
| |
| ! References
| |
| |-
| |
| | [[User:andrlos|andrlos]]
| |
| | f29-x64
| |
| | {{result|pass}}
| |
| | {{result|pass}}
| |
| | {{result|pass}}
| |
| | {{result|pass}}
| |
| | {{result|pass}}<ref>{{bz|1633332}} java 1.8.0 configs missing in /etc/java</ref>{{result|pass}}
| |
| | {{result|pass}}
| |
| | {{result|pass}}
| |
| | <references/>
| |
| |-
| |
| | [[User:nabooengineer|nabooengineer]]
| |
| | Fedora-Workstation-Live-x86_64-29_Beta-1.5 + Updates
| |
| | {{result|pass}}
| |
| | {{result|warn}}<ref>I rolled back the initial VM snapshot each time to do a fresh install vs. installing each additive. Then installed all of them to test the alternatives switching.</ref>{{result|pass}}
| |
| | {{result|pass}}
| |
| | {{result|pass}}
| |
| | {{result|pass}}
| |
| | {{result|fail}}<ref>sudo dnf install java-9-openjdk
| |
| Last metadata expiration check: 0:04:00 ago on Tue 25 Sep 2018 11:43:45 PM EDT.
| |
| No match for argument: java-9-openjdk
| |
| Error: Unable to find a match
| |
| </ref>
| |
| | {{result|pass}}
| |
| | <references/>
| |
| |-
| |
| | [[User:spathare|spathare]]
| |
| | Fedora 29 Workstation x86_64
| |
| | {{result|pass}}
| |
| | {{result|pass}}
| |
| | {{result|pass}}
| |
| | {{result|pass}}
| |
| | {{result|pass}}
| |
| | {{result|pass}}
| |
| | {{result|pass}}
| |
| | <references/>
| |
| |-
| |
| | [[User:stooke|stooke]]
| |
| |
| |
| | {{result|pass}}<ref>I found the different separators between the package names and java versions slightly confusing, and for a second thought it was downgrading. This was totally my carelessness, but I thought I'd admit to it.
| |
|
| |
| $ java --version
| |
| openjdk 11-ea 2018-09-25
| |
| OpenJDK Runtime Environment (build 11-ea+22)
| |
| OpenJDK 64-Bit Server VM (build 11-ea+22, mixed mode, sharing)
| |
|
| |
| RPM install:
| |
|
| |
| Installing:
| |
| java-11-openjdk x86_64 1:11.0.ea.28-2.fc29 updates-testing 193 k
| |
|
| |
| All I saw was the "+22" and "-2" until I looked carefully. </ref>
| |
| | {{result|pass}}<ref>Sorry, I just read the test case again, and this was expected behaviour. As a user, I would find it very confusing - if I dnf install java , then I would expect the java-devel package to be the same version.</ref>{{result|fail}}<ref>sudo dnf install java-devel offered to (and I let it) install
| |
| (1/3): java-1.8.0-openjdk-1.8.0.181.b15-0.fc29.x86_64.rpm 103 kB/s | 234 kB 00:02
| |
| (2/3): java-1.8.0-openjdk-devel-1.8.0.181.b15-0.fc29.x86_64.rpm 651 kB/s | 9.8 MB 00:15
| |
| (3/3): java-1.8.0-openjdk-headless-1.8.0.181.b15-0.fc29.x86_64.rpm 875 kB/s | 32 MB 00:37
| |
|
| |
| I would expect JDK 11 !</ref>
| |
| | {{result|pass}}
| |
| | {{result|warn}}<ref>JDK 11 was installed by default on my version of f29, so I got "already installed"</ref>
| |
| |
| |
| |
| |
| |
| |
| | <references/>
| |
| |-
| |
| | [[User:stooke|stooke]]
| |
| | Fedora-Workstation-Live-x86_64-29_Beta-1.5 + Updates
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | {{result|pass}}<ref>(already installed)</ref>
| |
| | {{result|pass}}<ref>"Error: Unable to find a match"</ref>
| |
| | {{result|pass}}
| |
| | <references/>
| |
|
| |
| |-
| |
| |}
| |
|
| |
| === Multiple installs ===
| |
| {|
| |
| ! User
| |
| ! Profile
| |
| ! [http://fedoraproject.org/wiki/Test_Day:2018-09-26:java_8,_10_and_11_testday#Install_Only_JDK multiple java-11-devel installs]
| |
| ! [http://fedoraproject.org/wiki/Test_Day:2018-09-26:java_8,_10_and_11_testday#Install_Only_JDK multiple java-devel installs]
| |
| ! [http://fedoraproject.org/wiki/Test_Day:2018-09-26:java_8,_10_and_11_testday#Install_Only_JDK multiple java-1.8.0-devel]
| |
| ! [http://fedoraproject.org/wiki/Test_Day:2018-09-26:java_8,_10_and_11_testday#Install_Only_JDK multiple java-11-devel and java-10-devel installs]
| |
| ! [http://fedoraproject.org/wiki/Test_Day:2018-09-26:java_8,_10_and_11_testday#Install_Only_JDK multiple java-11-devel and java-1.8.0-devel installs]
| |
| ! [http://fedoraproject.org/wiki/Test_Day:2018-09-26:java_8,_10_and_11_testday#Install_Only_JDK multiple java-10-devel and java-10-devel installs]
| |
| ! [http://fedoraproject.org/wiki/Test_Day:2018-09-26:java_8,_10_and_11_testday#Install_Only_JDK multiple java-11-devel and java-10-devel and java-1.8.0-devel installs]
| |
| ! References
| |
|
| |
| |-
| |
| |}
| |
|
| |
| === switch JRE/JDK ===
| |
| {|
| |
| ! User
| |
| ! Profile
| |
| ! [http://fedoraproject.org/wiki/User:Sumantrom/Draft/Testcase_Switching_JRE/JDK_install swtich JRE/JDK]
| |
| ! References
| |
| |-
| |
| | [[User:nabooengineer|nabooengineer]]
| |
| | Fedora-Workstation-Live-x86_64-29_Beta-1.5 + Updates
| |
| | {{result|pass}}<ref>Awesome, just be aware that some familiarity with alternatives & java helps to do this test. The "How to test" instructions are a little nebulous, as such not as clean as the install "How to test".</ref>
| |
| | <references/>
| |
| |-
| |
| | [[User:spathare|spathare]]
| |
| | Fedora 29 Workstation x86_64
| |
| | {{result|pass}}
| |
| | <references/>
| |
| |-
| |
| | [[User:stooke|stooke]]
| |
| | Fedora-Workstation-Live-x86_64-29_Beta-1.5 + Updates
| |
| | {{result|pass}}<ref>I think it might be confusing if java gets you 1.8, while javac gets you 11 - the mismatch should be flagged with a warning, at 'alternatives' time somehow</ref>
| |
| | <references/>
| |
|
| |
| |-
| |
| |}
| |
|
| |
| === crypto config ===
| |
| {|
| |
| ! User
| |
| ! Profile
| |
| ! [http://fedoraproject.org/wiki/User:Sumantrom/Draft/Testcase_Systemwide_crypto_policy system wide]
| |
| ! References
| |
| |-
| |
| | [[User:nabooengineer|nabooengineer]]
| |
| | Fedora-Workstation-Live-x86_64-29_Beta-1.5 + Updates
| |
| | {{result|pass}}<ref>DEFAULT, LEGACY & FUTURE worked as expected.</ref>
| |
| | <references/>
| |
| |-
| |
| | [[User:spathare|spathare]]
| |
| | Fedora 29 Workstation x86_64
| |
| | {{result|pass}}
| |
| | <references/>
| |
| |-
| |
| | [[User:stooke|stooke]]
| |
| | Fedora-Workstation-Live-x86_64-29_Beta-1.5 + Updates
| |
| | {{result|pass}}
| |
| | <references/>
| |
|
| |
| |-
| |
| |}
| |
|
| |
| === Shenandoah ===
| |
| {|
| |
| ! User
| |
| ! Profile
| |
| ! [http://fedoraproject.org/wiki/User:Sumantrom/Draft/Testcase_Shenandoah GC testing]
| |
| ! References
| |
| |-
| |
| | [[User:nabooengineer|nabooengineer]]
| |
| | Fedora-Workstation-Live-x86_64-29_Beta-1.5 + Updates
| |
| | {{result|pass}}<ref>Decreasing the VCPU count from 4 to 1 allows me to see the better performance of ShenandoahGC over default GC</ref>{{result|warn}}<ref>Shenandoah GC appears to be functionally working as expected. GC does seem smoother/quicker. However I don't really see a pause time impact, really need to do a performance comparison benchmark and on bare metal vs on a VM F29 install. Will require some time to setup a real test, unless we have a specific test case comparison. Do we have a specific comparison?</ref>
| |
| | <references/>
| |
|
| |
| |-
| |
| |}
| |
|
| |
| === rpm/dnf ops ===
| |
| {|
| |
| ! User
| |
| ! Profile
| |
| ! [http://fedoraproject.org/w/index.php?title=QA:Java_rpm_Testcase&redirect=yes java]
| |
| ! [http://fedoraproject.org/w/index.php?title=QA:Java-devel_rpm_Testcase&redirect=yes java-devel]
| |
| ! [http://fedoraproject.org/w/index.php?title=QA:Java-openjdk_rpm_Testcase&redirect=yes java-openjdk]
| |
| ! [http://fedoraproject.org/w/index.php?title=QA:Java-11-openjdk_rpm_Testcase&redirect=yes java-11-openjdk]
| |
| ! [http://fedoraproject.org/w/index.php?title=QA:Java-1.8.0-openjdk_rpm_Testcase&redirect=yes java-1.8.0-openjdk]
| |
| ! [http://fedoraproject.org/w/index.php?title=QA:Icetea_web_rpm_Testcase&redirect=yes icedtea-web]
| |
| ! References
| |
| |-
| |
| | [[User:nabooengineer|nabooengineer]]
| |
| | Fedora-Workstation-Live-x86_64-29_Beta-1.5 + Updates
| |
| | {{result|pass}}
| |
| | {{result|pass}}
| |
| | {{result|pass}}
| |
| | {{result|pass}}
| |
| | {{result|pass}}
| |
| | {{result|pass}}
| |
| | <references/>
| |
| |-
| |
| | [[User:stooke|stooke]]
| |
| | Fedora-Workstation-Live-x86_64-29_Beta-1.5 + Updates
| |
| | {{result|fail}}<ref>"sudo dnf remove java" offered to remove all versions of java on my system, yet "sudo dnf remove java-devel" only offered to remove JDK 1.8.0. This is inconsistent.</ref>
| |
| | {{result|pass}}
| |
| | {{result|pass}}
| |
| | {{result|pass}}{{result|pass}}
| |
| |
| |
| | {{result|pass}}
| |
| | <references/>
| |
|
| |
| |-
| |
| |}
| |
|
| |
|
| |
|
| [[Category: Fedora 29 Test Days]] | | [[Category: Fedora 29 Test Days]] |