Acabamos de encontrar um mau funcionamento peculiar com dados de inserção do MySQL, mas as linhas que ele estava inserindo não foram salvas e as IDs inseridas eram de linhas inseridas há 20 registros atrás (o que significa aproximadamente 20 minutos em nossa taxa).
1) Nosso aplicativo processa uma solicitação e insere vários registros. Nenhum erro foi lançado durante esse processo. Há uma série de inserções acontecendo aqui, 8 ou 9 conectadas através do FK.
No final de cada solicitação, enviamos um relatório por e-mail que inclui informações sobre a solicitação, como os IDs inseridos.
2) Eu recebi um desses relatórios de e-mail e fui verificar isso procurando por ID. O ID era para um registro completamente diferente inserido há cerca de 20 minutos. Eu vasculho o banco de dados e a nova linha "real" não parece estar lá, ou qualquer uma das tabelas relacionadas.
3) Isso acontece cerca de 8 vezes antes de eu decidir dar um tiro no escuro e reiniciar o MySQL. O próximo pedido e tudo desde então foi processado normalmente - aparentemente o problema se corrigiu.
Então, minha pergunta é o que poderia ter causado isso e como posso verificar se há evidência de uma possível falha? Eu teria adivinhado uma falha de hardware de algum tipo, mas há alguma maneira de confirmar isso?
Versão do MySQL: 5.1.62-0ubuntu0.10.04.1-log
Tags mysql