etr2460 commented on a change in pull request #10274:
URL: 
https://github.com/apache/incubator-superset/pull/10274#discussion_r454036509



##########
File path: superset/errors.py
##########
@@ -46,6 +47,23 @@ class SupersetErrorType(str, Enum):
     DATASOURCE_SECURITY_ACCESS_ERROR = "DATASOURCE_SECURITY_ACCESS_ERROR"
     MISSING_OWNERSHIP_ERROR = "MISSING_OWNERSHIP_ERROR"
 
+    # Other errors
+    BACKEND_TIMEOUT_ERROR = "BACKEND_TIMEOUT_ERROR"
+
+
+ERROR_TYPES_TO_ERROR_CODES_MAPPING = {
+    SupersetErrorType.BACKEND_TIMEOUT_ERROR: [
+        {
+            "code": 1000,
+            "message": _("Error 1000 - The datasource is too large to query."),
+        },
+        {
+            "code": 1001,
+            "message": _("Error 1001 - The database is under an unusual 
load."),
+        },
+    ]
+}

Review comment:
       I think this again points to the differentiation between the actual 
error and potential root causes. In this case, `Error 1001` might be the root 
cause for many different errors (a timeout error, a generic DB error, a 503/504 
from the db engine, etc.). That was the reason for splitting them into two 
different structures. However, I agree it's getting into a zone of too many 
different abstraction layers with both the error_type and the error_codes...
   
   @steejay, this is something where your thoughts would be helpful: e.g. what 
relationship do you see between error types and the in product user facing 
error codes?




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to