← Back to team overview

sts-sponsors team mailing list archive

[Bug 1863232] Re: daemon rotates socket on restart

 

Uploaded changes to B/X.

There are no other mod-wsgi uploads in the unapproved queue nor waiting
in -proposed/pending SRU.

mod-wsgi (source)
	4.5.17-1ubuntu1 	main 	python 	medium 	ubuntu-server 	Proposed 	56 seconds ago

 mod-wsgi (source)
	4.3.0-1.1ubuntu1 	main 	python 	medium 	ubuntu-server 	Proposed 	53 seconds ago

** Changed in: mod-wsgi (Ubuntu Xenial)
   Importance: Undecided => Medium

** Changed in: mod-wsgi (Ubuntu Bionic)
   Importance: Undecided => Medium

** Changed in: mod-wsgi (Ubuntu)
   Importance: Low => Undecided

** Description changed:

  [Impact]
  
   * Lack of option for disabling wsgi socket rotation leads to errors on graceful restarts, making them not as graceful.
   * Specifically, when mod-wsgi is running in daemon mode (which uses
     sockets), and a graceful restart ('sudo systemctl reload apache2')
     happens, the socket filename changes, and upcoming HTTP requests
     in a keep-alive connection (i.e., same connection is re-utilized
     for multiple HTTP requests) initiated before the graceful restart
     are failed (HTTP 503 error) because the socket file is not found.
  
   * This change introduces a new config option WSGISocketRotation that allows to disable the rotation.
   * The option is disabled by default, so the default behavior remains
     consistent with the previous versions (ie, socket rotation occurs.)
   * This is actually desired, and designed that way by upstream,
     because disabling socket rotation requires no _wsgi_ config changes,
     as they can impact/alter the upcoming HTTP requests (see patch link.)
  
  [Test Case]
  
   * Setup apache2 with mod-wsgi.
   * Make sure there are some wsgi sockets open.
   * Reload apache gracefully.
   * (Detailed steps are provided in comments #9 and #10)
  
  Expected result:
  No errors related to sockets in the logs
  
  Actual result:
  There are error messages related to sockets in the logs.
  
  [Regression Potential]
  
   * Since the value is set to On by default any regressions would manifest only after explicitly setting it to Off.
   * After it's set to off WSGI application behavior will change on reloads - connections should be resumed instead of cancelled.
  
  [Other Info]
  
+  * The fix has been introduced in mod-wsgi 4.6.0,
+    thus already present in Disco/Eoan/Focal,
+    only needed in Xenial/Bionic.
+ 
   * Original bug description:
  On Apache reloads the WSGI daemon tries to rotate wsgi sockets causing unnecessary log entries, especially in OpenStack context.
  
  This has been addressed in mod-wsgi upstream (4.6.0) and could be
  backported to Ubuntu.

-- 
You received this bug notification because you are a member of STS
Sponsors, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1863232

Title:
  daemon rotates socket on restart

Status in mod-wsgi package in Ubuntu:
  Fix Released
Status in mod-wsgi source package in Xenial:
  In Progress
Status in mod-wsgi source package in Bionic:
  In Progress

Bug description:
  [Impact]

   * Lack of option for disabling wsgi socket rotation leads to errors on graceful restarts, making them not as graceful.
   * Specifically, when mod-wsgi is running in daemon mode (which uses
     sockets), and a graceful restart ('sudo systemctl reload apache2')
     happens, the socket filename changes, and upcoming HTTP requests
     in a keep-alive connection (i.e., same connection is re-utilized
     for multiple HTTP requests) initiated before the graceful restart
     are failed (HTTP 503 error) because the socket file is not found.

   * This change introduces a new config option WSGISocketRotation that allows to disable the rotation.
   * The option is disabled by default, so the default behavior remains
     consistent with the previous versions (ie, socket rotation occurs.)
   * This is actually desired, and designed that way by upstream,
     because disabling socket rotation requires no _wsgi_ config changes,
     as they can impact/alter the upcoming HTTP requests (see patch link.)

  [Test Case]

   * Setup apache2 with mod-wsgi.
   * Make sure there are some wsgi sockets open.
   * Reload apache gracefully.
   * (Detailed steps are provided in comments #9 and #10)

  Expected result:
  No errors related to sockets in the logs

  Actual result:
  There are error messages related to sockets in the logs.

  [Regression Potential]

   * Since the value is set to On by default any regressions would manifest only after explicitly setting it to Off.
   * After it's set to off WSGI application behavior will change on reloads - connections should be resumed instead of cancelled.

  [Other Info]

   * The fix has been introduced in mod-wsgi 4.6.0,
     thus already present in Disco/Eoan/Focal,
     only needed in Xenial/Bionic.

   * Original bug description:
  On Apache reloads the WSGI daemon tries to rotate wsgi sockets causing unnecessary log entries, especially in OpenStack context.

  This has been addressed in mod-wsgi upstream (4.6.0) and could be
  backported to Ubuntu.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/mod-wsgi/+bug/1863232/+subscriptions