Browse Source

Fix Metrics for Oracle DPI errors (#3944)

Jira: CDPD-77746

Testing:
Manually tested and was also tested at customer end.
Mahesh Balakrishnan 10 months ago
parent
commit
5b20c541d9
2 changed files with 6 additions and 6 deletions
  1. 3 3
      apps/useradmin/src/useradmin/metrics.py
  2. 3 3
      desktop/core/src/desktop/metrics.py

+ 3 - 3
apps/useradmin/src/useradmin/metrics.py

@@ -18,7 +18,7 @@ import logging
 from datetime import datetime, timedelta
 
 from django.db import connection
-from django.db.utils import OperationalError
+from django.db.utils import DatabaseError, OperationalError
 from prometheus_client import Gauge
 
 from desktop.lib.metrics import global_registry
@@ -35,7 +35,7 @@ def active_users():
         first_login=False,
         hostname__isnull=False
     ).count()
-  except OperationalError as oe:
+  except (OperationalError, DatabaseError) as oe:
     LOG.debug('active_users recovering from %s' % str(oe))
     connection.close()
     connection.connect()
@@ -67,7 +67,7 @@ def active_users_per_instance():
   try:
     count = UserProfile.objects.filter(last_activity__gt=datetime.now() - timedelta(hours=1),
                                        hostname=get_localhost_name()).count()
-  except OperationalError as oe:
+  except (OperationalError, DatabaseError) as oe:
     LOG.debug('active_users_per_instance recovering from %s' % str(oe))
     connection.close()
     connection.connect()

+ 3 - 3
desktop/core/src/desktop/metrics.py

@@ -24,7 +24,7 @@ from builtins import range
 from datetime import datetime, timedelta
 
 from django.db import connection
-from django.db.utils import OperationalError
+from django.db.utils import DatabaseError, OperationalError
 from future import standard_library
 from prometheus_client import REGISTRY, Gauge
 
@@ -149,7 +149,7 @@ def user_count():
   users = 0
   try:
     users = User.objects.count()
-  except OperationalError as oe:
+  except (OperationalError, DatabaseError) as oe:
     LOG.debug('user_count recovering from %s' % str(oe))
     connection.close()
     connection.connect()
@@ -207,7 +207,7 @@ def num_of_queries():
       is_history=True,
       last_modified__gt=datetime.now() - timedelta(minutes=10)
     ).count()
-  except OperationalError as oe:
+  except (OperationalError, DatabaseError) as oe:
     LOG.debug('num_of_queries recovering from %s' % str(oe))
     connection.close()
     connection.connect()