[FOLIO-1729] Use container memory limits to manage memory in reference environments Created: 23/Jan/19 Updated: 11/Aug/20 Resolved: 21/Oct/19 |
|
| Status: | Closed |
| Project: | FOLIO |
| Components: | None |
| Affects versions: | None |
| Fix versions: | None |
| Type: | New Feature | Priority: | P2 |
| Reporter: | Wayne Schneider | Assignee: | Unassigned |
| Resolution: | Done | Votes: | 0 |
| Labels: | ci, platform-backlog, sysops_mgt | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original estimate: | Not Specified | ||
| Issue links: |
|
||||||||||||||||||||||||||||||||||||||||
| Sprint: | CP: ready for planning | ||||||||||||||||||||||||||||||||||||||||
| Development Team: | Core: Platform | ||||||||||||||||||||||||||||||||||||||||
| Description |
|
Right now, backend modules launched as containers by Okapi have no memory limits imposed by default. In addition, for Java-based modules, in a container, the JVM by default sees all system memory as available to it, regardless of any container memory limit. We are currently managing this by setting an environment variable JAVA_OPTIONS=-Xmx256m (or whatever is required according to the developer) for all Java-based modules. This solution works OK, but it requires that the DevOps team configure each module individually, and the memory requirements of the module are not documented except in the deployment variables file in folio-ansible. A better solution might be:
|
| Comments |
| Comment by Jakub Skoczen [ 28/Jan/19 ] |
|
Wayne Schneider Is this still something we want to do? What's the reason/benefit? |
| Comment by Wayne Schneider [ 28/Jan/19 ] |
|
Jakub Skoczen: I see the benefits this way:
|
| Comment by Jakub Skoczen [ 11/Mar/19 ] |
|
Wayne Schneider My only concern here is that this involves changing the method of constraining memory (JVM-specific to container-specific) which could have unintended consequences and definitely needs testing. Would it make sense to address the issue of "hardcoding" JVM params first and seperately e.g by passing Launch parameters down to the container and then down to the JVM? |
| Comment by Oleksii Popov [ 04/Apr/19 ] |
|
Requires final agreement.
|
| Comment by Wayne Schneider [ 04/Apr/19 ] |
|
Possible umbrella issue for module metadata:
|
| Comment by Jakub Skoczen [ 16/Sep/19 ] |
|
Wayne Schneider David Crossley Guys, is this still a todo or has this been closed through the work done wih LDs last week? |
| Comment by Wayne Schneider [ 16/Sep/19 ] |
|
I believe this is closed through the LD work – we could close now (because a solution has been identified), or wait until
|
| Comment by Jakub Skoczen [ 21/Oct/19 ] |
|
Completed based on the previous comment – re-open if not the case. |