The HTTPSMultiRepositoryPublicKeyRetriever does use other server when it gets a ConnectionError
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- python
- Área
- authentication, backend
Línea de trabajo
Comience localizando HTTPSMultiRepositoryPublicKeyRetriever y la ruta retrieve mostrada en atlassian_jwt_auth/key.py. Reproduzca un requests.exceptions.ConnectionError con varios repositorios y verifique que la recuperación continúe con el siguiente repositorio, preservando el comportamiento existente ante errores 500.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
I have HTTPSMultiRepositoryPublicKeyRetriever setup to use two respositories. However it only attempts the other on 500 errors, but not any thing similar like ConnectionErrors.
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 603, in urlopen
chunked=chunked)
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 387, in _make_request
six.raise_from(e, None)
File "<string>", line 2, in raise_from
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 383, in _make_request
httplib_response = conn.getresponse()
File "/usr/local/lib/python3.7/http/client.py", line 1336, in getresponse
response.begin()
File "/usr/local/lib/python3.7/http/client.py", line 306, in begin
version, status, reason = self._read_status()
File "/usr/local/lib/python3.7/http/client.py", line 267, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "/usr/local/lib/python3.7/socket.py", line 589, in readinto
return self._sock.recv_into(b)
File "/usr/local/lib/python3.7/ssl.py", line 1071, in recv_into
return self.read(nbytes, buffer)
File "/usr/local/lib/python3.7/ssl.py", line 929, in read
return self._sslobj.read(len, buffer)
ConnectionResetError: [Errno 104] Connection reset by peer
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/requests/adapters.py", line 449, in send
timeout=timeout
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 641, in urlopen
_stacktrace=sys.exc_info()[2])
File "/usr/local/lib/python3.7/site-packages/urllib3/util/retry.py", line 368, in increment
raise six.reraise(type(error), error, _stacktrace)
File "/usr/local/lib/python3.7/site-packages/urllib3/packages/six.py", line 685, in reraise
raise value.with_traceback(tb)
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 603, in urlopen
chunked=chunked)
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 387, in _make_request
six.raise_from(e, None)
File "<string>", line 2, in raise_from
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 383, in _make_request
httplib_response = conn.getresponse()
File "/usr/local/lib/python3.7/http/client.py", line 1336, in getresponse
response.begin()
File "/usr/local/lib/python3.7/http/client.py", line 306, in begin
version, status, reason = self._read_status()
File "/usr/local/lib/python3.7/http/client.py", line 267, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "/usr/local/lib/python3.7/socket.py", line 589, in readinto
return self._sock.recv_into(b)
File "/usr/local/lib/python3.7/ssl.py", line 1071, in recv_into
return self.read(nbytes, buffer)
File "/usr/local/lib/python3.7/ssl.py", line 929, in read
return self._sslobj.read(len, buffer)
urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/atlassian_jwt_auth/key.py", line 101, in retrieve
return self._retrieve(url, requests_kwargs)
File "/usr/local/lib/python3.7/site-packages/atlassian_jwt_auth/key.py", line 111, in _retrieve
**requests_kwargs)
File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 546, in get
return self.request('GET', url, **kwargs)
File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 533, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 646, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python3.7/site-packages/cachecontrol/adapter.py", line 53, in send
resp = super(CacheControlAdapter, self).send(request, **kw)
File "/usr/local/lib/python3.7/site-packages/requests/adapters.py", line 498, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/src/app/libauth_asap/token.py", line 97, in verify_token
leeway=180 # Do not fail due to small time sync issues. (seconds)
File "/usr/local/lib/python3.7/site-packages/atlassian_jwt_auth/verifier.py", line 32, in verify_jwt
public_key = self._retrieve_pub_key(key_identifier, requests_kwargs)
File "/usr/local/lib/python3.7/site-packages/atlassian_jwt_auth/verifier.py", line 40, in _retrieve_pub_key
key_identifier, **requests_kwargs)
File "/usr/local/lib/python3.7/site-packages/atlassian_jwt_auth/key.py", line 142, in retrieve
return retriever.retrieve(key_identifier, **requests_kwargs)
File "/usr/local/lib/python3.7/site-packages/atlassian_jwt_auth/key.py", line 107, in retrieve
raise PublicKeyRetrieverException(e, status_code=status_code)
atlassian_jwt_auth.exceptions.PublicKeyRetrieverException: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))
- Lenguaje dominante
- Python
- Estrellas
- 26
- Forks
- 19
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de atlassian/asap-authentication-python
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 42/100
atlassian/asap-authentication-python#40 · 1 comentario ·
Todos los issues de atlassian/asap-authentication-python
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 60/100
521xueweihan/HelloGitHub#3924 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
wilbowes/EchoMuse#869 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
-
Claiming namespace `jft63`Abiertonamespace operations
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
EclipseFdn/open-vsx.org#14043 ·
Los mantenedores suelen responder en 1 día
-
test: TestServeUntilStale races the server's close against the client's sendall (BrokenPipeError under load)Posiblemente ocupada @evoludigit la tomó hoy. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 89/100
Los mantenedores suelen responder en 1 día