allow requests to be queued if max_children limit is hit
Bug #1729610 reported by
Galen Charlton
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenSRF |
Fix Released
|
Wishlist
|
Unassigned |
Bug Description
If the listener reaches the max_children limit on the number of drones actively servicing requests, it blocks until a drone becomes available. If that condition lasts long enough and enough additional requests get sent that listener, ejabberd will ultimately notice and sever the connection, leading to the service failing even if drones subsequently become available.
To address this, we propose to teach the listener how to maintain a queue of incoming requests so that the incoming socket can stay clear; this would improve resiliency in the case of a transitory surge in requests that take a long time to be serviced (as can be the case with Evergreen search).
OpenSRF master
Changed in opensrf: | |
assignee: | nobody → Galen Charlton (gmc) |
milestone: | none → 3.1-beta |
Changed in opensrf: | |
assignee: | nobody → Bill Erickson (berick) |
status: | New → Confirmed |
Changed in opensrf: | |
assignee: | nobody → Bill Erickson (berick) |
Changed in opensrf: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
I've marked this bug as a wishlist, but since it addresses a failure mode, patches should be considered for backporting once they're validated.