Configure JAVA Memory options while running jira application in a docker container

bhimashankar_poddar
Contributor
July 4, 2024

Hello Everyone,

I have 2 Jira setup and details are below,

Instance #1

  • Atlassian Jira : 9.4.14
  • Hosted in : Ubuntu 22.04
  • Memory : 24GB
  • Storage : 120 GB
  • Xms : 18g
  • Xmx : 20g
  • Third-party plugin apps : 15
  • Status : Running without an issue,

Instance #2

  • Atlassian Jira : 9.4.14
  • Hosted in : Docker container and manager by Kubernetes Pods
  • Docker Image creation : Downloaded '*-x64.bin' of Jira app and used simple docker commands to build it. Dockerfile contains nothing special apart from 'COPY' this executable file from source to tmp directory of working directory defined in dockerfile and then 'RUN' command to extract package and install and then CMD to run the application
  • Kubernetes Node/Project Resource quota : limit.cpu : 8 and limit.memory : 30600 MB
  • Kubernetes Pod Request resource quota : limit.cpu : 0.4 and limit.memory : 13774 MB ( Cannot execeed this size as other Pods are sharing the resource quota in the Node )
  • Third-party plugin apps : 0
  • Status : Running like Instance #1

 

As you can see, there are no plugin apps are installed in Instance #2, so we can call it as empty instance...

The issue is when I try to upload plugins, it throws 'unexpected error, refer logs' but there are no entries in logs...Then I checked browser's 'Developer console', which shows that 'Request Body is too large' as it refers to the app size that I am uploading...

So, I concluded that there maybe some issues with memory configuration in the Instance #2...but unable to determine where to look...

So, I tried increasing with request quota cpu and memory in Kubernetes for Pod running this Jira application but no effect.

The only area I haven't touched is the Java environment heap size at the moment. This is because I don't know how to update default Java heap size in Jira app running in a container as the Jira app uses Java heap configuration defined in 'setenv.sh' file.

So, I posted my question here to get some suggestions or ideas on below,

  • How to update JVM heap size in this case?
  • In order to mount 'setenv.sh' file from running jira application in container to host, in order to configure the JVM heap size in future, how to mount this specific file in Kubernetes?
  • Does increasing the JVM heap size resolve the original issue of not able to upload plugin apps?
  • Are there any options to address the issue?

Your suggestions/opinions are very much appreciated.

Thank you.

1 answer

1 accepted

1 vote
Answer accepted
Yevhen
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
July 5, 2024

Request Body is too large suggests that you need to configure your ingress to allow larger uploads.

bhimashankar_poddar
Contributor
July 9, 2024

Thank you for the reply... I figured it out and configured ingress "proxy-body-size" then everything working fine now. Appreciate your response Yevhen.

Suggest an answer

Log in or Sign up to answer