Uploaded image for project: 'Camunda Optimize'
  1. Camunda Optimize
  2. OPT-1726

Do backoff in an exponential manner

    XMLWordPrintable

Details

    • Task
    • Resolution: Done
    • L3 - Default
    • 2.4.0-alpha1, 2.4.0
    • None
    • backend
    • 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

            Activity

              People

                Unassigned Unassigned
                johannes.heinemann Johannes
                Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  Salesforce