Bionic verification: After installing libapache2-mod-wsgi 4.5.17-1ubuntu1 and setting WSGISocketRotation Off in /etc/apache2/mods-available/wsgi.conf I confirm there is no socket rotation after reload:
$ ls -1 /var/run/apache2/wsgi.*.sock /var/run/apache2/wsgi.4963.u33.1.sock $ sudo systemctl reload apache2.service $ ls -1 /var/run/apache2/wsgi.*.sock /var/run/apache2/wsgi.4963.u33.1.sock ** Tags removed: verification-needed-bionic ** Tags added: verification-done-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 -- Mailing list: https://launchpad.net/~sts-sponsors Post to : [email protected] Unsubscribe : https://launchpad.net/~sts-sponsors More help : https://help.launchpad.net/ListHelp

