[RUBY] Erreur MYSQL Lock TimeOut inconnue lors de l'exécution de RSpec sur le conteneur

Donnez-vous-le dans le passé, ce qui est trop maladroit.

Cause

--Cause 1. Lors de l'exécution du test sur le conteneur, le débogage etc. a été effectué en arrêtant l'exécution avec binding pry.

--Cause 2. Probablement, ** sans arrêter le conteneur ** (arrêté avec le levier de liaison), ** lancez un nouveau terminal et relancez le test. ** **

--Cause 3. Dans un état où les conteneurs sont encombrés et ** plusieurs conteneurs tentent de falsifier la table de la même base de données en raison de la création de données de test, etc. au même moment **.

Image Capture d'écran 2020-06-13 16.32.25.png

――En conséquence, ce qui a été causé

Mysql2::Error::TimeoutError: Lock wait timeout exceeded

Solution

--Supprimez le conteneur avec docker-compose kill target container. (Ou, si le test a été exécuté avec docker-compose run --rm rspec etc., il sera automatiquement détruit par docker-compose stop target container)

Commandements

Ne pensez pas que vous êtes trop maladroit dans le passé, ** détruisez le terminal sans arrêter le conteneur et exécutez le conteneur dans le nouveau terminal. ** **

Recommended Posts

Erreur MYSQL Lock TimeOut inconnue lors de l'exécution de RSpec sur le conteneur
J'obtiens Mysql2 :: Error :: ConnectionError dans l'environnement de production