You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by be...@apache.org on 2021/09/13 23:11:17 UTC

[superset] branch master updated: feat: adding logging to validation (#16527)

This is an automated email from the ASF dual-hosted git repository.

beto pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git


The following commit(s) were added to refs/heads/master by this push:
     new 376c685  feat: adding logging to validation (#16527)
376c685 is described below

commit 376c685838f6c5bf90132106b9acb66b45256487
Author: AAfghahi <48...@users.noreply.github.com>
AuthorDate: Mon Sep 13 19:09:40 2021 -0400

    feat: adding logging to validation (#16527)
    
    * adding logging to validation
    
    * Update superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx
    
    Co-authored-by: Beto Dealmeida <ro...@dealmeida.net>
    
    Co-authored-by: Beto Dealmeida <ro...@dealmeida.net>
---
 .../src/views/CRUD/data/database/DatabaseModal/index.tsx            | 6 +++---
 superset/databases/commands/test_connection.py                      | 4 ++++
 superset/databases/commands/validate.py                             | 2 ++
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx b/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx
index 55bceb7..82db9e7 100644
--- a/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx
+++ b/superset-frontend/src/views/CRUD/data/database/DatabaseModal/index.tsx
@@ -908,14 +908,14 @@ const DatabaseModal: FunctionComponent<DatabaseModalProps> = ({
         />
       );
     }
-
-    const message: Array<string> = Object.values(dbErrors);
+    const message: Array<string> =
+      typeof dbErrors === 'object' ? Object.values(dbErrors) : [];
     return (
       <Alert
         type="error"
         css={(theme: SupersetTheme) => antDErrorAlertStyles(theme)}
         message="Database Creation Error"
-        description={message[0]}
+        description={message?.[0] || dbErrors}
       />
     );
   };
diff --git a/superset/databases/commands/test_connection.py b/superset/databases/commands/test_connection.py
index 7b2f4da..2d44bed 100644
--- a/superset/databases/commands/test_connection.py
+++ b/superset/databases/commands/test_connection.py
@@ -72,6 +72,10 @@ class TestConnectionDatabaseCommand(BaseCommand):
             database.db_engine_spec.mutate_db_for_connection_test(database)
             username = self._actor.username if self._actor is not None else None
             engine = database.get_sqla_engine(user_name=username)
+            event_logger.log_with_context(
+                action="test_connection_attempt",
+                engine=database.db_engine_spec.__name__,
+            )
             with closing(engine.raw_connection()) as conn:
                 try:
                     alive = engine.dialect.do_ping(conn)
diff --git a/superset/databases/commands/validate.py b/superset/databases/commands/validate.py
index 27633d2..e2dcc58 100644
--- a/superset/databases/commands/validate.py
+++ b/superset/databases/commands/validate.py
@@ -33,6 +33,7 @@ from superset.databases.dao import DatabaseDAO
 from superset.db_engine_specs import get_engine_specs
 from superset.db_engine_specs.base import BasicParametersMixin
 from superset.errors import ErrorLevel, SupersetError, SupersetErrorType
+from superset.extensions import event_logger
 from superset.models.core import Database
 
 BYPASS_VALIDATION_ENGINES = {"bigquery"}
@@ -89,6 +90,7 @@ class ValidateDatabaseParametersCommand(BaseCommand):
             self._properties.get("parameters", {})
         )
         if errors:
+            event_logger.log_with_context(action="validation_error", engine=engine)
             raise InvalidParametersError(errors)
 
         serialized_encrypted_extra = self._properties.get("encrypted_extra", "{}")