[ 
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]

Reply via email to