GitHub user rusackas edited a comment on the discussion: Roadmap to SQLAlchemy 2

#42542 merged and covers the driver dual-compat prep for step 6: bumped what 
could bump, and added `known_incompatibilities` metadata (now rendered in docs) 
for the ones that can't, Aurora Data API, D1, Kusto, Solr.

I also tried the flask-sqlalchemy 3.0.5 bump in that same PR and had to revert 
it. Real CI turned up widespread NoneType errors across 
dashboards/security/tasks tests plus MySQL lock timeouts, capped below 3.0 for 
now. Dug into it more since, and I don't think it's our session handling at 
all, it's a gap in Flask-AppBuilder's own FSA-3.x shim: `base_legacy.py` 
rebinds our models onto FAB's `declarative_base()` via 
`create_session()`/`get_bind()` overrides, `base.py` (the FSA 3.x version) 
drops all of that and never passes `model_class=` to `SQLA(app)`. Flagged it on 
#39278 and asked dpgaspar directly since he wrote FAB.

Also caught two more models missing `cascade_backrefs=False` from step 2's 
sweep, SSHTunnel and the two report models. #42787 has that fix, tests green.

So step 6's driver prep is done but the actual core bump is still blocked on 
the FAB gap getting resolved one way or another.

[EDIT]

Correction on the FAB theory from my last comment. Tested it directly in #42789 
(draft, now closed), confirmed the registries actually do get unified with 
`model_class=` wired through, and the exact same CI failures happened anyway. 
So that wasn't it.

Pulled real failure logs this time instead of the summary. `db.session.bind` is 
`None` outright at the point of failure, and a query right after a fixture sets 
up its data comes back empty. That's back to FSA 3.0's actual session-scoping 
change being the real suspect, not a registry mismatch. Going to dig into where 
the bind resolution actually breaks down before claiming a theory again.

GitHub link: 
https://github.com/apache/superset/discussions/40273#discussioncomment-17901962

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: 
[email protected]


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

Reply via email to