YuriyKrasilnikov commented on PR #37516: URL: https://github.com/apache/superset/pull/37516#issuecomment-3813905618
## CI Failures Analysis ### 1. pre-commit (current/next/previous) yarn registry returned 500 Internal Server Error — infrastructure issue, unrelated to this PR. ### 2. sharded-jest-tests (7) Jest worker crash on `DatasourceControl.test.tsx` — flaky test, unrelated to this PR. ### 3. Python Integration Tests (test-sqlite, test-mysql, test-postgres) **Problem:** ``` FAILED tests/integration_tests/base_api_tests.py::TestOpenApiSpec::test_open_api_spec OpenAPIValidationError: None for not nullable ``` **Root cause:** `ChartDataTimingSchema` uses `Nested` field with `allow_none=True`. Superset uses `apispec==6.6.1` which has a bug with nullable nested schemas. **References:** - [apispec #952](https://github.com/marshmallow-code/apispec/issues/952) — fixed in 6.7.1 - [apispec #955](https://github.com/marshmallow-code/apispec/issues/955) — fixed in 6.8.0 **Options:** | Option | Description | Pro | Con | |--------|-------------|-----|-----| | 1 | Upgrade `apispec` to 6.8.0+ | Fixes root cause | Requires separate PR, out of scope | | 2 | Make `timing` always present | Simple fix, timing is always computed anyway | Field cannot be null | | 3 | Replace `Nested` with `fields.Dict()` | Field can be nullable | OpenAPI docs show generic "object" instead of field details | Which option is preferred? -- 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. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
