← Back to team overview

sts-sponsors team mailing list archive

[Bug 1863232] Re: daemon rotates socket on restart

 

Hello Dariusz, or anyone else affected,

Accepted mod-wsgi into bionic-proposed. The package will build now and
be available at https://launchpad.net/ubuntu/+source/mod-
wsgi/4.5.17-1ubuntu1 in a few hours, and then in the -proposed
repository.

Please help us by testing this new package.  See
https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how
to enable and use -proposed.  Your feedback will aid us getting this
update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug,
mentioning the version of the package you tested and change the tag from
verification-needed-bionic to verification-done-bionic. If it does not
fix the bug for you, please add a comment stating that, and change the
tag to verification-failed-bionic. In either case, without details of
your testing we will not be able to proceed.

Further information regarding the verification process can be found at
https://wiki.ubuntu.com/QATeam/PerformingSRUVerification .  Thank you in
advance for helping!

N.B. The updated package will be released to -updates after the bug(s)
fixed by this package have been verified and the package has been in
-proposed for a minimum of 7 days.

** Changed in: mod-wsgi (Ubuntu Bionic)
       Status: In Progress => Fix Committed

** Tags added: verification-needed verification-needed-bionic

-- 
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:
  Fix Committed
Status in mod-wsgi source package in Bionic:
  Fix Committed

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