Во время использования MySql (Aurora) я начал замечать странные запросы, пропавшие без вести, а рабочие просто зависали навсегда.После некоторого исследования кажется, что тот же код, работающий в AWS, в порядке, но в Azure он просто зависает навсегда!
Похоже, причина в том, что Azure просто убивает соединения, которые простаивают (например, длительный запрос)).Обратите внимание, что я могу воспроизвести это на виртуальной машине, у которой даже нет балансировщика нагрузки.
Это воспроизводимо со следующими date && time mysql -h$SERVER -u$USER -D mydb -p$PASS -e "SELECT SLEEP(260);"
Обратите внимание, что я проверил его с 240, 250 и 260, он умирает.Но не просто умирает, а висит навсегда!Похоже, Azure даже не удосужился сказать сокету, чтобы клиент MySql завис.
У нас есть запросы, выполняющиеся из NodeJs и Python, поэтому мне нужно решение, которое работает в обоих случаях, если это возможно.
См. Здесь хороший пример: https://imgur.com/gallery/FCV8ZWb (обратите внимание, у меня былоубить mysql в другом сеансе для его фактического выпуска)