Gate MySqlSession::WhenReconnect is called when connection to DB is lost at the start of request, only at transaction level 0 (but Begin is request, so it can it).
MySqlSession::Reconnect reconnects DB with the same parameters as submitted to commit.
MySqlSession::AutoReconnect simply assigns Reconnect to WhenReconnect...