Clifford Jansen created PROTON-2812:
---------------------------------------
Summary: Epoll proactor blocks thread during DNS lookups in
getaddrinfo
Key: PROTON-2812
URL: https://issues.apache.org/jira/browse/PROTON-2812
Project: Qpid Proton
Issue Type: Bug
Components: proton-c
Affects Versions: proton-c-0.39.0
Reporter: Clifford Jansen
Assignee: Clifford Jansen
The epoll proactor uses getaddrinfo() to resolve network addresses for inbound
and outbound AMQP and raw connections. These connect and listener calls are
thread safe so may be called from any thread and the expectation is that they
initiate the action without blocking.
Solutions could entail:
1) using a dedicated DNS thread pool that multiplexes N serialized (blocking)
getaddrinfo calls over the pool (e.g. getaddrinfo_a or self managed like libuv)
2) use some custom library that scales DNS requests without blocking
3) write the simplest custom proactor library that does #2.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]