2022-06-17T15:00:00Z
2022.06.17 - Java 11, Java 17
Attending:
- Mark Waite
- Basil Crow
Recording:
Agenda:
- Open action items
- Plugin installation manager docs - PR-4373 (closed)
- Docs team agrees with Tim that a simple use case will be described on www.jenkins.io and detailed documentation will be kept in the GitHub repository of the tool
- No change since last meeting, no change expected soon
- Docs team agrees with Tim that a simple use case will be described on www.jenkins.io and detailed documentation will be kept in the GitHub repository of the tool
- Plugin installation manager docs - PR-4373 (closed)
-
Require Java 11 or newer for Jenkins core
- Timeline
- June 28, 2022 - first weekly release to require Java 11, no Java 8
- Basil hopes for a blog post very soon, working on it
- See docs office hours notes and Jira
- Sep 2022 - first LTS release to require Java 11
- June 28, 2022 - first weekly release to require Java 11, no Java 8
- Timeline
- Java 17 support in Jenkins
- Blog post will announce general availability of Java 17 support
- Few people using Java 17 due to preview mode (special flag)
- Removing the flag from the LTS release 2.346.1
- Encourage more use of Java 17 for those who are interested
- Java 17 feels like a better release than Java 11
- Several bugs fixed in Java 17 that needed backport to Java 11
- Would choose Java 17 rather than Java 11 with new release
- Encourage wider testing and exploration with Java 17
- Plugin Compat Tester passes on top 100 plugins
- Risk that a favorite plugin doesn’t support Java 17
- Common issues with plugins using XStream to serialize concurrent Java types (like ConcurrentHashMap)
- Usually indicates a bug or design flaw in code
- Serializing a concurrent type to XML is atypical
- Writing the concurrent data structure to disk is not usually what you want
- Converted field from concurrent to regular data structure then manage the locking elsewhere
- Rare issues in rather obscure cases
- Not expecting many Java 17 problems, but likely will be some
- Plugin maintainers should run their tests with Java 17
- Checks Java 17 compilation and runtime
- Known bug in groovy jelly views that can affect certain types
- Interesting programming language bug, but only one known manifestation of the bug (already worked around)
- If it becomes a more common issue, then resolve the root issue
- Blog post will announce general availability of Java 17 support