aminghadersohi opened a new pull request, #44287: URL: https://github.com/apache/superset/pull/44287
### SUMMARY Select `pinotdb[sqlalchemy]>=8.0.0,<10.0.0` instead of bare `pinotdb>=5.0.0,<10.0.0`. The first published version allowed by the old range is5.1.0; versions through7.0.0 declare SQLAlchemy>=1.4,<2 **in their optional `[sqlalchemy]` extra**. Version8.0.0 first declares SQLAlchemy>=2,<3. Selecting the extra lets the resolver enforce the dialect's support contract. This is a declared-support floor, **not a claim that the old bare requirement causes an unconditional resolver conflict or that every old runtime operation fails**. Add optional regressions checking extra-conditioned dependency metadata and socket-free engine construction/parameter compilation for `pinot://`, `pinot+http://`, and `pinot+https://`. Document the requirement in metadata, its regenerated documentation field, and UPDATING.md. No dev lock change: Pinot is not part of the development install. Independent [SC-121012](https://app.shortcut.com/preset/story/121012) slice of [SC-120252](https://app.shortcut.com/preset/story/120252). Shell #4935 already owns its9.1.2 upgrade; SC-121005/upstreampinot-dbapi#241 owns schema-qualified SQL and SC-121007 owns reflected DECIMAL/BYTES/multivalue behavior. Those runtime defects are explicitly not fixed here. ### TESTING INSTRUCTIONS - `uv pip install --dry-run 'pinotdb[sqlalchemy]==7.0.0' 'sqlalchemy==2.0.52'` fails at the selected extra's `<2` constraint. - Python3.11 / SQLAlchemy2.0.52 / greenlet3.5.5 / exactpinotdb8.0.0: `pytest -q tests/unit_tests/db_engine_specs/test_pinot.py` — **10 passed**. Independently rerun; final pinned-greenlet run also10. - Bare7.0.0 old control underSQLAlchemy2: the three new tests reject the declared metadata at the intended version assertion (not an asserted runtime failure). - Staged pre-commit: all applicable hooks pass, including mypy/Ruff/pylint/metadata validation. Generated docs field verified, unrelated drift excluded. Evidence limits: the optional tests skip if Pinot is absent, including defaultCI. The inherited `dbapi()` warning on HTTPS is not a failure. Exact8.0.0 pins urllib3==2.6.0, so it does **not** coexist with the unchanged base lock's urllib3==2.7.0; this is not exact-lock/image qualification. The allowed range includes9.1.2, which pinsurllib3==2.7.0. No base pin is lowered. No live8 broker/controller, TLS/authentication, reflection, or production-image qualification is claimed. ### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF Not applicable. ### ADDITIONAL INFORMATION - [x] Has associated issue: [SC-121012](https://app.shortcut.com/preset/story/121012) - [ ] Required feature flags: - [ ] Changes UI - [ ] Includes DB Migration (follow approval process in [SIP-59](https://github.com/apache/superset/issues/13351)) - [ ] Migration is atomic, supports rollback & is backwards-compatible - [ ] Confirm DB migration upgrade and downgrade tested - [ ] Runtime estimates and downtime expectations provided - [ ] Introduces new feature or API - [ ] Removes existing feature or API -- 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]
