GoogleCloudPlatform / cloud-sql-python-connector

A Python library for connecting securely to your Cloud SQL instances.
Apache License 2.0
284 stars 65 forks source link

SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:852)')) #122

Closed TiGaI closed 3 years ago

TiGaI commented 3 years ago

pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on '35.226.49.18' (timed out)") NO MATCH The above exception was the direct cause of the following exception: NO MATCH Is there anyway to avoid this timeout issue.

def getconn() -> pymysql.connections.Connection:
    conn: pymysql.connections.Connection = connector.connect(
        connection_name,
        "pymysql",
        user=db_user,
        password=db_pass,
        db=db_name,
        port=3306,
    )
    return conn

pool = sqlalchemy.create_engine(
    # Equivalent URL:
    # mysql+pymysql://<db_user>:<db_pass>@<db_host>:<db_port>/<db_name>
    "mysql+pymysql://",
    creator=getconn,
    **db_config
)
TiGaI commented 3 years ago

After changing the config, I get this error

ssl.SSLError: [SSL: SSLV3_ALERT_BAD_CERTIFICATE] sslv3 alert bad certificate (_ssl.c:852)

TiGaI commented 3 years ago

After changing some of the database connection config, it is still breaking, but it took much longer time to break. The error is below: google.auth.exceptions.TransportError: HTTPSConnectionPool(host='oauth2.googleapis.com', port=443): Max retries exceeded with url: /token (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:852)'),)) 2021-07-12 14:03:35,428: OSError: write error

full error: image

TiGaI commented 3 years ago

Another issue by google auth, https://github.com/googleapis/google-auth-library-python/issues/343

kurtisvg commented 3 years ago

Hi @TiGaI -- Can you give us some more info so we are able to reproduce on our side?

Some things that might help:

  1. Version of python
  2. Version of libraries (requirements.txt?)
  3. A complete snippet that we can run to reproduce the issue (and any instructions necessary to run it)
shubha-rajan commented 3 years ago

After changing some of the database connection config, it is still breaking, but it took much longer time to break. The error is below: google.auth.exceptions.TransportError: HTTPSConnectionPool(host='oauth2.googleapis.com', port=443): Max retries exceeded with url: /token (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:852)'),)) 2021-07-12 14:03:35,428: OSError: write error

It looks like this is a different category of error from the original error. Can you please elaborate on what changes you made to the config?

TiGaI commented 3 years ago
  db_config = {
    "pool_size": 100,
    "max_overflow": 5,
    "pool_timeout": 180,  # 30 seconds
    "pool_recycle": 3600,  # 60 minutes
}

pool = sqlalchemy.create_engine(
    # Equivalent URL:
    # mysql+pymysql://<db_user>:<db_pass>@<db_host>:<db_port>/<db_name>
    "mysql+pymysql://",
    creator=getconn,
    **db_config,
    connect_args={'connect_timeout': 10, 'wait_timeout':28800, 'interactive_timeout': 28800},
)

Here is the config I change.

TiGaI commented 3 years ago

Hi @TiGaI -- Can you give us some more info so we are able to reproduce on our side?

Some things that might help:

Version of python - python 3.7

Version of libraries (requirements.txt?)

PyMySQL                    1.0.2
google-api-core            1.20.0
google-api-python-client   1.11.0
google-auth                1.17.2
google-auth-httplib2       0.0.4
google-cloud-bigquery      1.25.0
google-cloud-core          1.4.1
google-cloud-firestore     1.9.0
google-cloud-storage       1.29.0
Flask                      1.1.2
SQLAlchemy                 1.4.18

A complete snippet that we can run to reproduce the issue (and any instructions necessary to run it)

