OpenJDK support plans?
Asked by Steve M:

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?


Answers:
author: Andy Heinzer
body: Bitbucket already has openjdk for their [Bitbucket supported platforms](https://confluence.atlassian.com/bitbucketserver/supported-platforms-776640981.html)

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

* [Jira supported platforms](https://confluence.atlassian.com/adminjiraserver/supported-platforms-938846830.html):
* [Confluence supported platforms](https://confluence.atlassian.com/doc/supported-platforms-207488198.html):

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.

comments: author: IS
body: 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.


author: Steve M
body: [@Andy Heinzer](/t5/user/viewprofilepage/user-id/541137)

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.


author: Andy Heinzer
body: 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](https://confluence.atlassian.com/jiracore/jira-core-release-notes-781386726.html).

I would recommend reviewing our [Atlassian Support Offerings](https://confluence.atlassian.com/support/atlassian-support-offerings-193299636.html) 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.


author: Matt Doar
body: What about thread dumps, doesn't that need the JDK?


author: Andy Heinzer
body: 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


author: Matt Doar
body: 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](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!

<br />

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


author: Steve M
body: [@Andy Heinzer](/t5/user/viewprofilepage/user-id/541137) 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?


author: Andy Heinzer
body: 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.


author: Jason Freeman
body: 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.


author: Jakub Lazinski
body: 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>


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


author: Vick Khera
body: 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.

comments: author: Angel Ruiz
body: On the other hand, there are critical issues when using Confluence with OpenJDK/JRE


author: Vick Khera
body: 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.


author: congo bongo
body: 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.


author: Reneesh Kottakkalathil
body: 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.


author: Angel Ruiz
body: Hi Reneesh,

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

Cheers,


author: Jason Freeman
body: Will Atlassian be bundling OpenJDK with the Jira Service Desk installer?


Tags: bitbucket

bitbucket-server

confluence-server

jira-service-desk

jira-software

jira-software-server

server