#49128 handle connection storms
Closed: wontfix 3 years ago by spichugi. Opened 7 years ago by rmeggins.

Issue Description

The server does not handle connection storms very well. For example, suppose you have 10k clients that try to open a connection to the server at the same time. The server currently does one accept() at a time, in the main poll() loop. This causes timeouts and other problems at the client. Perhaps there is a better way to handle this. Using nunc-stans can also help here. See https://pagure.io/389-ds-base/issue/47373 for some other background and discussion of this issue.

One idea is to have the accept() happen in a separate thread, and have a sort of "turbo mode" for accept() - basically, just keep doing accept() in a (relatively) tight loop and accept as many incoming connections as possible (or up to a certain time/number limit) until EAGAIN is returned by accept(), which means the queue is exhausted and we must poll again for new incoming connections.


Metadata Update from @mreynolds:
- Custom field type adjusted to defect
- Issue set to the milestone: 1.4 backlog

6 years ago

389-ds-base is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in 389-ds-base's github repository.

This issue has been cloned to Github and is available here:
- https://github.com/389ds/389-ds-base/issues/2187

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Metadata Update from @spichugi:
- Issue close_status updated to: wontfix
- Issue status updated to: Closed (was: Open)

3 years ago

Login to comment on this ticket.

Metadata