Remove blocking executor in MessageHandlingServer

Bug #1715141 reported by Chenghui Yu
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
oslo.messaging
Fix Released
Medium
Herve Beraud

Bug Description

The executor parameter controls how incoming messages will be received and dispatched. By default, the most simple executor is used - the blocking executor. It handles only one message at once. It's recommended to use threading or eventlet. And it has been marked for removal in Rocky.

 http://git.openstack.org/cgit/openstack/oslo.messaging/tree/oslo_messaging/server.py#n337

Chenghui Yu (chenghuiyu)
Changed in oslo.messaging:
status: New → In Progress
assignee: nobody → Chenghui Yu (chenghuiyu)
description: updated
Ken Giusti (kgiusti)
Changed in oslo.messaging:
importance: Undecided → Medium
Revision history for this message
Ken Giusti (kgiusti) wrote :

Mistral has requested an extension in order to address

https://bugs.launchpad.net/mistral/+bug/1696469

Revision history for this message
Andras Kovi (akovi) wrote :

Dear Oslo Team, https://bugs.launchpad.net/mistral/+bug/1696469 has been closed but it has unexpected consequences that make it necessary to keep using the blocking executor. Namely, under high parallelism, the connections to RMQ becomes unstable to the point when it starts missing heartbeats and finally causing the whole service to fail unrecoverably. We are working on fixing this issue.

Revision history for this message
Ken Giusti (kgiusti) wrote :

Let's push the removal off to the T release. No point in breaking things if we can avoid it. Besides there are still a few other users of blocking out there who will also be affected.

Per Ben's suggestion if projects still require blocking at T+, we can support its use by having the projects add an

oslo.messaging.executors =
   blocking = futurist:SynchronousExecutor

to their setup.cfg to keep it available to them even if we drop it from oslo.messaging itself.

See the email thread:

http://lists.openstack.org/pipermail/openstack-dev/2018-October/135825.html

Changed in oslo.messaging:
milestone: none → stein-1
milestone: stein-1 → none
Revision history for this message
Ken Giusti (kgiusti) wrote :

Adding a requirement:

Prior to T we need to have updated functional tests in CI that run under both the threading and the eventlet executors. And any tests currently dependent on blocking must be updated to use the other executors

Revision history for this message
Herve Beraud (herveberaud) wrote :

Do we have more visibility about this topic?

After some research I think we can go ahead now to definitely drop the blocking executor support for the U cycle.

Thoughts?

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to oslo.messaging (master)

Fix proposed to branch: master
Review: https://review.opendev.org/703106

Changed in oslo.messaging:
assignee: Chenghui Yu (chenghuiyu) → Herve Beraud (herveberaud)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to oslo.messaging (master)

Reviewed: https://review.opendev.org/703106
Committed: https://git.openstack.org/cgit/openstack/oslo.messaging/commit/?id=fed48aea44d2d7683516cf0e9f427cd1113c2694
Submitter: Zuul
Branch: master

commit fed48aea44d2d7683516cf0e9f427cd1113c2694
Author: Hervé Beraud <email address hidden>
Date: Fri Jan 17 16:24:29 2020 +0100

    Remove the deprecated blocking executor

    The blocking executor has been deprecated in Pike and marked for removal
    in Rocky, but some user like Mistral asked us to wait before. We decided
    to remove this executor for Train or next cycle, now we are in the
    Ussuri and after some researchs on usage I think we can go ahead.

    This patch drop the deprecation warnings, related unit tests and
    set the server with the threading executor is the default executor.

    Change-Id: If07bab61ee2b148658b88be98b12f8539f274efe
    Closes-Bug: #1715141

Changed in oslo.messaging:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/oslo.messaging 12.0.0

This issue was fixed in the openstack/oslo.messaging 12.0.0 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.