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

1170 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
to jenkin...@googlegroups.com
@Oleg I totally agree we need to investigate java 9 support  - for your information, jenkins doesn't boot on java9+jigsaw, see https://github.com/x-stream/xstream/issues/74



nicolas de loof

unread,
Oct 19, 2016, 1:56:20 AM10/19/16
to jenkin...@googlegroups.com
Have just read Java 9 is postponed to 2017/07/27, give us some extra time to look into this

Kanstantsin Shautsou

unread,
Oct 19, 2016, 10:29:41 AM10/19/16
to Jenkins Developers

Baptiste Mathus

unread,
Oct 27, 2016, 9:52:54 AM10/27/16
to Jenkins Developers
Quick heads-up: we should have more data soon about the share of Java 8 & Java 7: https://github.com/jenkins-infra/infra-statistics/pull/21 

In the meantime, any additional review/opinion on that change, and/or the data you think would be interesting to extract from there is welcome.

2016-10-19 16:29 GMT+02:00 Kanstantsin Shautsou <kanstan...@gmail.com>:

--
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.

Baptiste Mathus

unread,
Oct 28, 2016, 9:17:09 AM10/28/16
to Jenkins Developers
Hello Folks,

PR got merged, so now we have some data. I've twiddled with the raw json to make it more human readable, see that google spreadsheet.

TL;DR:
  • On the whole Jenkins instances (i.e. all Jenkins versions included), Java 8 is used for 52% of them, growing.
  • If we look only at Jenkins 2.x, then Java 8 is used for 67% of the instances, growing.  
Jenkins 2.x stats:
Images intégrées 1

Entire stats, taking every single instance in the world (some Jenkins 1.3xx included :-)):

Images intégrées 2



​.

Martina

unread,
Oct 28, 2016, 7:40:30 PM10/28/16
to Jenkins Developers, m...@batmat.net
btw. game-of-life that we all dearly love for demos only runs with jdk7, not jdk 8, at least the master branch does. https://github.com/CloudBees-community/game-of-life
Not sure how/where to report it, so I'm guessing that the right powers-to-be see this one.

- Martina

nicolas de loof

unread,
Oct 29, 2016, 3:21:58 AM10/29/16
to jenkin...@googlegroups.com, m...@batmat.net

Jenkins can require Java 8, but needs to support building arbitrary Java project, even jdk 1.0 ;)


--
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 29, 2016, 3:48:20 AM10/29/16
to jenkin...@googlegroups.com, m...@batmat.net
If you don't use the maven evil job type
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CANMVJzndQmE3qpQ-jt2R%2BnXPFuqoogrq9fyw10b3uES4%3D7t%2BJA%40mail.gmail.com.

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

nicolas de loof

unread,
Oct 29, 2016, 4:11:11 AM10/29/16
to jenkin...@googlegroups.com, m...@batmat.net

... or rely on tool chain, that has been designed to cover this exact issue.
Didn't we had this debate few days ago ?


Arnaud Héritier

unread,
Oct 29, 2016, 4:24:07 AM10/29/16
to jenkin...@googlegroups.com, m...@batmat.net
Are you proposing to write a real/good toolchain integration for Jenkins ? That will allow to generate / configure the config file based on what Jenkins deploys ? Ok with docker it is simpler to create an image with several JDKs and the configuration file hardcoded (in that case the challenge is to choose the docker plugin to use ..)
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CANMVJzmRZ%2BT9B%2BVz46K-v8OgkwtC%2B7AUjnCoNR1DHg9ufrZFbg%40mail.gmail.com.

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

nicolas de loof

unread,
Oct 29, 2016, 6:26:14 AM10/29/16
to jenkin...@googlegroups.com, m...@batmat.net
I indeed think we will have to support the evil maven job type for one more decade, so need to make it flexible enough so migrating jenkins codebase to a newer JDK is not blocked y this beast. As maven do support toolchain, I just would like maven job do fully rely on it without any extra configuration so end user don't have to worry about this terrible runtime dependency.

Arnaud Héritier

