Hi!
Not strictly so - we don't *need* to send the redirect information in the middle of the session. The session can just be dropped, and when clients automatically reconnect they will get the error message (if old client software) or do an automatic redirect to the new server (if https://github.com/MariaDB/server/pull/2681 is merged).
Automatic reconnect is disabled by default, so applications would just stop unless the reconnect option was enabled or they execute reconnect. (MySQL 8.1 already deprecated automatic reconnect).
All apps that run 24/7 have automatic reconnect, and will always have. It would not make sense for an app to stop running just because a database connection once got dropped for whatever reason. MySQL 8.1 is indeed removing the transparent automatic reconnect in their connector C [1], and it has been deprecated already in latest 8.0.34, but that isn't because the pattern of automatic reconnect goes away, they just want to make it always visible to the layer above managing the db connection (typically some ORM or programming language MySQL library, connection pool etc). The point still stands that changing the server from saying "sorry, can't do your query, try again" to "sorry, can't take your query, try again at this address" is nicely backwards compatible and has known behavior implications on all apps and connectors using the database, and that this would be a clean and robust way to do redirects and achieve e.g. near zero second failover. [1] https://dev.mysql.com/doc/c-api/8.0/en/c-api-auto-reconnect.html