|
Is there some specific scenario where we get a crash?
While it's not officially "supported", there is actually a lot of code to try to make replication from new master to old slave work as much as possible. If the application uses a new feature on the master that's not available on the slave, then yes it will probably not work. But that is not the common scenario I think, usually it will be some time between upgrading the master and upgrading the application to use new features.
Look at the MARIADB_SLAVE_CAPABILITY_* constants in sql/log_event.h. And in send_event_to_slave() in sql/sql_repl.cc, it has logic to omit events or even replace them with dummy Query events if the slave does not understand them.
However, it looks like no MARIADB_SLAVE_CAPABILITY_* constants have been added since 10.0, I wonder if new replication features in 10.4+ have not properly implemented this? That would be quite bad, and should be fixed.
|