unread,
Oct 29, 2016, 6:34:01 AM10/29/16
to jenkin...@googlegroups.com, m...@batmat.net
The problem is that when a user have a large number of maven jobs running on old JDKs, these are often legacy projects where the maintenance cost must be 0. The problem is that using toolchains requires to update you maven project and thus they'll probably won't do it :(
Another solution may to work on a converter to freestyle or pipeline jobs .... Maybe they could prefer to loose some features if they gain in maintainability...



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

Baptiste Mathus

unread,
Oct 29, 2016, 8:11:47 AM10/29/16
to Arnaud Héritier, jenkin...@googlegroups.com

Yes, but aren't we then back to the point, Arnaud: anyway, places/companies where cost must be 0 are not going to upgrade to new Jenkins version anyway?

And when they're forced to upgrade at some point, in the meantime they're likely to have also been forced to upgrade the Jdk from 7 to 8 on those projects? Should we block the OSS project because, say, <30% of users won't upgrade? If so, then why not, but how long? Since that category of users basically only upgrades when forced to anyway?

IMO, we could just define some future arbitrary date to give time to everybody if we agree this is time. For example, announce on the blog and everywhere we can that the first weekly version of 2017 (or some later date) will be on java 8 min. This would give time for users to upgrade, and possibly for the plugin to be improved wrt the multi-jdk support, by OSS maintainers and/or companies who want to help theirs customers with this upgrade.

WDYT?


Arnaud Héritier

unread,
Oct 29, 2016, 8:52:39 AM10/29/16
to Baptiste Mathus, jenkin...@googlegroups.com
From my POV the problem is that we don't know if we are talking about 5% or 50% :(

For sure, with any solution it will be painful for them. The risk being is that a big breakage for them gives the opportunity to move to something else. 

About communication/anticipation it is a mandatory pre-requisite but I would really prefer that we call it jenkins 3.0. To make obvious the breaking change. 

For me changing the java runtime prerequisite in a minor version is a really strange strategy...

Baptiste Mathus

unread,
Oct 29, 2016, 9:27:03 AM10/29/16
to Jenkins Developers
2016-10-29 14:52 GMT+02:00 Arnaud Héritier <aher...@gmail.com>:
From my POV the problem is that we don't know if we are talking about 5% or 50% :(


  • Java 8 as runtime represents 52% of the 133505 instances out there (yes, it's ignoring the opted-out ones)
  • Maven-plugin is installed 118711 times (yes, ignoring on purpose the fact it was auto-installed up to 2.x)
  • So, at most it's 46% of the users base who might be impacted here, if they were to upgrade in the very short term (that is: while also still using an EoLed JDK7 durably).
Now, looking at the trend of the number of installs of that plugin, my guts feeling is that is less than that. And if you add that to the trend of Java 7 JVM users (see link above), then it is most probably going down even quicker.

An example I have in mind is my previous company, pretty sure they didn't upgrade to Jenkins 2.x yet, so they still contribute to that stats, but we migrated off that plugins years ago after so many headaches and hours spent to debug different behaviours between Maven CLI and using it in Jenkins.

Correlating with http://stats.jenkins.io/plugin-installation-trend/jenkins-version-per-plugin-version.json I think we would have even more data, but seems like that data is wrong. 
Gonna find the one who contributed that and hit him (I know him pretty well).

Stephen Connolly

unread,
Oct 29, 2016, 9:37:08 AM10/29/16
to jenkin...@googlegroups.com
I think we should say "the first LTS of 2017 will require Java 8. End of conversation"

That will mean that weekly releases should switch to Java 8 by mid-end November.

2017 it's a new year, it's a new Java version.

We could look to solve some of the evil job type issues by *forking* remoting into the evil plugin and using animal-sniffer to keep plugins "pure"
--
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.


--
Sent from my phone

Arnaud Héritier

unread,
Oct 29, 2016, 10:01:41 AM10/29/16
to jenkin...@googlegroups.com
Let's forget the maven job. Our statistics about its usage are useless as it was installed by default and we may hope that its usage is decreasing...

It remains that upgrading the java version of master is one thing. But you also need to upgrade the java version used by agents which aren't supporting an automated deployment (hello JNLP slaves on windows ...).

My problem is (and was for years when I administrated many instances) the readibilty of the changelog/roadmap to understand when an important change was done. I have no problem to release a java 8 version tomorrow in a Jenkins 3.0 release. But in a 2.38 or 2.51.1 (fictifs versions) will be always really strange for me. A minor release shouldn't enforce you to change your infrastructure deployment (and possibly break many jobs but it's a different story)

That's just my POV. 

Cheers. 


Le samedi 29 octobre 2016, Baptiste Mathus <m...@batmat.net> a écrit :
--
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.

Hickel, Kelly

unread,
Oct 29, 2016, 10:22:12 AM10/29/16
to jenkin...@googlegroups.com

Any chance of getting a the manage nodes screen changed to include the java version for that agent, in advance of forcing Java 8 in the weekly builds?

 

That would at least make it simpler for folks like myself to know the scale of the upcoming impact.

 

Thanks,

Kelly Hickel

 

From: jenkin...@googlegroups.com [mailto:jenkin...@googlegroups.com] On Behalf Of Stephen Connolly
Sent: Saturday, October 29, 2016 8:37 AM
To: jenkin...@googlegroups.com
Subject: Re: [DISCUSS] Time for Jenkins to require Java 8 to run

 

I think we should say "the first LTS of 2017 will require Java 8. End of conversation"

 

That will mean that weekly releases should switch to Java 8 by mid-end November.

 

2017 it's a new year, it's a new Java version.

 

We could look to solve some of the evil job type issues by *forking* remoting into the evil plugin and using animal-sniffer to keep plugins "pure"

On Saturday 29 October 2016, Baptiste Mathus <m...@batmat.net> wrote:

 

2016-10-29 14:52 GMT+02:00 Arnaud Héritier <aher...@gmail.com>:

From my POV the problem is that we don't know if we are talking about 5% or 50% :(

 

 

  • Java 8 as runtime represents 52% of the 133505 instances out there (yes, it's ignoring the opted-out ones)
  • Maven-plugin is installed 118711 times (yes, ignoring on purpose the fact it was auto-installed up to 2.x)
  • So, at most it's 46% of the users base who might be impacted here, if they were to upgrade in the very short term (that is: while also still using an EoLed JDK7 durably).

Now, looking at the trend of the number of installs of that plugin, my guts feeling is that is less than that. And if you add that to the trend of Java 7 JVM users (see link above), then it is most probably going down even quicker.

 

An example I have in mind is my previous company, pretty sure they didn't upgrade to Jenkins 2.x yet, so they still contribute to that stats, but we migrated off that plugins years ago after so many headaches and hours spent to debug different behaviours between Maven CLI and using it in Jenkins.

 

Correlating with http://stats.jenkins.io/plugin-installation-trend/jenkins-version-per-plugin-version.json I think we would have even more data, but seems like that data is wrong. 

Gonna find the one who contributed that and hit him (I know him pretty well).

--
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-de...@googlegroups.com.



--
Sent from my phone

--

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-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CA%2BnPnMyrp%2BYTyij2w8dqnHpaE%2B77MS10AWfv3pyBpYeE5Egotg%40mail.gmail.com.

Arnaud Héritier

unread,
Oct 29, 2016, 3:58:53 PM10/29/16
to jenkin...@googlegroups.com
There is an additional plugin which displays the version of the agent used (which is critical to manage too)
I would have loved to have this in info by default and I agree that the java version could make sense too

To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-dev+unsubscribe@googlegroups.com.



--
Sent from my phone

--
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.

--
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/97e7456e1c854a828b7a2a2d1a94d79a%40hou-exmbprd-01.adprod.bmc.com.

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



--

Martina

unread,
Oct 29, 2016, 4:00:58 PM10/29/16
to Jenkins Developers, m...@batmat.net
My concern was that at some point jdk 7 will not be welcome in certain corporate environments. While consultants can do what they please on their boxes, folks having to comply with corporate rules won't be able to use game-of-life for training, demo, learning etc.
It would be a good deed to get it fixed.

-Martina


On Saturday, October 29, 2016 at 1:21:58 AM UTC-6, nicolas de loof wrote:

Jenkins can require Java 8, but needs to support building arbitrary Java project, even jdk 1.0 ;)

Le 29 oct. 2016 1:40 AM, "Martina" <martina...@gmail.com> a écrit :
btw. game-of-life that we all dearly love for demos only runs with jdk7, not jdk 8, at least the master branch does. https://github.com/CloudBees-community/game-of-life
Not sure how/where to report it, so I'm guessing that the right powers-to-be see this one.

- Martina

--
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-de...@googlegroups.com.

Baptiste Mathus

unread,
Oct 29, 2016, 4:14:31 PM10/29/16
to Jenkins Developers

Hey,
Please file an issue in the repo, or a PR. I was able to build the repo without an issue with Java 8, so this will need clarification...

Thanks