Skip to content
Snippets Groups Projects
  1. Mar 04, 2021
    • Doug Szumski's avatar
      Add variable for changing Apache HTTP timeout · 647ff667
      Doug Szumski authored
      In services which use the Apache HTTP server to service HTTP requests,
      there exists a TimeOut directive [1] which defaults to 60 seconds. APIs
      which come under heavy load, such as Cinder, can sometimes exceed this
      which results in a HTTP 504 Gateway timeout, or similar. However, the
      request can still be serviced without error. For example, if Nova calls
      the Cinder API to detach a volume, and this operation takes longer
      than the shortest of the two timeouts, Nova will emit a stack trace
      with a 504 Gateway timeout. At some time later, the request to detach
      the volume will succeed. The Nova and Cinder DBs then become
      out-of-sync with each other, and frequently DB surgery is required.
      
      Although strictly this category of bugs should be fixed in OpenStack
      services, it is not realistic to expect this to happen in the short
      term. Therefore, this change makes it easier to set the Apache HTTP
      timeout via a new variable.
      
      An example of a related bug is here:
      
      https://bugs.launchpad.net/nova/+bug/1888665
      
      Whilst this timeout can currently be set by overriding the WSGI
      config for individual services, this change makes it much easier.
      
      Change-Id: Ie452516655cbd40d63bdad3635fd66693e40ce34
      Closes-Bug: #1917648
      647ff667
Loading