ResearchComputing / RCAMP

Research Computing Account Management Portal
MIT License
0 stars 0 forks source link

Db connection issue #384

Closed AaronTHolt closed 4 years ago

AaronTHolt commented 4 years ago

A user was unable to create an account. The user was manually added in the admin interface successfully. This may have been fixed in #383, but it could still be an issue:

Internal Server Error: /api/accountrequests/

Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 132, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/lib/python2.7/site-packages/django/views/decorators/csrf.py", line 58, in wrapped_view
    return view_func(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/rest_framework/viewsets.py", line 87, in view
    return self.dispatch(request, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/rest_framework/views.py", line 466, in dispatch
    response = self.handle_exception(exc)
  File "/usr/lib/python2.7/site-packages/rest_framework/views.py", line 454, in dispatch
    self.initial(request, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/rest_framework/views.py", line 376, in initial
    self.perform_authentication(request)
  File "/usr/lib/python2.7/site-packages/rest_framework/views.py", line 310, in perform_authentication
    request.user
  File "/usr/lib/python2.7/site-packages/rest_framework/request.py", line 353, in __getattribute__
    return super(Request, self).__getattribute__(attr)
  File "/usr/lib/python2.7/site-packages/rest_framework/request.py", line 193, in user
    self._authenticate()
  File "/usr/lib/python2.7/site-packages/rest_framework/request.py", line 316, in _authenticate
    user_auth_tuple = authenticator.authenticate(self)
  File "/usr/lib/python2.7/site-packages/rest_framework/authentication.py", line 85, in authenticate
    return self.authenticate_credentials(userid, password)
  File "/usr/lib/python2.7/site-packages/rest_framework/authentication.py", line 95, in authenticate_credentials
    user = authenticate(**credentials)
  File "/usr/lib/python2.7/site-packages/django/contrib/auth/__init__.py", line 74, in authenticate
    user = backend.authenticate(**credentials)
  File "/usr/lib/python2.7/site-packages/django/contrib/auth/backends.py", line 17, in authenticate
    user = UserModel._default_manager.get_by_natural_key(username)
  File "/usr/lib/python2.7/site-packages/django/contrib/auth/models.py", line 162, in get_by_natural_key
    return self.get(**{self.model.USERNAME_FIELD: username})
  File "/usr/lib/python2.7/site-packages/django/db/models/manager.py", line 127, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/django/db/models/query.py", line 328, in get
    num = len(clone)
  File "/usr/lib/python2.7/site-packages/django/db/models/query.py", line 144, in __len__
    self._fetch_all()
  File "/usr/lib/python2.7/site-packages/django/db/models/query.py", line 965, in _fetch_all
    self._result_cache = list(self.iterator())
  File "/usr/lib/python2.7/site-packages/django/db/models/query.py", line 238, in iterator
    results = compiler.execute_sql()
  File "/usr/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 829, in execute_sql
    sql, params = self.as_sql()
  File "/usr/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 387, in as_sql
    where, w_params = self.compile(self.query.where)
  File "/usr/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 357, in compile
    sql, params = node.as_sql(self, self.connection)
  File "/usr/lib/python2.7/site-packages/django/db/models/sql/where.py", line 104, in as_sql
    sql, params = compiler.compile(child)
  File "/usr/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 357, in compile
    sql, params = node.as_sql(self, self.connection)
  File "/usr/lib/python2.7/site-packages/django/db/models/lookups.py", line 218, in as_sql
    lhs_sql, params = self.process_lhs(compiler, connection)
  File "/usr/lib/python2.7/site-packages/django/db/models/lookups.py", line 211, in process_lhs
    db_type = self.lhs.output_field.db_type(connection=connection)
  File "/usr/lib/python2.7/site-packages/django/db/models/fields/__init__.py", line 614, in db_type
    return connection.data_types[self.get_internal_type()] % data
  File "/usr/lib/python2.7/site-packages/django/utils/functional.py", line 59, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/usr/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 196, in data_types
    if self.features.supports_microsecond_precision:
  File "/usr/lib/python2.7/site-packages/django/utils/functional.py", line 59, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/usr/lib/python2.7/site-packages/django/db/backends/mysql/features.py", line 52, in supports_microsecond_precision
    return self.connection.mysql_version >= (5, 6, 4) and Database.version_info >= (1, 2, 5)
  File "/usr/lib/python2.7/site-packages/django/utils/functional.py", line 59, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/usr/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 371, in mysql_version
    with self.temporary_connection():
  File "/usr/lib64/python2.7/contextlib.py", line 17, in __enter__
    return self.gen.next()
  File "/usr/lib/python2.7/site-packages/django/db/backends/base/base.py", line 462, in temporary_connection
     cursor = self.cursor()
   File "/usr/lib/python2.7/site-packages/django/db/backends/base/base.py", line 164, in cursor
     cursor = self.make_cursor(self._cursor())
   File "/usr/lib/python2.7/site-packages/django/db/backends/base/base.py", line 135, in _cursor
     self.ensure_connection()
   File "/usr/lib/python2.7/site-packages/django/db/backends/base/base.py", line 130, in ensure_connection
     self.connect()
   File "/usr/lib/python2.7/site-packages/django/db/utils.py", line 98, in __exit__
     six.reraise(dj_exc_type, dj_exc_value, traceback)
   File "/usr/lib/python2.7/site-packages/django/db/backends/base/base.py", line 130, in ensure_connection
     self.connect()
   File "/usr/lib/python2.7/site-packages/django/db/backends/base/base.py", line 119, in connect
     self.connection = self.get_new_connection(conn_params)
   File "/usr/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 276, in get_new_connection
     conn = Database.connect(**conn_params)
   File "/usr/lib64/python2.7/site-packages/MySQLdb/__init__.py", line 81, in Connect
     return Connection(*args, **kwargs)
   File "/usr/lib64/python2.7/site-packages/MySQLdb/connections.py", line 193, in __init__
     super(Connection, self).__init__(*args, **kwargs2)
   OperationalError: (2003, "Can't connect to MySQL server on ... (110)")
AaronTHolt commented 4 years ago

Happens to allocations as well:

Internal Server Error: /api/allocations/

Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 132, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/lib/python2.7/site-packages/django/views/decorators/csrf.py", line 58, in wrapped_view
    return view_func(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/rest_framework/viewsets.py", line 87, in view
    return self.dispatch(request, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/rest_framework/views.py", line 466, in dispatch
    response = self.handle_exception(exc)
  File "/usr/lib/python2.7/site-packages/rest_framework/views.py", line 454, in dispatch
    self.initial(request, *args, **kwargs)
  File "/usr/lib/python2.7/site-packages/rest_framework/views.py", line 376, in initial
    self.perform_authentication(request)
  File "/usr/lib/python2.7/site-packages/rest_framework/views.py", line 310, in perform_authentication
    request.user
  File "/usr/lib/python2.7/site-packages/rest_framework/request.py", line 353, in __getattribute__
    return super(Request, self).__getattribute__(attr)
  File "/usr/lib/python2.7/site-packages/rest_framework/request.py", line 193, in user
    self._authenticate()
  File "/usr/lib/python2.7/site-packages/rest_framework/request.py", line 316, in _authenticate
    user_auth_tuple = authenticator.authenticate(self)
  File "/usr/lib/python2.7/site-packages/rest_framework/authentication.py", line 85, in authenticate
    return self.authenticate_credentials(userid, password)
  File "/usr/lib/python2.7/site-packages/rest_framework/authentication.py", line 95, in authenticate_credentials
    user = authenticate(**credentials)
  File "/usr/lib/python2.7/site-packages/django/contrib/auth/__init__.py", line 74, in authenticate
    user = backend.authenticate(**credentials)
  File "/usr/lib/python2.7/site-packages/django/contrib/auth/backends.py", line 17, in authenticate
    user = UserModel._default_manager.get_by_natural_key(username)
  File "/usr/lib/python2.7/site-packages/django/contrib/auth/models.py", line 162, in get_by_natural_key
    return self.get(**{self.model.USERNAME_FIELD: username})
  File "/usr/lib/python2.7/site-packages/django/db/models/manager.py", line 127, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/django/db/models/query.py", line 328, in get
    num = len(clone)
  File "/usr/lib/python2.7/site-packages/django/db/models/query.py", line 144, in __len__
    self._fetch_all()
  File "/usr/lib/python2.7/site-packages/django/db/models/query.py", line 965, in _fetch_all
    self._result_cache = list(self.iterator())
  File "/usr/lib/python2.7/site-packages/django/db/models/query.py", line 238, in iterator
    results = compiler.execute_sql()
  File "/usr/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 829, in execute_sql
    sql, params = self.as_sql()
  File "/usr/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 387, in as_sql
    where, w_params = self.compile(self.query.where)
  File "/usr/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 357, in compile
    sql, params = node.as_sql(self, self.connection)
  File "/usr/lib/python2.7/site-packages/django/db/models/sql/where.py", line 104, in as_sql
    sql, params = compiler.compile(child)
  File "/usr/lib/python2.7/site-packages/django/db/models/sql/compiler.py", line 357, in compile
    sql, params = node.as_sql(self, self.connection)
  File "/usr/lib/python2.7/site-packages/django/db/models/lookups.py", line 218, in as_sql
    lhs_sql, params = self.process_lhs(compiler, connection)
  File "/usr/lib/python2.7/site-packages/django/db/models/lookups.py", line 211, in process_lhs
    db_type = self.lhs.output_field.db_type(connection=connection)
  File "/usr/lib/python2.7/site-packages/django/db/models/fields/__init__.py", line 614, in db_type
    return connection.data_types[self.get_internal_type()] % data
  File "/usr/lib/python2.7/site-packages/django/utils/functional.py", line 59, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/usr/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 196, in data_types
    if self.features.supports_microsecond_precision:
  File "/usr/lib/python2.7/site-packages/django/utils/functional.py", line 59, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/usr/lib/python2.7/site-packages/django/db/backends/mysql/features.py", line 52, in supports_microsecond_precision
    return self.connection.mysql_version >= (5, 6, 4) and Database.version_info >= (1, 2, 5)
  File "/usr/lib/python2.7/site-packages/django/utils/functional.py", line 59, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/usr/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 371, in mysql_version
    with self.temporary_connection():
  File "/usr/lib64/python2.7/contextlib.py", line 17, in __enter__
    return self.gen.next()
  File "/usr/lib/python2.7/site-packages/django/db/backends/base/base.py", line 462, in temporary_connection
    cursor = self.cursor()
  File "/usr/lib/python2.7/site-packages/django/db/backends/base/base.py", line 164, in cursor
    cursor = self.make_cursor(self._cursor())
  File "/usr/lib/python2.7/site-packages/django/db/backends/base/base.py", line 135, in _cursor
    self.ensure_connection()
  File "/usr/lib/python2.7/site-packages/django/db/backends/base/base.py", line 130, in ensure_connection
    self.connect()
  File "/usr/lib/python2.7/site-packages/django/db/utils.py", line 98, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/usr/lib/python2.7/site-packages/django/db/backends/base/base.py", line 130, in ensure_connection
    self.connect()
  File "/usr/lib/python2.7/site-packages/django/db/backends/base/base.py", line 119, in connect
    self.connection = self.get_new_connection(conn_params)
  File "/usr/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 276, in get_new_connection
    conn = Database.connect(**conn_params)
  File "/usr/lib64/python2.7/site-packages/MySQLdb/__init__.py", line 81, in Connect
    return Connection(*args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/MySQLdb/connections.py", line 193, in __init__
    super(Connection, self).__init__(*args, **kwargs2)
OperationalError: (2003, "Can't connect to MySQL server on ... (110)")
AaronTHolt commented 4 years ago

Can't reproduce anymore.