#8063·dragonfly

test_replicate_old_master

Author: dragonclaw-dragonflydbCreated Aug 12, 2026Updated Sep 16, 2026
Labelsfailing-testiouring

Automated regression triage opened this issue.

Reason: requests.exceptions.RetryError: HTTPSConnectionPool(host='github.com', port=443): Max retries exceeded with url: /dragonflydb/dragonfly/releases/download/v1.19.2/dragonfly-x86_64.tar.gz (Caused by ResponseError('too many 503 error responses'))

____________ test_replicate_old_master[df_factory0--localhost-7000] ____________
urllib3.exceptions.ResponseError: too many 503 error responses

The above exception was the direct cause of the following exception:

self = <requests.adapters.HTTPAdapter object at 0x7fdbe0bd0b30>
request = <PreparedRequest [GET]>, stream = True, timeout = None, verify = True
cert = None, proxies = OrderedDict()

    def send(
        self,
        request: PreparedRequest,
        stream: bool = False,
        timeout: _t.TimeoutType = None,
        verify: _t.VerifyType = True,
        cert: _t.CertType = None,
        proxies: dict[str, str] | None = None,
    ) -> Response:
        """Sends PreparedRequest object. Returns Response object.
    
        :param request: The :class:`PreparedRequest <PreparedRequest>` being sent.
        :param stream: (optional) Whether to stream the request content.
        :param timeout: (optional) How long to wait for the server to send
            data before giving up, as a float, or a :ref:`(connect timeout,
            read timeout) <timeouts>` tuple.
        :type timeout: float or tuple or urllib3 Timeout object
        :param verify: (optional) Either a boolean, in which case it controls whether
            we verify the server's TLS certificate, or a string, in which case it
            must be a path to a CA bundle to use
        :param cert: (optional) Any user-provided SSL certificate to be trusted.
        :param proxies: (optional) The proxies dictionary to apply to the request.
        :rtype: requests.Response
        """
    
        assert _is_prepared(request)
    
        try:
            conn = self.get_connection_with_tls_context(
                request, verify, proxies=proxies, cert=cert
            )
        except LocationValueError as e:
            raise InvalidURL(e, request=request)
    
        self.cert_verify(conn, request.url, verify, cert)
        url = self.request_url(request, proxies)
        self.add_headers(
            request,
            stream=stream,
            timeout=timeout,
            verify=verify,
            cert=cert,
            proxies=proxies,
        )
    
        chunked = not (request.body is None or "Content-Length" in request.headers)
    
        if isinstance(timeout, tuple):
            try:
                connect, read = timeout
                resolved_timeout = TimeoutSauce(connect=connect, read=read)
            except ValueError:
                raise ValueError(
                    f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, "
                    f"or a single float to set both timeouts to the same value."
                )
        elif isinstance(timeout, TimeoutSauce):
            resolved_timeout = timeout
        else:
            resolved_timeout = TimeoutSauce(connect=timeout, read=timeout)
    
        try:
>           resp = conn.urlopen(
                method=request.method,
                url=url,
                body=request.body,  # type: ignore[arg-type]  # urllib3 stubs don't accept Iterable[bytes | str]
                headers=request.headers,  # type: ignore[arg-type]  # urllib3#3072
                redirect=False,
                assert_same_host=False,
                preload_content=False,
                decode_content=False,
                retries=self.max_retries,
                timeout=resolved_timeout,
                chunked=chunked,
            )

cert       = None
chunked    = False
conn       = <urllib3.connectionpool.HTTPSConnectionPool object at 0x7fdbe8249880>
proxies    = OrderedDict()
request    = <PreparedRequest [GET]>
resolved_timeout = Timeout(connect=None, read=None, total=None)
self       = <requests.adapters.HTTPAdapter object at 0x7fdbe0bd0b30>
stream     = True
timeout    = None
url        = '/dragonflydb/dragonfly/releases/download/v1.19.2/dragonfly-x86_64.tar.gz'
verify     = True

/usr/local/lib/python3.12/dist-packages/requests/adapters.py:696: 
_ _ _ _ _ _ _ _ _ _