Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

Allow soft upper and lower bounds in action configs #406

Open
vigyasharma opened this issue Aug 31, 2020 · 0 comments
Open

Allow soft upper and lower bounds in action configs #406

vigyasharma opened this issue Aug 31, 2020 · 0 comments

Comments

@vigyasharma
Copy link
Contributor

Extending discussion on PR #402

There can be several reasons for high old heap usage, cache and queues cover only a subset of them. Currently however, these are the only ones we are looking at. The heap health decider bucketizes an unhealthy heap into 3 levels: level-1 unhealthy, level-2 unhealthy, and level-3 unhealthy; with level-3 being where heap is worst hit.

At level-1 unhealthy (heap usage ~60-70%), we want to downsize queues and caches, but to a soft lower bound, not to the absolute hard lower bound. This is so that we don't over-penalize the only resources we are able to tune.

At level-3 unhealthy (heap usage >~90%), the same argument can hold, but now we know for sure that there are several other objects contesting for heap space, which is causing the 90% heap usage. So we tune down caches and queues to as much as possible, which is the hard lower bound provided by setDesiredCacheMaxSizeToMin().

The soft and hard bounds should be attributes of action config objects itself, so that they can have corresponding overrides in rca.conf, and we don't maintain and pass separate bound values from deciders.

Instead of exposing the lowerBound() setter, we should expose a useSoftLowerBound() setter, with soft lower bound being read from rca.conf.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant