stackabletech / stackabletech/operator-rs
Add method to adaptively calculate JVM heap size instead of using a constant
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 167
- Forks
- 19
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 9
Description
Recently we added the possibility to add resource requests and limits to our operators.
For the Java based products we currently use a factor of 0.8 to calculate the amount of heap for the JVM depending on the memory limit.
In most cases this will lead to unused memory when using alot of memory. E.g. a pod gets 100GB memory, this will be 80GB for the JVM and we end up with almost 20GB unused but reserved memory.
We need a method in the framework that adaptively calculates the required heap memory in order to waste less memory and leaving enough memory for the OS to run when specifying lower amounts.
Acceptance
- A method to calculate the JVM heap depending on the amount specified is implemented in the framework
- This includes research about a safe minimal value (e.g. 500mb for the OS that must always be respected)
- The operator-rs is properly released
- The resources concepts docs are updated
- All operators managing java products use this method instead of the constant 0.8 factor
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the framework's current 0.8 JVM heap calculation and the resources concepts documentation. Research a safe minimum OS memory value, then trace all operators managing Java products to identify uses of the constant. Done means the adaptive method is used consistently, operator-rs is released, and the resources documentation is updated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kubernetes, rust
- Domain
- devops, documentation, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100