Update group_vars files in folio-ansible to remove Java memory settings

Description

Java memory settings are now controlled by the LaunchDescriptor – or will be, once the blockers for this issue are resolved.

(This ticket addresses removing Xmx for snapshot and testing. See FOLIO-2310 for "release" and "next-release".)

Environment

None

Potential Workaround

None

Attachments

4

Checklist

hide

TestRail: Results

Activity

Show:

David Crossley October 16, 2019 at 10:32 PM

Closed this ticket as done. However, there is still for the group_vars of "release" and "next-release".

David Crossley October 15, 2019 at 4:55 AM

The -Xmx settings are now removed from snapshot and testing.

David Crossley October 14, 2019 at 8:45 AM

I have done some testing over the last few days.

With a branch of folio-ansible, did the Jenkins fresh build of folio-snapshot-test, then did ssh to the instance and gathered statistics about the memory usage by each docker container.

  • A) Attachment summary-201910110824.txt – After one run of statistics gathering.

  • B) Attachment summary-201910132248.txt – After doing some data loading of MARC records, some inventory search/display, a number of runs of statistics gathering thoughout the day.

Then removed the -Xmx settings in folio-ansible group_vars for "snapshot" and "snapshot-core" only. (The mod-agreements and mod-invoice have different options, so not touching those.)

Did the Jenkins fresh build of folio-snapshot-test, then activity and statistics gathering.

  • C) Attachment summary-201910140109.txt – After four runs statistics gathering. After mod-agreements has finished loading.

  • D) Attachment summary-201910140252.txt – After doing some data loading of MARC records, some inventory search/display, some Checkouts, a number of runs of statistics gathering thoughout the day.

Some notes about the statistics summaries:

The first part is just showing entries from the individual stats files for a couple of modules.

The second part shows a crude chart of the change in memory usage. Two characters for each stats run. So "__" means no change. The positive numbers show an increase on a scale of 1 to 5, where +5 is 10% (or more) increase, and +1 is 0.5 percent increase. Negative numbers are a reduction in memory usage.

It seems that the memory usage is as expected after removing the -Xmx settings.

Wayne Schneider September 19, 2019 at 6:53 PM

– We will certainly need to test it, but as I understand it, the UseCGroupMemoryLimitForHeap option simply tells Java to see the container limit as the total available memory. Java then operates as usual on a physical system, regulating its heap size to remain within the total memory limit (presumably setting max heap to less than the total size). I did some cursory testing with mod-notes, and that did seem to be the case.

Ian Hardy September 19, 2019 at 6:42 PM

Question on this one, apologies if I'm reading this wrong. In this transition phase the container memory limit is set to 1.33 * the value of the max heap size in folio-ansible like this:

When the this is removed from folio ansible, the ld has:

Wouldn't we lose that 1/3 bit of headroom for the OS etc, and get OOM killed again if the main java process reaches the max heap size?

Done

Details

Assignee

Reporter

Priority

Story Points

Sprint

Development Team

Core: Platform

TestRail: Cases

Open TestRail: Cases

TestRail: Runs

Open TestRail: Runs
Created September 6, 2019 at 6:00 PM
Updated June 3, 2020 at 4:40 PM
Resolved October 16, 2019 at 10:32 PM
TestRail: Cases
TestRail: Runs