Details
-
Task
-
Status: Done
-
L3 - Default
-
Resolution: Done
-
None
-
None
Description
Context:
Currently, at different places we use a backoff mechanism to wait until a certain resource is avaiable again. One example is when we fetch data from the engine and we can't retrieve new data then a backoff is performed. However, the backoff is performed in a linear manner, meaning the waiting time until the next retry is increased linearly. The default behavior nowadays is an exponential backoff.
AT:
- the backoff is performed in an exponential manner
- the applies to the following entities:
- Retry of the connection to Elasticsearch when creating the Elasticsearch Client
- Retry of fetching the engine data
- Retry during the data generation in the qa test
- Retry in case there is no new engine data
- the exponential backoff mechanism uses the following configurations:
- multiplier = 1.5 (hardcoded)
- intial interval = 1 second (can be adjusted using the configuration)
- max interval = 30 seconds (can be adjusted using the configuration)
- the default service-config.yaml and environment-config.yaml files are adjusted to the new settings
- the documentation of the configuration is adjusted accordingly + the template service-config.yaml in the docs is also adjusted
- the description of the backoff in the import overview section of the technical guide is adjusted accordingly
Hint:
Think about using the exponential backoff functionality of Spring:
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/util/backoff/ExponentialBackOff.html
mgm-controller-panel
This is the controller panel for Smart Panels app
Attachments
Issue Links
- mentioned in
-
Page Loading...