Skip to content

[v9_18] Bump socket.create_connection() timeout to 10 seconds

The tcp Pytest on OpenBSD fairly reliably fails when receive_tcp() on a socket is attempted:

>           (response, rtime) = dns.query.receive_tcp(sock, timeout())

tests-tcp.py:50:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.9/site-packages/dns/query.py:659: in receive_tcp
    ldata = _net_read(sock, 2, expiration)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

sock = <socket.socket [closed] fd=-1, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6>
count = 2, expiration = 1662719959.8106785

    def _net_read(sock, count, expiration):
        """Read the specified number of bytes from sock.  Keep trying until we
        either get the desired amount, or we hit EOF.
        A Timeout exception will be raised if the operation is not completed
        by the expiration time.
        """
        s = b''
        while count > 0:
            try:
>               n = sock.recv(count)
E               socket.timeout: timed out

This is because the socket is already closed.

Bump the socket connection timeout to 10 seconds.

(cherry picked from commit 658cae9f)

Closes #3427 (closed)

Merge request reports