Skip to content

Commit

Permalink
adding logging to validation
Browse files Browse the repository at this point in the history
  • Loading branch information
AAfghahi committed Aug 31, 2021
1 parent 62d8ab7 commit eb77e7f
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -908,14 +908,14 @@ const DatabaseModal: FunctionComponent<DatabaseModalProps> = ({
/>
);
}

const message: Array<string> = Object.values(dbErrors);
const message: Array<string> | null =
typeof dbErrors === 'object' ? Object.values(dbErrors) : null;
return (
<Alert
type="error"
css={(theme: SupersetTheme) => antDErrorAlertStyles(theme)}
message="Database Creation Error"
description={message[0]}
description={message?.[0] || dbErrors}
/>
);
};
Expand Down
4 changes: 4 additions & 0 deletions superset/databases/commands/test_connection.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,10 @@ def run(self) -> None:
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)
Expand Down
2 changes: 2 additions & 0 deletions superset/databases/commands/validate.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
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"}
Expand Down Expand Up @@ -89,6 +90,7 @@ def run(self) -> None:
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", "{}")
Expand Down

0 comments on commit eb77e7f

Please sign in to comment.