[FOLIO-2358] Use JVM features (UseContainerSupport, MaxRAMPercentage) to manage container memory Created: 19/Nov/19  Updated: 03/Jun/20  Resolved: 11/Dec/19

Status: Closed
Project: FOLIO
Components: None
Affects versions: None
Fix versions: None

Type: New Feature Priority: TBD
Reporter: David Crossley Assignee: David Crossley
Resolution: Done Votes: 0
Labels: platform-backlog
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Issue links:
Blocks
is blocked by FOLIO-2334 Spike: Investigate using JVM features... Closed
is blocked by MODPUBSUB-62 Add new LaunchDescriptor and use new ... Closed
is blocked by MODDATAIMP-222 Use JVM features to manage container ... Closed
is blocked by MODDICONV-84 Use JVM features to manage container ... Closed
is blocked by MODSOURCE-82 Use JVM features to manage container ... Closed
is blocked by MODSOURMAN-234 Use JVM features to manage container ... Closed
is blocked by CIRC-565 Use JVM features to manage container ... Closed
is blocked by CIRCSTORE-173 Use JVM features to manage container ... Closed
is blocked by EDGOAIPMH-34 Use JVM features to manage container ... Closed
is blocked by EDGORDERS-20 Use JVM features to manage container ... Closed
is blocked by EDGPATRON-25 Use JVM features to manage container ... Closed
is blocked by EDGRESOLV-8 Use JVM features to manage container ... Closed
is blocked by EDGRTAC-18 Use JVM features to manage container ... Closed
is blocked by ERM-583 Use JVM features to manage container ... Closed
is blocked by ERM-638 Use JVM features to manage container ... Closed
is blocked by MODAFILT-11 Use JVM features to manage container ... Closed
is blocked by MODAT-57 Use JVM features to manage container ... Closed
is blocked by MODAUD-6 Use JVM features to manage container ... Closed
is blocked by MODCAL-60 Use JVM features to manage container ... Closed
is blocked by MODCAT-145 Use JVM features to manage container ... Closed
is blocked by MODCONF-41 Use JVM features to manage container ... Closed
is blocked by MODCR-7 Use JVM features to manage container ... Closed
is blocked by MODCXEKB-101 Use JVM features to manage container ... Closed
is blocked by MODCXINV-43 Use JVM features to manage container ... Closed
is blocked by MODCXMUX-58 Use JVM features to manage container ... Closed
is blocked by MODEMAIL-30 Use JVM features to manage container ... Closed
is blocked by MODEUS-42 mod-erm-usage Use JVM features to man... Closed
is blocked by MODEVENTC-16 Use JVM features to manage container ... Closed
is blocked by MODFEE-18 Use JVM features to manage container ... Closed
is blocked by MODFIN-95 Use JVM features to manage container ... Closed
is blocked by MODFISTO-66 Use JVM features to manage container ... Closed
is blocked by MODGOBI-95 Use JVM features to manage container ... Closed
is blocked by MODINV-175 Use JVM features to manage container ... Closed
is blocked by MODINVOICE-115 Use JVM features to manage container ... Closed
is blocked by MODINVOSTO-44 Use JVM features to manage container ... Closed
is blocked by MODINVSTOR-396 Use JVM features to manage container ... Closed
is blocked by MODKBEKBJ-338 Use JVM features to manage container ... Closed
is blocked by MODLOGIN-121 Use JVM features to manage container ... Closed
is blocked by MODLOGSAML-53 Use JVM features to manage container ... Closed
is blocked by MODNOTES-135 Use JVM features to manage container ... Closed
is blocked by MODNOTIFY-57 Use JVM features to manage container ... Closed
is blocked by MODOAIPMH-80 Use JVM features to manage container ... Closed
is blocked by MODORDERS-339 Use JVM features to manage container ... Closed
is blocked by MODORDSTOR-123 Use JVM features to manage container ... Closed
is blocked by MODORGSTOR-51 Use JVM features to manage container ... Closed
is blocked by MODPATRON-35 Use JVM features to manage container ... Closed
is blocked by MODPERMS-72 Use JVM features to manage container ... Closed
is blocked by MODPWD-27 Use JVM features to manage container ... Closed
is blocked by MODRTAC-24 Use JVM features to manage container ... Closed
is blocked by MODSENDER-23 Use JVM features to manage container ... Closed
is blocked by MODTAG-33 Use JVM features to manage container ... Closed
is blocked by MODTEMPENG-35 Use JVM features to manage container ... Closed
is blocked by MODUIMP-12 Use JVM features to manage container ... Closed
is blocked by MODUSERBL-82 Use JVM features to manage container ... Closed
is blocked by MODUSERS-160 Use JVM features to manage container ... Closed
is blocked by SIP2-75 Use JVM features to manage container ... Closed
Relates
relates to FOLIO-2367 Remove openjdk8-jre-alpine Closed
relates to FOLIO-2394 Update folio-ansible group_vars to re... Closed
relates to FOLIO-1544 switch to Alpine to shrink docker con... Closed
relates to FOLIO-2357 Enhance dev.f.o docs regarding defaul... Closed
relates to FOLIO-2315 Re-assess the memory allocation in de... Blocked
Sprint: CP: sprint 77, CP: sprint 78
Story Points: 8
Development Team: Core: Platform

 Description   

To enable the JVM to use defaults in a container environment, Java 10 introduced "UseContainerSupport" and that was backported to Java 8 (8u191+). Use that in conjunction with "MaxRAMPercentage". These features were investigated in FOLIO-2334 Closed .

Now update every back-end module to utilise these settings. Specifically:

  • In its Dockerfile, use the new JVM docker base image folioci/alpine-jre-openjdk8:latest
  • In its ModuleDescriptor at the LaunchDescriptor, use this setting for JAVA_OPTIONS: "-XX:MaxRAMPercentage=66.0"
  • After merge, then follow-up to remove its default settings from folio-ansible group_vars.

See enhanced documentation ( FOLIO-2357 Closed ) at https://dev.folio.org/guides/module-descriptor/#launchdescriptor-properties

There will be linked tickets for each back-end module.



 Comments   
Comment by David Crossley [ 25/Nov/19 ]

This is now applied to all "core" back-end modules. Now proceeding with the others.

Comment by David Crossley [ 02/Dec/19 ]

This is now applied to "other" back-end modules. See the linked list of related tickets.

Comment by David Crossley [ 02/Dec/19 ]

The next step is that when each module makes a release, we follow-up to remove the "over-ride" settings from the folio-ansible group_vars "next-release" build configurations.
See FOLIO-2394 Closed .

Comment by David Crossley [ 11/Dec/19 ]

Verified deployment of these properties via folio-release reference environment.

Closed this ticket as done for the current set. Note the follow-up in FOLIO-2394 Closed .

Each new back-end module that is to be included in the reference environments will need the default LaunchDescriptor in their ModuleDescriptor, and to use the new base docker image (or similar) in their Dockerfile:
https://dev.folio.org/guides/install-backend-module/#ensure-launchdescriptor
https://dev.folio.org/guides/module-descriptor/#launchdescriptor-properties

Generated at Thu Feb 08 23:20:04 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.