2021-07-11 17:28:35,358: google.auth.exceptions.TransportError: HTTPSConnectionPool(host='oauth2.googleapis.com', port=443): Max retries exceeded with url: /token (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:852)'),))
2021-07-11 17:28:35,358: 
2021-07-11 17:28:35,358: During handling of the above exception, another exception occurred:
2021-07-11 17:28:35,358: 
2021-07-11 17:28:35,358: Traceback (most recent call last):
2021-07-11 17:28:35,358:   File "/usr/lib/python3.6/logging/__init__.py", line 996, in emit
2021-07-11 17:28:35,359:     stream.write(msg)
2021-07-11 17:28:35,359: OSError: [Errno 90] Message too long
2021-07-11 17:28:35,359: Call stack:
2021-07-11 17:28:35,359:   File "/bin/user_wsgi_wrapper.py", line 202, in __call__
2021-07-11 17:28:35,360:     app_iterator = self.app(environ, start_response)
2021-07-11 17:28:35,360:   File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 2464, in __call__
2021-07-11 17:28:35,360:     return self.wsgi_app(environ, start_response)
2021-07-11 17:28:35,360:   File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 2450, in wsgi_app
2021-07-11 17:28:35,360:     response = self.handle_exception(e)
2021-07-11 17:28:35,360:   File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 1871, in handle_exception
2021-07-11 17:28:35,360:     self.log_exception((exc_type, exc_value, tb))
2021-07-11 17:28:35,360:   File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 1892, in log_exception
2021-07-11 17:28:35,360:     "Exception on %s [%s]" % (request.path, request.method), exc_info=exc_info
2021-07-11 17:28:35,361: Message: 'Exception on /playoffs/2004/40300402 [GET]'
2021-07-11 17:28:35,361: Arguments: ()
2021-07-11 17:28:35,361: Exception on /playoffs/2004/40300402 [GET]
Traceback (most recent call last):
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/urllib3/connectionpool.py", line 677, in urlopen
    chunked=chunked,
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/urllib3/connectionpool.py", line 381, in _make_request
    self._validate_conn(conn)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/urllib3/connectionpool.py", line 978, in _validate_conn
    conn.connect()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/urllib3/connection.py", line 371, in connect
    ssl_context=context,
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/urllib3/util/ssl_.py", line 384, in ssl_wrap_socket
    return context.wrap_socket(sock, server_hostname=server_hostname)
  File "/usr/lib/python3.6/ssl.py", line 407, in wrap_socket
    _context=self, _session=session)
  File "/usr/lib/python3.6/ssl.py", line 817, in __init__
    self.do_handshake()
  File "/usr/lib/python3.6/ssl.py", line 1077, in do_handshake
    self._sslobj.do_handshake()
  File "/usr/lib/python3.6/ssl.py", line 689, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:852)
**NO MATCH**
During handling of the above exception, another exception occurred:
**NO MATCH**
Traceback (most recent call last):
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/requests/adapters.py", line 449, in send
    timeout=timeout
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/urllib3/connectionpool.py", line 727, in urlopen
    method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/urllib3/util/retry.py", line 439, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='oauth2.googleapis.com', port=443): Max retries exceeded with url: /token (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:852)'),))
**NO MATCH**
During handling of the above exception, another exception occurred:
**NO MATCH**
Traceback (most recent call last):
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/google/auth/transport/requests.py", line 183, in __call__
    method, url, data=body, headers=headers, timeout=timeout, **kwargs
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/requests/sessions.py", line 530, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/requests/sessions.py", line 643, in send
    r = adapter.send(request, **kwargs)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/requests/adapters.py", line 514, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='oauth2.googleapis.com', port=443): Max retries exceeded with url: /token (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:852)'),))
