Uploaded image for project: 'Red Hat 3scale API Management'
  1. Red Hat 3scale API Management
  2. THREESCALE-12380

APIcast configuration loading is blocking request processin

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 2.14.0 GA, 2.15.0 GA, 2.16.0 GA, 2.14.1 GA, 2.14.2, 2.14.3 GA, 2.15.1 GA, 2.15.2 GA, 2.14.4 GA, 2.15.3 GA, 2.15.4 GA, 2.15.5 CR, 2.16.1 GA, 2.16.2 GA
    • Gateway
    • None
    • False
    • Hide

      None

      Show
      None
    • False
    • Not Started
    • Not Started
    • Not Started
    • Not Started
    • Not Started
    • Not Started
    • Workaround Exists
    • Hide

      To reduce the frequency with which the gateway needs to reload, increase the value of APICAST_CONFIGURATION_CACHE.

      Show
      To reduce the frequency with which the gateway needs to reload, increase the value of APICAST_CONFIGURATION_CACHE.

      Issue:

      • The customer is experiencing high latency in requests to 3scale products when the configuration is being loaded in their production and pre-production environments
      • The customer utilizes APICAST_SERVICES_FILTER_BY_URL in their self-managed APIcast deployments
      • Product count has been indicated to be greater than 200

      Actions Taken

      • Customer reported that after increasing the APIcast resources, request delay dropped from 30 seconds (which was causing timeouts) to approximately 10 seconds
      • Confirmed that configurationLoadMode was set to boot for affected production APIcasts
      • Requested customer create a product that does not utilize their custom policies for reproduction purposes
        • Customer created a new APIcast deployment and assigned a test product with no custom polices, which exhibited the same behavior
      • Increased cacheConfigurationSeconds from 120 to 300.
        • The same latency spike was observed during config reload, and was observed at the new cacheConfigurationSeconds interval
      • Configuration retrieval requests were observed  in system-app logs to be taking up to 2 seconds per page (2 pages total)
        • Customer horizontally scaled system-app, but no improvement was noted in config load times or delayed requests
      • Customer performed the same request testing on the embedded APIcast, which exhibited the same behavior as the self-managed APIcasts

      Impact: Increased latency is affecting the customer's production systems

      Request:

      • Requesting assistance understanding if any portion of the configuration reload process is expected to block requests
        • If this is expected, what changes can be made to reduce or eliminate the amount of request-blocking time
        • If this is not expected, requesting assistance determining why the requests are being delayed during configuration reload, and if there is a way to resolve this issue

      Root cause analysis from Developer

      Reloading a large configuration (by default, every five minutes) causes the worker to rebuild the whole policy chain for each service. During this process, incoming requests are stalled, with one customer reporting delays up to 12 seconds.

              rhn-support-atra An Tran
              rhn-support-atra An Tran
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: