Open techieravishah opened 3 months ago
Hey @techieravishah! I'm here to help you with the issue you're facing. I'm a bot that can assist with bug fixes, answer questions, and guide you on becoming a contributor. Let's tackle this together!
The error message "POST /api/v1/dataset/ HTTP/1.1" 422 indicates a validation issue with the data being sent to create the dataset. The 422 status code means "Unprocessable Entity," which typically points to validation errors in the request payload.
To diagnose and resolve this issue, follow these steps:
Ensure Correct JSON Payload: Verify that the JSON payload sent to the /api/v1/dataset/
endpoint is correctly formatted and contains all required fields. The DatasetPostSchema
class defines the required fields and their validation rules:
class DatasetPostSchema(Schema):
database = fields.Integer(required=True)
catalog = fields.String(allow_none=True, validate=Length(0, 250))
schema = fields.String(allow_none=True, validate=Length(0, 250))
table_name = fields.String(required=True, allow_none=False, validate=Length(1, 250))
sql = fields.String(allow_none=True)
owners = fields.List(fields.Integer())
is_managed_externally = fields.Boolean(allow_none=True, dump_default=False)
external_url = fields.String(allow_none=True)
normalize_columns = fields.Boolean(load_default=False)
always_filter_main_dttm = fields.Boolean(load_default=False)
Check Server Logs: Look for detailed error messages in the server logs that might provide more context about why the dataset creation failed.
Enable Detailed Logging: To capture more information, enable detailed logging by setting the logger level to DEBUG
for the relevant module. You can do this by adding the following configuration:
import logging
# Set the logger for the specific module to DEBUG level
logging.getLogger('superset.datasets.api').setLevel(logging.DEBUG)
You can place this configuration in your main application setup or configuration file where the logging is initialized.
Known Issues: There are known issues in Superset 4.0.2 related to dataset creation that might cause a 422
error due to DatasetInvalidError
or DatasetCreateFailedError
during the dataset creation process [1].
By following these steps, you should be able to identify and resolve the issue causing the 422
error during dataset creation.
To continue talking to Dosu, mention @dosu.
Bug description
Hi Team,
I recently installed Superset 4.0.2 with MYSQL as database. Both of them are installed in the same VM. I have one database that I need to use to generate dashboards. We tried creating datasets but unable to create one.
How to reproduce the bug
Installed Superset 4.0.2 + MYSQL8
OS - Linux Ubuntu 22.04 LTS
Logged in as an admin in superset. Navigate to Settings -> Database Connections -> Added a MYSQL Database -
Connection was successful.
Navigated to Datasets -> Clicked on +Dataset
Selected Database, Schema, Table
Clicked on Create Dataset and Create Chart
Got redirected to Charts screen, there I was unable to select the dataset.
Not sure, what is the issue. The only thing I was able to see in logs is - "POST /api/v1/dataset/ HTTP/1.1" 422
Can anyone assist with this errors?
Screenshots/recordings
No response
Superset version
master / latest-dev
Python version
I don't know
Node version
I don't know
Browser
Chrome
Additional context
No response
Checklist