[
https://issues.apache.org/jira/browse/PROTON-2812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18057693#comment-18057693
]
ASF subversion and git services commented on PROTON-2812:
---------------------------------------------------------
Commit ea0985f643c6019050a40f69753f4cceaeccb9b2 in qpid-proton's branch
refs/heads/main from Andrew Stitcher
[ https://gitbox.apache.org/repos/asf?p=qpid-proton.git;h=ea0985f64 ]
PROTON-2812: Implement async name lookup with c-ares
* TODO: Would be useful to implement a specific async name lookup call
with a specific proactor event signalling the completed lookup for use
in code that just provides us with fds.
> 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
> Priority: Major
> Attachments: mitigate01.diff
>
>
> 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]