@startuml{seq.png} actor Client participant Rails participant "Connection pool" as cp participant "active_recode_mysql_xverify" as armx participant MySQL Client -> Rails : Request activate Rails Rails -> MySQL : Query activate MySQL group neg Rails <-- MySQL : "read-only" error happen! deactivate MySQL Client <-- Rails : Error deactivate Rails end Client -> Rails : Request activate Rails Rails -> cp : checkout activate cp cp -> armx : active? activate armx armx -> MySQL : Fetch "innodb_read_only" activate MySQL armx <-- MySQL : "ON" deactivate MySQL cp <-- armx : false deactivate armx cp --> MySQL : reconnect! activate MySQL deactivate MySQL Rails <-- cp : Connection deactivate cp @enduml