**NO MATCH**
The above exception was the direct cause of the following exception:
**NO MATCH**
Traceback (most recent call last):
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/strictlybythenumbers/nba-web-page/web/routes.py", line 337, in playoff_game_detail_shot_short
    sql_boxscore_shortchart = get_shortchart_and_boxscore_details(year, game_id)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask_caching/__init__.py", line 907, in decorated_function
    rv = f(*args, **kwargs)
  File "/home/strictlybythenumbers/nba-web-page/web/routes.py", line 265, in get_shortchart_and_boxscore_details
    with db.connect() as conn:
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 3165, in connect
    return self._connection_cls(self, close_with_result=close_with_result)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 96, in __init__
    else engine.raw_connection()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 3244, in raw_connection
    return self._wrap_pool_connect(self.pool.connect, _connection)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 3211, in _wrap_pool_connect
    return fn()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 307, in connect
    return _ConnectionFairy._checkout(self)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 767, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 430, in checkout
    rec._checkin_failed(err, _fairy_was_created=False)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 72, in __exit__
    with_traceback=exc_tb,
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 427, in checkout
    dbapi_connection = rec.get_connection()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 552, in get_connection
    self.__connect()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 611, in __connect
    pool.logger.debug("Error on connect(): %s", e)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 72, in __exit__
    with_traceback=exc_tb,
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 605, in __connect
    connection = pool._invoke_creator(self)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 238, in <lambda>
    return lambda crec: creator()
  File "/home/strictlybythenumbers/nba-web-page/web/db.py", line 64, in getconn
    db=db_name
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/google/cloud/sql/connector/connector.py", line 116, in connect
    return icm.connect(driver, ip_types, timeout, **kwargs)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/google/cloud/sql/connector/instance_connection_manager.py", line 425, in connect
    connection = connect_future.result(timeout)
  File "/usr/lib/python3.6/concurrent/futures/_base.py", line 432, in result
    return self.__get_result()
  File "/usr/lib/python3.6/concurrent/futures/_base.py", line 384, in __get_result
    raise self._exception
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/google/cloud/sql/connector/instance_connection_manager.py", line 459, in _connect
    instance_data: InstanceMetadata = await self._current
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/strictlybythenumbers/nba-web-page/web/routes.py", line 235, in playoff_year_summary
    playoffs_bracket_obj = get_ongoing_nba_playoff_bracket_data(year)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask_caching/__init__.py", line 907, in decorated_function
    rv = f(*args, **kwargs)
  File "/home/strictlybythenumbers/nba-web-page/web/routes.py", line 202, in get_ongoing_nba_playoff_bracket_data
    with db.connect() as conn:
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 3165, in connect
    return self._connection_cls(self, close_with_result=close_with_result)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 96, in __init__
    else engine.raw_connection()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 3244, in raw_connection
    return self._wrap_pool_connect(self.pool.connect, _connection)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 3211, in _wrap_pool_connect
    return fn()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 307, in connect
    return _ConnectionFairy._checkout(self)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 767, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 430, in checkout
    rec._checkin_failed(err, _fairy_was_created=False)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 72, in __exit__
    with_traceback=exc_tb,
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 427, in checkout
    dbapi_connection = rec.get_connection()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 552, in get_connection
    self.__connect()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 611, in __connect
    pool.logger.debug("Error on connect(): %s", e)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 72, in __exit__
    with_traceback=exc_tb,
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 605, in __connect
    connection = pool._invoke_creator(self)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 238, in <lambda>
    return lambda crec: creator()
  File "/home/strictlybythenumbers/nba-web-page/web/db.py", line 64, in getconn
    db=db_name
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/google/cloud/sql/connector/connector.py", line 116, in connect
    return icm.connect(driver, ip_types, timeout, **kwargs)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/google/cloud/sql/connector/instance_connection_manager.py", line 425, in connect
    connection = connect_future.result(timeout)
  File "/usr/lib/python3.6/concurrent/futures/_base.py", line 432, in result
    return self.__get_result()
  File "/usr/lib/python3.6/concurrent/futures/_base.py", line 384, in __get_result
    raise self._exception
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/google/cloud/sql/connector/instance_connection_manager.py", line 459, in _connect
    instance_data: InstanceMetadata = await self._current
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/strictlybythenumbers/nba-web-page/web/routes.py", line 232, in playoff_year_summary
    playoffs_bracket_obj = get_past_nba_playoff_bracket_data(year)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask_caching/__init__.py", line 907, in decorated_function
    rv = f(*args, **kwargs)
  File "/home/strictlybythenumbers/nba-web-page/web/routes.py", line 182, in get_past_nba_playoff_bracket_data
    with db.connect() as conn:
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 3165, in connect
    return self._connection_cls(self, close_with_result=close_with_result)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 96, in __init__
    else engine.raw_connection()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 3244, in raw_connection
    return self._wrap_pool_connect(self.pool.connect, _connection)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 3211, in _wrap_pool_connect
    return fn()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 307, in connect
    return _ConnectionFairy._checkout(self)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 767, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 430, in checkout
    rec._checkin_failed(err, _fairy_was_created=False)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 72, in __exit__
    with_traceback=exc_tb,
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 427, in checkout
    dbapi_connection = rec.get_connection()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 552, in get_connection
    self.__connect()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 611, in __connect
    pool.logger.debug("Error on connect(): %s", e)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 72, in __exit__
    with_traceback=exc_tb,
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 605, in __connect
    connection = pool._invoke_creator(self)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 238, in <lambda>
    return lambda crec: creator()
  File "/home/strictlybythenumbers/nba-web-page/web/db.py", line 64, in getconn
    db=db_name
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/google/cloud/sql/connector/connector.py", line 116, in connect
    return icm.connect(driver, ip_types, timeout, **kwargs)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/google/cloud/sql/connector/instance_connection_manager.py", line 425, in connect
    connection = connect_future.result(timeout)
  File "/usr/lib/python3.6/concurrent/futures/_base.py", line 432, in result
    return self.__get_result()
  File "/usr/lib/python3.6/concurrent/futures/_base.py", line 384, in __get_result
    raise self._exception
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/google/cloud/sql/connector/instance_connection_manager.py", line 459, in _connect
    instance_data: InstanceMetadata = await self._current
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/strictlybythenumbers/nba-web-page/web/routes.py", line 232, in playoff_year_summary
    playoffs_bracket_obj = get_past_nba_playoff_bracket_data(year)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask_caching/__init__.py", line 907, in decorated_function
    rv = f(*args, **kwargs)
  File "/home/strictlybythenumbers/nba-web-page/web/routes.py", line 182, in get_past_nba_playoff_bracket_data
    with db.connect() as conn:
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 3165, in connect
    return self._connection_cls(self, close_with_result=close_with_result)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 96, in __init__
    else engine.raw_connection()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 3244, in raw_connection
    return self._wrap_pool_connect(self.pool.connect, _connection)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 3211, in _wrap_pool_connect
    return fn()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 307, in connect
    return _ConnectionFairy._checkout(self)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 767, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 430, in checkout
    rec._checkin_failed(err, _fairy_was_created=False)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 72, in __exit__
    with_traceback=exc_tb,
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 427, in checkout
    dbapi_connection = rec.get_connection()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 552, in get_connection
    self.__connect()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 611, in __connect
    pool.logger.debug("Error on connect(): %s", e)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 72, in __exit__
    with_traceback=exc_tb,
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 605, in __connect
    connection = pool._invoke_creator(self)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 238, in <lambda>
    return lambda crec: creator()
  File "/home/strictlybythenumbers/nba-web-page/web/db.py", line 64, in getconn
    db=db_name
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/google/cloud/sql/connector/connector.py", line 116, in connect
    return icm.connect(driver, ip_types, timeout, **kwargs)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/google/cloud/sql/connector/instance_connection_manager.py", line 425, in connect
    connection = connect_future.result(timeout)
  File "/usr/lib/python3.6/concurrent/futures/_base.py", line 432, in result
    return self.__get_result()
  File "/usr/lib/python3.6/concurrent/futures/_base.py", line 384, in __get_result
    raise self._exception
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/google/cloud/sql/connector/instance_connection_manager.py", line 459, in _connect
    instance_data: InstanceMetadata = await self._current
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/strictlybythenumbers/nba-web-page/web/routes.py", line 232, in playoff_year_summary
    playoffs_bracket_obj = get_past_nba_playoff_bracket_data(year)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask_caching/__init__.py", line 907, in decorated_function
    rv = f(*args, **kwargs)
  File "/home/strictlybythenumbers/nba-web-page/web/routes.py", line 182, in get_past_nba_playoff_bracket_data
    with db.connect() as conn:
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 3165, in connect
    return self._connection_cls(self, close_with_result=close_with_result)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 96, in __init__
    else engine.raw_connection()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 3244, in raw_connection
    return self._wrap_pool_connect(self.pool.connect, _connection)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 3211, in _wrap_pool_connect
    return fn()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 307, in connect
    return _ConnectionFairy._checkout(self)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 767, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 430, in checkout
    rec._checkin_failed(err, _fairy_was_created=False)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 72, in __exit__
    with_traceback=exc_tb,
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 427, in checkout
    dbapi_connection = rec.get_connection()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 552, in get_connection
    self.__connect()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 611, in __connect
    pool.logger.debug("Error on connect(): %s", e)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 72, in __exit__
    with_traceback=exc_tb,
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 207, in raise_
    raise exception
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 605, in __connect
    connection = pool._invoke_creator(self)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 238, in <lambda>
    return lambda crec: creator()
  File "/home/strictlybythenumbers/nba-web-page/web/db.py", line 64, in getconn
    db=db_name
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/google/cloud/sql/connector/connector.py", line 116, in connect
    return icm.connect(driver, ip_types, timeout, **kwargs)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/google/cloud/sql/connector/instance_connection_manager.py", line 425, in connect
    connection = connect_future.result(timeout)
  File "/usr/lib/python3.6/concurrent/futures/_base.py", line 432, in result
    return self.__get_result()
  File "/usr/lib/python3.6/concurrent/futures/_base.py", line 384, in __get_result
    raise self._exception
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/google/cloud/sql/connector/instance_connection_manager.py", line 459, in _connect
    instance_data: InstanceMetadata = await self._current
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/strictlybythenumbers/nba-web-page/web/routes.py", line 232, in playoff_year_summary
    playoffs_bracket_obj = get_past_nba_playoff_bracket_data(year)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/flask_caching/__init__.py", line 907, in decorated_function
    rv = f(*args, **kwargs)
  File "/home/strictlybythenumbers/nba-web-page/web/routes.py", line 182, in get_past_nba_playoff_bracket_data
    with db.connect() as conn:
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 3165, in connect
    return self._connection_cls(self, close_with_result=close_with_result)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 96, in __init__
    else engine.raw_connection()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 3244, in raw_connection
    return self._wrap_pool_connect(self.pool.connect, _connection)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 3211, in _wrap_pool_connect
    return fn()
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 307, in connect
    return _ConnectionFairy._checkout(self)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 767, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/home/strictlybythenumbers/.virtualenvs/nbaweb/lib/python3.6/site-packages/sqlalche
shubha-rajan commented 3 years ago

Thanks for the details @TiGaI . From doing a bit of research, it looks like this particular error (specifically the SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:852)'))) could be a result of a bad OpenSSL installation. See this issue: https://github.com/googleapis/google-auth-library-python/issues/192 There are some steps to resolve it included in the discussion of that issue and in this StackOverflow post:

Just to either confirm or rule out this cause, can you run openssl version in your terminal and tell me what gets printed out?

TiGaI commented 3 years ago

For the production site, it is (master)$ openssl version OpenSSL 1.0.2g 1 Mar 2016

For the development site, it is OpenSSL 1.1.1k 25 Mar 2021

Both of this version failed.

shubha-rajan commented 3 years ago

This appears to be an issue with google-auth-library python and not the Cloud SQL python connector. Please open an issue against that repo instead. I'll close the issue here.

Morrigan-Ship commented 1 year ago

same problem

enocom commented 1 year ago

@Morrigan-Ship Please open a new issue with as much information to reproduce the problem as possible and we'll dig in.