-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Low
-
None
-
Affects Version/s: 7.13.7, 7.19.9
-
Component/s: Documentation - All
-
None
-
3
-
Severity 3 - Minor
Issue Summary
Helm Charts by default set the Synchrony pod's inital CPU request to 2.
# Confluence Synchrony configuration # https://confluence.atlassian.com/doc/configuring-synchrony-858772125.html synchrony: [...] # Synchrony Pod resource requests # resources: [...] # Specifies the standard K8s resource requests and/or limits for the Synchrony # container. It is important that if the memory resources are specified here, # they must allow for the size of the Synchrony JVM. That means the maximum heap # size, the reserved code cache size, plus other JVM overheads, must be # accommodated. Allowing for (maxHeap+codeCache)*1.5 would be an example. # container: requests: # -- Initial CPU request by Synchrony pod # cpu: "2" [...]
If you set this to 500 milliCPU like below:
container: requests: # -- Initial CPU request by Synchrony pod # cpu: "500m"
The pod get immediately killed. This is because the Helm Chart creates an entrypoint with the JVM parameter "-XX:ActiveProcessorCount" where the value is the CPU requests given to the pod. The notation with "m" from the Kubernetes environment does not work for Java parameter.
This is reproducible on Data Center: yes
Steps to Reproduce
- Edit the values.yaml to set the Synchrony pod's initial CPU request to 500milliCPU
container: requests: # -- Initial CPU request by Synchrony pod # cpu: "500m"
- Deploy our Helm Charts for Confluence and Synchrony in OpenShift
Expected Results
Synchrony (pod) starts and is available.
Actual Results
Synchrony pod get immediately killed and get the below error:
/scripts/start-synchrony.sh: line 11: 7 Killed java -Xms1g -Xmx2g -XX:G1ConcRefinementThreads=1 -Xss2048k -XX:ActiveProcessorCount=500m -classpath /opt/atlassian/confluence/confluence/WEB-INF/packages/synchrony-standalone.jar:/opt/atlassian/confluence/confluence/WEB-INF/lib/* synchrony.core sql
Workaround
Please set the CPU value to a integer without using any Kubernetes convention.