[DISCUSS] Time for Jenkins to require Java 8 to run

1243 views
Skip to first unread message

Baptiste Mathus

unread,
Oct 13, 2016, 8:30:11 AM10/13/16
to Jenkins Developers
Hey folks,

As we've been discussing that again on IRC recently, we thought it might be a good time to discuss that subject again. Latest thread about that I could find is already 18+ months old.

In the meantime, Java 7 has now long been EOLed since mid 2015 (see https://java.com/en/download/faq/java_7.xml for details).

Also, many if not all of us very often advise users to just use Java 8 everytime they can to run Jenkins. We use it to build Jenkins (though generating 7 bytecode).

Not EOLed, removed PermGen, Lambdas, Default Methods, etc., many reasons to update to JDK 8 from the Ops and Dev perspectives. 

IMO, it's time to move on. Jenkins can very easily use another JDK version for builds, so I don't think there're compelling reasons to keep supporting Java 7. 

The common argument that "big" companies won't then be able to use Jenkins anymore just does not hold IMO for at least two reasons: we know some very big shops just using Jenkins with Java 8 without any issue, and the most conservative companies are anyway, as always, probably still running already (very) old versions of Jenkins. They will just catch that train later.

WDYT?

-- Baptiste

Stephen Connolly

unread,
Oct 13, 2016, 9:35:49 AM10/13/16
to jenkin...@googlegroups.com
On 13 October 2016 at 13:29, Baptiste Mathus <m...@batmat.net> wrote:
Hey folks,

As we've been discussing that again on IRC recently, we thought it might be a good time to discuss that subject again. Latest thread about that I could find is already 18+ months old.

In the meantime, Java 7 has now long been EOLed since mid 2015 (see https://java.com/en/download/faq/java_7.xml for details).

Technically, at least on RHEL, OpenJDK 7 still has some legs


But then given that RHEL supports OpenJDK 6 until the end of this year and we have dropped support for Java 6 as of 1.610-ish (technically may be 1.612 that actually dropped support, and 1.609 was announced to not have support for Java 6, even though it did)... do we really care about that data point?

(IBM JDK is another story... there Java 6 is until 30-Sep-2018 and Java 7 is until 30-Sep-2019... but Jenkins does not really claim to support running in the IBM JDKs, so I am happy ignoring those for now)
 

Also, many if not all of us very often advise users to just use Java 8 everytime they can to run Jenkins. We use it to build Jenkins (though generating 7 bytecode).

Not EOLed, removed PermGen, Lambdas, Default Methods, etc., many reasons to update to JDK 8 from the Ops and Dev perspectives. 

IMO, it's time to move on. Jenkins can very easily use another JDK version for builds, so I don't think there're compelling reasons to keep supporting Java 7. 

The common argument that "big" companies won't then be able to use Jenkins anymore just does not hold IMO for at least two reasons: we know some very big shops just using Jenkins with Java 8 without any issue, and the most conservative companies are anyway, as always, probably still running already (very) old versions of Jenkins. They will just catch that train later.

WDYT?

I'm +1... but having had this battle over at Apache Maven several times now, I am well versed in the objections people come up with! ;-)

-Stephen
 

-- Baptiste

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CANWgJS6%3D23HQ%3DmhRxxvzkWPba%2BpanO_fUGR90Y58Fvvax1aciA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Daniel Beck

unread,
Oct 13, 2016, 10:09:03 AM10/13/16
to jenkin...@googlegroups.com

> On 13.10.2016, at 15:35, Stephen Connolly <stephen.al...@gmail.com> wrote:
>
> Technically, at least on RHEL, OpenJDK 7 still has some legs
>
> https://access.redhat.com/articles/1299013
>
> But then given that RHEL supports OpenJDK 6 until the end of this year and we have dropped support for Java 6 as of 1.610-ish (technically may be 1.612 that actually dropped support, and 1.609 was announced to not have support for Java 6, even though it did)... do we really care about that data point?

RHEL 5 will leave regular support in March: https://en.wikipedia.org/wiki/Red_Hat_Enterprise_Linux#Product_life_cycle

RHEL 6 + 7 support Java 8. I don't see this particular distro as a problem. In general, availability of a supported (old) JRE doesn't mean we should't require something newer. Absence of a support (new) JRE would be the problem.

Martin Kutter

unread,
Oct 13, 2016, 10:59:08 AM10/13/16
to jenkin...@googlegroups.com
Hi,

According to http://www.oracle.com/technetwork/java/javase/
certconfig-2095354.html, Java 8 is supported for RHEL 5.5+

It is also available on IBM AIX and zOS, and on HP UX, where alternative JDKs
do not exist:

http://www.ibm.com/support/knowledgecenter/SSYKE2_8.0.0/welcome/
welcome_javasdk_version.html

https://h20392.www2.hpe.com/portal/swdepot/displayProductInfo.do?
productNumber=HPUXJDKJRE80


Martin


Nigel Magnay

unread,
Oct 13, 2016, 11:09:54 AM10/13/16
to jenkin...@googlegroups.com
Update already.

Those in bizarre AIX, zOS and HPUX universes can continue to use older Jenkins versions. 

Robert Sandell

unread,
Oct 13, 2016, 11:26:40 AM10/13/16
to jenkin...@googlegroups.com
I'm for it,
But didn't we discuss a new "deprecation policy" in the beginning of the Jenkins 2 planning, or did I dream that?
I'm mostly thinking of the rollout of this, many installations seems to have just dared to start thinking about upgrading to Jenkins 2, perhaps we shouldn't throw a Java upgrade in their face after just two LTS releases? Or maybe two is enough?

/B


For more options, visit https://groups.google.com/d/optout.



--
Robert Sandell
Software Engineer
CloudBees Inc.

Baptiste Mathus

unread,
Oct 13, 2016, 11:30:49 AM10/13/16
to Jenkins Developers
Well, this thread is mostly IMO to see the trend/opinions to do it. 

We have not defined a timeline: we could probably for example issue a notice on the website that we'll do it on the first version of 2017, and then the next associated LTS after that date?

That would still give a few more time to people who are still running Jenkins on Java 7 to upgrade. And one or two more LTS with Java 7 (didn't check what the dates would give) in the meantime.

R. Tyler Croy

unread,
Oct 13, 2016, 11:53:33 AM10/13/16
to jenkin...@googlegroups.com
(replies inline)

On Thu, 13 Oct 2016, Robert Sandell wrote:

> I'm for it,
> But didn't we discuss a new "deprecation policy" in the beginning of the
> Jenkins 2 planning, or did I dream that?
> I'm mostly thinking of the rollout of this, many installations seems to
> have just dared to start thinking about upgrading to Jenkins 2, perhaps we
> shouldn't throw a Java upgrade in their face after just two LTS releases?
> Or maybe two is enough?


As far as the data is concerned, this is actually not true. With LTS moving to
a 2.x baseline, our most popular releases are now the 2.7.x LTSes, second place
is of course 1.651.x versions
(http://stats.jenkins.io/jenkins-stats/svg/201609-jenkins.svg).

It looks like slight majority of installations upgrade to the latest LTS within
3-5 months of its release, with the slight minority installing Jenkins and
likely never upgrading.


There's numbers in our usage data about which JREs are being used which needs
to get incorporated into stats.jenkins.io to help inform this discussion.



Cheers
- R. Tyler Croy

------------------------------------------------------
Code: <https://github.com/rtyler>
Chatter: <https://twitter.com/agentdero>

% gpg --keyserver keys.gnupg.net --recv-key 1426C7DC3F51E16F
------------------------------------------------------
signature.asc

Daniel Beck

unread,
Oct 13, 2016, 11:58:27 AM10/13/16
to jenkin...@googlegroups.com

> On 13.10.2016, at 17:53, R. Tyler Croy <ty...@monkeypox.org> wrote:
>
> There's numbers in our usage data about which JREs are being used which needs
> to get incorporated into stats.jenkins.io to help inform this discussion.

Re-run what you did for https://jenkins.io/blog/2015/11/03/what-jvm-versions-are-running-jenkins/ for the last ~3 months as a starting point?

Manfred Moser

unread,
Oct 13, 2016, 12:13:52 PM10/13/16
to Jenkins Developers
We recently did an upgrade to the latest 1.651.3 (latest 1.6 version) and had performance issues. When we switched to run it on Java 8 instead of Java 7 they all went away. We also had some plugin related problems.

I am mentioning this because this shows that all developers are using 1.8 and most testing is done 1.8 most likely as well. So from that background any users should be running Jenkins 1.8 already. We might as well make it official and drop 1.7 support. So

+1 

Manfred

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-dev+unsubscribe@googlegroups.com.

Jesse Glick

unread,
Oct 13, 2016, 2:12:49 PM10/13/16
to Jenkins Dev
On Thu, Oct 13, 2016 at 12:13 PM, Manfred Moser <mos...@gmail.com> wrote:
> all developers are using 1.8
> and most testing is done 1.8 most likely as well. So from that background
> any users should be running Jenkins 1.8 already. We might as well make it
> official and drop 1.7 support.

Agreed. +1

Arnaud Héritier

unread,
Oct 13, 2016, 2:36:18 PM10/13/16
to jenkin...@googlegroups.com
Bye bye maven <evil> jobs that require java < 8 !!!
I just don't like to have such change in a minor release. 
Otherwise +1
--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-dev+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.


--
-----
Arnaud Héritier
Mail/GTalk: aheritier AT gmail DOT com
Twitter/Skype : aheritier

Daniel Beck

unread,
Oct 13, 2016, 4:03:00 PM10/13/16
to jenkin...@googlegroups.com

> On 13.10.2016, at 20:36, Arnaud Héritier <aher...@gmail.com> wrote:
>
> I just don't like to have such change in a minor release.

We already did it in 1.612.

The evil job type is a good point. Could Stephen or someone else who knows what they're talking about document how to circumvent this limitation with toolchains or something?

Stephen Connolly

unread,
Oct 13, 2016, 4:08:28 PM10/13/16
to jenkin...@googlegroups.com
Just dont use the evil one

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-dev+unsubscribe@googlegroups.com.

Arnaud Héritier

unread,
Oct 13, 2016, 4:19:36 PM10/13/16
to jenkin...@googlegroups.com
On Thu, Oct 13, 2016 at 10:02 PM, Daniel Beck <m...@beckweb.net> wrote:

> On 13.10.2016, at 20:36, Arnaud Héritier <aher...@gmail.com> wrote:
>
> I just don't like to have such change in a minor release.

We already did it in 1.612.

Yes and in 1.520 for Java 6. I tried to explain/document it on the plugin page : https://wiki.jenkins-ci.org/display/JENKINS/Maven+Project+Plugin
 

The evil job type is a good point. Could Stephen or someone else who knows what they're talking about document how to circumvent this limitation with toolchains or something?


I wrote it. I wanted to push it on OSS side but I don't know where :( The problem is that there is no obvious place to do this.
On the wiki page of the plugin ?

 

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-dev+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Arnaud Héritier

unread,
Oct 13, 2016, 4:22:01 PM10/13/16
to jenkin...@googlegroups.com
On Thu, Oct 13, 2016 at 10:08 PM, Stephen Connolly <stephen.al...@gmail.com> wrote:
Just dont use the evil one

As soon as we'll provide a triggering mechanism like the evil job provides for SNAPSHOTs dependencies across projects it will be easy

 

For more options, visit https://groups.google.com/d/optout.

Baptiste Mathus

unread,
Oct 13, 2016, 4:22:40 PM10/13/16
to Jenkins Developers
2016-10-13 22:19 GMT+02:00 Arnaud Héritier <aher...@gmail.com>:


On Thu, Oct 13, 2016 at 10:02 PM, Daniel Beck <m...@beckweb.net> wrote:

> On 13.10.2016, at 20:36, Arnaud Héritier <aher...@gmail.com> wrote:
>
> I just don't like to have such change in a minor release.

We already did it in 1.612.

Yes and in 1.520 for Java 6. I tried to explain/document it on the plugin page : https://wiki.jenkins-ci.org/display/JENKINS/Maven+Project+Plugin
 

The evil job type is a good point. Could Stephen or someone else who knows what they're talking about document how to circumvent this limitation with toolchains or something?


I wrote it. I wanted to push it on OSS side but I don't know where :( The problem is that there is no obvious place to do this.
On the wiki page of the plugin ?


Yes, I think this is probably the most sensible place. 

Daniel Beck

unread,
Oct 13, 2016, 5:23:04 PM10/13/16
to jenkin...@googlegroups.com

> On 13.10.2016, at 22:22, Baptiste Mathus <m...@batmat.net> wrote:
>
>> On the wiki page of the plugin ?
>
>
> Yes, I think this is probably the most sensible place.

I agree. Can always be moved elsewhere if needed, but as it's plugin specific (and not even part of the default configuration of Jenkins anymore…), plugin wiki page makes sense.

nicolas de loof

unread,
Oct 14, 2016, 3:11:00 AM10/14/16
to jenkin...@googlegroups.com
My +1 for Java 8 (as I have been advocating for this for 2.0 already)

About system that don't have Java 8 in official repo (RHEL5, Debian Wheezy, Ubuntu 14.04 LTS). Oracle do provide official JDK builds as DEB/RPM, so I can't see this as a blocker. For sure there's IT department, one need to convince to install a runtime that isn't part of official system repository... but that's just organisational issue we can't fix.

About maven job type, I wonder we could add better support for toolchain so jenkins can aytomagically select/install adequate JDK on slave, create toolchain.xml, and maybe even inject maven-toolchains-plugin in the lifecycle (is this possible ?). Maybe too much black magic ? Any improvement here would help getting a smooth transition.

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-dev+unsubscribe@googlegroups.com.

Daniel Beck

unread,
Oct 14, 2016, 4:11:27 AM10/14/16
to Jenkins Developers

> On 14.10.2016, at 09:10, nicolas de loof <nicolas...@gmail.com> wrote:
>
> About system that don't have Java 8 in official repo (RHEL5, Debian Wheezy, Ubuntu 14.04 LTS).

Are you saying that RHEL 6 + 7, Debian Jessie, and Ubuntu 16.04 all _do_ have JRE 8 in their repos?

What about the other distros that have Jenkins packages? openSUSE, Gentoo, and the BSDs?

Any problems we anticipate for bundling JRE 8 with the Windows installer? (FWIW this could be done early, no need to wait for the runtime requirement…)

Sverre Moe

unread,
Oct 14, 2016, 4:56:09 AM10/14/16
to Jenkins Developers, m...@beckweb.net
Its a good move

SUSE distributions which has OpenJDK 8:
SLES 12 SP1
OpenSUSE 13.2
OpenSUSE Leap 42.1

Kanstantsin Shautsou

unread,
Oct 14, 2016, 7:20:31 AM10/14/16
to Jenkins Developers, m...@batmat.net
Jenkins still has guice-beta that randomly fails under java8.

nicolas de loof

unread,
Oct 14, 2016, 8:10:22 AM10/14/16
to jenkin...@googlegroups.com
Yes indeed, 
"OpenJDK 8 is included with RHEL 6.6 (and higher) and RHEL 7.1 (and higher), and it is fully supported." https://access.redhat.com/solutions/795263
java-package is available on jessie contrib, but java 8 is only available on wheezy in backports repo
Ubuntu : OpenJDK 8 is still not available in an official backport for 14.04. It is, however, available in 14.10 and forwards.
OpenSuse : can't tell, http://software.opensuse.org/package/java-1_8_0-openjdk is down for maintenance
Gentoo : not a distro I know well, but AFAIC there's no such thing as a LTS, so just use oracle-jdk-bin package
FreeBSD : not sure how those handle packages vs system releases. http://www.freshports.org/java/openjdk8 doesn't give info on system version it applies to
OpenBSD : ?

+1 for using Java 8 for windows installer package

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-dev+unsubscribe@googlegroups.com.

nicolas de loof

unread,
Oct 14, 2016, 8:11:35 AM10/14/16
to jenkin...@googlegroups.com, m...@batmat.net
is there a jira issue to track this ?
I've been running jenkins on Java 8 without issue so far, so wonder about this runtime issue.

2016-10-14 13:20 GMT+02:00 Kanstantsin Shautsou <kanstan...@gmail.com>:
Jenkins still has guice-beta that randomly fails under java8.

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-dev+unsubscribe@googlegroups.com.

Björn Pedersen

unread,
Oct 14, 2016, 8:21:38 AM10/14/16
to Jenkins Developers

FreeBSD : not sure how those handle packages vs system releases. http://www.freshports.org/java/openjdk8 doesn't give info on system version it applies to
It's available at least in FreeBSD9.1  (which is already quite old)
 

Samuel Van Oort

unread,
Oct 14, 2016, 10:41:20 AM10/14/16
to Jenkins Developers
I will jump for joy when everything is on Java 8.  Functional features or death!  Being able to consume the powerful libraries that are now Java 8-only (replacing Guava caches with Caffeine, for example, for a ~3x speed boost on all caching). 

Also @daniel-beck, this is another argument behind getting the current JVM stats (which I wanted for assessing default GC settings)

Jesse Glick

unread,
Oct 14, 2016, 4:49:20 PM10/14/16
to Jenkins Dev
On Fri, Oct 14, 2016 at 3:10 AM, nicolas de loof
<nicolas...@gmail.com> wrote:
> About maven job type, I wonder we could add better support for toolchain so
> jenkins can aytomagically select/install adequate JDK on slave, create
> toolchain.xml, and maybe even inject maven-toolchains-plugin in the
> lifecycle (is this possible ?). Maybe too much black magic ?

It already sets mojo properties to use the selected JDK.

Kanstantsin Shautsou

unread,
Oct 15, 2016, 11:37:57 AM10/15/16
to Jenkins Developers
I have no stacktrace and test case as we replaced guice to released version in our custom build. Will do of course when get again, but PR in core is blocked only by maven-plugin release.

Arnaud Héritier

unread,
Oct 15, 2016, 1:11:50 PM10/15/16
to jenkin...@googlegroups.com
I was supposed to work on it yesterday but I had a problem at home and I had to stop to work early. There are 2 PRs I would like to finalize before the release. I hope to do it tomorrow evening or at the later on Monday. I don't know if Olivier had some others todo ?


Le samedi 15 octobre 2016, Kanstantsin Shautsou <kanstan...@gmail.com> a écrit :
I have no stacktrace and test case as we replaced guice to released version in our custom build. Will do of course when get again, but PR in core is blocked only by maven-plugin release.

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/d71732a5-c118-446d-a1d1-01438ce3e3bd%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Arnaud Héritier

unread,
Oct 15, 2016, 1:21:28 PM10/15/16
to jenkin...@googlegroups.com
FYI PR#66 I would like to apply Olivier's comment before applying it and PR#66 daniel's comment. 

Kanstantsin Shautsou

unread,
Oct 15, 2016, 1:57:49 PM10/15/16
to jenkin...@googlegroups.com
ROR

You received this message because you are subscribed to a topic in the Google Groups "Jenkins Developers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jenkinsci-dev/fo5nKLhZK5U/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jenkinsci-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CAFNCU-8XUYxeQ-fardYEBoEy1zPOxWn%2B2HYhPbH4XMYqqxjQ3w%40mail.gmail.com.

Oleg Nenashev

unread,
Oct 18, 2016, 5:42:49 PM10/18/16
to Jenkins Developers
Weak -1 regarding JDK8, but the opinion is not that strong.
I'm pretty sure that now it will be a pretty big problem for low-end platfroms like Embedded Systems with hand-made OpenJDK builds.

We should rather consider investing into Java 9 Early Access IMHO. People will likely start submitting issues soon, and we may have serious issues with upgrade of our old lib forks

BR, Oleg

суббота, 15 октября 2016 г., 19:57:49 UTC+2 пользователь Kanstantsin Shautsou написал:
ROR

To unsubscribe from this group and all its topics, send an email to jenkinsci-de...@googlegroups.com.

nicolas de loof

unread,
Oct 19, 2016, 1:47:36 AM10/19/16