OpenJDK support plans?

Steve M April 27, 2018

Oracle is changing (or has changed) their Oracle JDK support structure.  We need to buy Oracle JDK licenses (not just the support contract) from Oracle JDK 1.8 onwards.  This is going to make Atlassian product deployment using VMs very costly since Oracle doesn’t recognize VMWare VM technology and we will need to pay for all the physical cores on the ESXi servers.

I would like you to get more information on the following items

  1. Does Atlassian have any plans on supporting Open JDK.  If yes, when do they plan to support it.
  2. If Atlassian is not planning to support Open JDK and only works with Oracle JDK, how does the support model work.  If we buy the Atlassian support for all of the products, does it cover Oracle JDK support also? If not, what are the options?

4 answers

1 accepted

2 votes
Answer accepted
Andy Heinzer
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
April 30, 2018

Bitbucket already has openjdk for their Bitbucket supported platforms

However both Jira and Confluence do not currently support environments that are using openJDK for the java runtime environment yet.

There are existing feature requests for each product in:

https://jira.atlassian.com/browse/CONFSERVER-16431
https://jira.atlassian.com/browse/JRASERVER-41589

I would suggest watching each of these for updates.   Should a future release of either product begin to support that Java runtime environment, I would expect these feature requests to indicate that specific version and then our documentation to be updated to reflect that.

That said, is there a reason you need to be using the Oracle JDK over the Oracle JRE?   Both Jira and Confluence can simply using the Oracle JRE instead of the Oracle JDK package to run.  So if you don't need to the specific features that the JDK is offering, it might not be necessary to use that package to still run Jira/Confluence in a supported environment.

IS April 30, 2018

The Oracle license change appears to affect all versions of Oracle Java SE according to http://www.oracle.com/technetwork/java/eol-135779.html, not just the JDK.  I'm also curious how Oracle Java licensing wiill work with Atlassian products if you won't support OpenJDK for all of your products.

Like tech asset cell likes this
Steve M May 2, 2018

@Andy Heinzer

  1. Does Oracle JRE comes bundled with Atlassian products or do we need to download and install the Oracle JRE separately.
  2. If they do come bundled, how quickly are Oracle JRE version upgrades supported by Atlassian products.  For example, when Oracle JRE 11 is released in Sep/Oct, 2018 how quickly can Atlassian products support the new version?
  3. If it comes bundled, is Atlassian responsible for Oracle JRE support via our DataCenter license?  If we have a Oracle JRE that is out of public updates, who is responsible for Oracle JRE security patches/updates?  

Thanks for your help.

Andy Heinzer
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
May 2, 2018

Yes, Atlassian has been bundling JREs with .bin and .exe installation packages, at least for Jira.  I think the same is true for Confluence as well.    Whereas if you use the zip or tar.gz installation packages, I don't think these actually have a bundled JRE with them.

These JREs don't always get updated with each Jira version.  For example, Jira 7.2.0 and 7.2.1 are most likely bundled with the same JRE version.   I don't have any timetable for when Jira might ship that bundled JRE 11 version, however I would expect that the supported platforms information for Jira would be updated before or about the same time that such support is added.  Jira does not yet support Java 9, much less this JRE 11 you mentioned.   However when a major change to a supported platform is added to the product, these details tend to also be included in the release notes for Jira.

I would recommend reviewing our Atlassian Support Offerings for more background on this third question.  Atlassian does not provide support for Java itself.   This is much in the same way that Atlassian does not provide database administration.  Jira still needs a database to operate (and java), but the implementation and support of that database is something we would expect you or your system administrator to handle.   We do the best we can to support our products that run on top of these other technologies (databases, java runtime environment, operating system, etc).  Obviously Atlassian does not want to put you in the situation of having to run an unsupported or end of life product in order to use our product.

To that end, I have noticed that Atlassian tends to mirror our products end of life with the end of life of these other technologies.  For example, in Jira 6.4, the supported platforms listed both Java 7 and Java 8 for Jira.   However beginning with Jira 7.0, only Java 8 was supported.    I would expect that Atlassian would continue this kind of stepping when it comes to keeping our products in line with the underlying technologies that make them operate.

Matt Doar
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 2, 2018

What about thread dumps, doesn't that need the JDK?

Like Robert Jacobs likes this
Andy Heinzer
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
May 2, 2018

If you're running in Windows, then I suspect you would need to use JDK to generate thread dumps.  The JDK includes the jstack.exe utility that would be needed to create these. At least per https://confluence.atlassian.com/adminjiraserver071/generating-a-thread-dump-802593021.html

However in Linux/Unix environments, you don't actually need the JDK to create a thread dump.  Instead you can just do a  kill -3 <pid> (where the pid is the process id of the java process running Jira/confluence) in order to generate a thread dump directly into the catalina.out

Matt Doar
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 2, 2018

I wondered how the Support Tools do it, so I looked at https://bitbucket.org/atlassianlabs/atlassian-support/src/e17276b2eb315e2335b10ae270b2e8d860d1edcc/support-data.sh?at=master&fileviewer=file-view-default

It calls jstack and there is a line

echo "Error: jstack is not present in your system. Please install Java JDK"

 It would be nice to use kill -3 but it just doesn't feel right somehow!


https://stackoverflow.com/questions/16899565/kill-3-or-jstack-what-is-the-difference

Steve M May 4, 2018

@Andy Heinzer just so I'm clear. 

