Error when establish the connection Redshift Serverless

Abierto
#249 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
25/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
python
Área
databases

Línea de trabajo

Comienza reproduciendo la conexión con el fragmento de Python proporcionado e inspecciona redshift_connector/core.py alrededor de la inicialización de Connection y la llamada a ssl_context.wrap_socket que se muestra en el trace. Compara el comportamiento para el entorno de Redshift Serverless reportado con los parámetros de conexión documentados; se considera terminado cuando se haya identificado una causa reproducible del lado del driver y se haya verificado que la conexión se establece correctamente. En el informe no se menciona ninguna prueba del repositorio.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Driver version

2.1.5

Redshift version

PostgreSQL 8.0.2 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.4.2 20041017 (Red Hat 3.4.2-6.fc3), Redshift 1.0.80583

Client Operating System

Linux

Python version

3.12

Table schema

Not required

Problem description

  1. Expected behaviour: Established connection
  2. Actual behaviour: Failed to connect
  3. Error message/stack trace: redshift_connector.error.InterfaceError: ('communication error', SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1000)'))
  4. Any other details that can be helpful:

Python Driver trace logs

Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/redshift_connector/core.py", line 671, in __init__
    self._usock = ssl_context.wrap_socket(self._usock)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/ssl.py", line 455, in wrap_socket
    return self.sslsocket_class._create(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/ssl.py", line 1042, in _create
    self.do_handshake()
  File "/usr/local/lib/python3.12/ssl.py", line 1320, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLEOFError: [SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1000)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/app/helper/redshift_helper.py", line 22, in create_connection
    _conn = rc.connect(
            ^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/redshift_connector/__init__.py", line 394, in connect
    return Connection(
           ^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/redshift_connector/core.py", line 698, in __init__
    raise InterfaceError("communication error", e)
redshift_connector.error.InterfaceError: ('communication error', SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1000)'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/app/main.py", line 26, in <module>
    main()
  File "/app/main.py", line 18, in main
    ds.auto_create_views()
  File "/app/function/datashare.py", line 35, in auto_create_views
    self.rs_public2 = RedshiftHelper(
                      ^^^^^^^^^^^^^^^
  File "/app/helper/redshift_helper.py", line 18, in __init__
    self._conn = self.create_connection()
                 ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/helper/redshift_helper.py", line 31, in create_connection
    raise Exception(str(e))
Exception: ('communication error', SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1000)'))

Reproduction code

code snippet

def create_connection(self):
    try:
        _conn = rc.connect(
            host=self._host,
            port=self._port,
            database=self._database,
            user=self._user,
            password=self._password,
        )
    except Exception as e:
        logger.error(f"failed connect to ({self._host}), {str(e)}")
        raise Exception(str(e))

    _conn.autocommit = True

    logger.info(f"redshift connection ({self._host}) established...")

    return _conn
Lenguaje dominante
Python
Estrellas
220
Forks
86
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de aws/amazon-redshift-python-driver

Todos los issues de aws/amazon-redshift-python-driver

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.