1. We can use the bundled JRE's with each of the installers (Jira, Confluence, BitBucket) without paying for any additional Oracle support because it is bundled by Atlassian.

2. We don't need to pre-install any Java JRE/JDK on our Rhel7 VMs. 

3. Atlassian will provide version patches (that might include a JRE patch) if there is a vulnerability or defect identified, and that update can be handled by the Datacenter zero downtime maintenance process. 

4. Future Atlassian major/minor releases will come with JRE updates to keep the products on a supported version of Java.

Are all of these statements correct?

Andy Heinzer
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
May 4, 2018

I will try to clarify further:

  1. Yes, you can use the bundled JREs to run Atlassian products.  I should note, that I'm not an Oracle license expert.  So I don't know what fees or licensing is required in order to get support for their product (Java).   But in terms of using Jira, I do not expect that you have to pay Oracle to make Jira work.  The JRE download available on Oracle's site is currently free to download.  But yeah, if you go to Oracle and demand a bug fix, or if you need Java support, it is possible that Oracle could insist that you purchase a support contract in order to obtain these things, perhaps now or in the future.
  2. It is not required in all cases.  However there are some cases where it makes sense to preinstall Java, such as to set the $JAVA_HOME variable to a stable path, have a shared truststore location, or if you use a tar.gz installation package that does not include an Oracle JRE, in these cases it tends to be better to simply install Java before trying to install an Atlassian product that runs on Java.
  3. I should clarify this more.  Historically, Atlassian has updated these bundled packages with our version updates (not just java, but also things like Apache Tomcat, or postgres jdbc database drivers for examples).  However it is not always clear to me, what is Atlassian's obligation to do this.   Obviously we want to help our customers succeed, and if we can help you avoid a vulnerability in a bundled component, we will most likely do that by updating our installation packages when applicable.  But for problems that are not seen as security problems, it is not always clear that Atlassian will update these other components.  There is a lot of testing that has to happen anytime one of these components changes because changes to these other components can negatively effect our end product, and ultimately we want to avoid such problems.  So in general I'd say yes, these things could be updated by an upgrade or a zero downtime upgrade possible in data center.
  4. I believe this is true today and will most likely continue into at least the near future.  But I should explain that this could change, I don't expect it to but anything is possible.

Please understand that it takes time include updates to things like Java into our installation packages.  It's not an immediate thing.

Jason Freeman July 21, 2018

From what I am reading, you guys at Atlassian are going to have to change the way you do things.

Either you need to be prepared to move to a new Java version every 6 months, or you'll need to start using a Long Term Servicing Java version that provides 3 years of support but requires a monthly subscription for each and every installation of Java that your customers have deployed.

Going without Java updates is unacceptable, so that is not an option.

And if Atlassian starts putting the impetus of Java updates on its customers, you're going to lose customers most likely, because that would make some Atlassian too expensive to maintain.

I hope you guys are taking the Oracle Java servicing changes seriously because other businesses are already having to make significant plans, like getting off Java.

Like SCITAS SCITAS-GE likes this
3 votes
Jakub Lazinski
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
August 22, 2018

On this topic, you might be interested in the latest update regarding plans for supporting OpenJDK 11 across all Atlassian Server & Data Center products -> https://community.atlassian.com/t5/Jira-discussions/Java-11-and-OpenJDK-support-for-Atlassian-Server-amp-Data-Center/m-p/872998#M4575

2 votes
Angel Ruiz May 2, 2018

FYI Oracle Java 8 EOL is on January 2019 which is not far off http://www.oracle.com/technetwork/java/eol-135779.html

0 votes
Vick Khera May 2, 2018

Just to add a data point, I have been running Jira and Confluence on OpenJDK for years. Furthermore, I run it on FreeBSD, which hasn't been a supported platform since Jira 4.

The only noticeable issue I have is that issue search links in the body of confluence pages to jira issues twirl and time out, and that only started recently. It used to work until about 1.5 years ago or so (don't recall the versions involved). Curiously, the issue reference links in the confluence page header work just fine.

I would expect it to work since Oracle JDK and Open JDK are built from the same source tree.

Angel Ruiz May 2, 2018

On the other hand, there are critical issues when using Confluence with OpenJDK/JRE

Vick Khera May 2, 2018

I guess I've been lucky, then. The only issue I have with it is listed above.

I'm also running Crowd and Fisheye on OpenJDK on FreeBSD, and have zero issues with either of them.

Like Reneesh Kottakkalathil likes this
congo bongo May 2, 2018

ive been running various jira versions for 4 years on freebsd - not a problem in that, but when i tried combining openJDK with Jira 3 years ago it broke. Tomcat spontanously crashed.. daily.. so i went back to oracleJDK

 

as i read the JDK licensedeal, it means we only have to pay when/if we need additional support extending to the three years support for the to-be oracle-jdk versions. And i figure most jira installations are upgraded at least once every three years.

Reneesh Kottakkalathil
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
November 20, 2018

Hi Vick,

I'm planing to install crowd on RHEL and researching into openJDK 1.8 download site? I know with RHEL we can install using yum.

But I'm looking for OpenJDK 1.8 as tar.gz file so I can download it to my custom directory.

Angel Ruiz November 20, 2018

Hi Reneesh,

Atlassian will provide support for this OpenJDK distribution: https://adoptopenjdk.net/

Cheers,

Jason Freeman November 20, 2018

Will Atlassian be bundling OpenJDK with the Jira Service Desk installer?

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events