Migração de servidor
Scheduled Maintenance Report for MenheraBot
Postmortem

Perda de dados do dia 14/02/2024

Durante a migração de ontem, o backup que foi instalado no novo servidor da Menhera era um backup um dia atrasado. Como consequência, todos os comandos usados entre 14/02 às 08:00 até 15/02 às 02:00 foram perdidos.

Como foi identificado

No servidor de suporte da Menhera, usuários falaram que plantações que deveriam estar colhidas, estavam apodrecidas. Também reportaram perda de temas, e perda de estrelinhas. Quando fui ver as transações da Menhera, foi visível um jump entre dados do dia 14 e dia 15. A última transação registrada foi em 14 de fevereiro às 07:59:21, depois disso, apenas às 02:55:53.

O que falhou

A Menhera possui um Crontab que faz o backup dos bancos de dados às 5 horas da manhã. Por uma falha minha, achei que o horário do servidor antigo era UTC + 0, porém a máquina estava com o horário CST. Por conta disso, os backups aconteciam às 8 horas da manhã (horário de Brasília). Como o horário estava para as 5 da manhã, e eu imaginava que o horário do servidor estavam em UTC, o backup deveria ser feito às 02:00. Nesse período, desativei comandos para não haver discrepância de dados entre os backups.

Para acelerar o restore do banco de dados, aguardei o “fim do backup” (que é cerca de 10 segundos para dumpar o banco + 20 minutos de compressão). Apenas para garantir, esperei 40 minutos antes de enviar o backup para o novo servidor. A nova hospedagem da Menhera fica na mesma infraestrutura da antiga, portanto envio de arquivos entre os servidores é MUITO rápida.

Normalmente, para realizar o restore do banco, eu baixo o arquivo de onde guardo os backups. Como isso demoraria mais do que apenas enviar os arquivos entre servidores, foi isso que fiz. A minha falha foi nesse momento, ao achar que o backup havia terminado, já enviei os arquivos entre as máquinas, sem validar se o backup era o correto. Eu mantenho o último backup gerado no servidor ainda, então o backup que estava lá era o de um dia antes, e não o daquele momento.

Próximos passos

Para evitar que casos como esse voltem a acontecer, melhorei tanto o script de backup, quanto o horário do cron. No novo servidor, a Menhera segue UTC -3, e o Cron foi configurado para rodar as 4 da manhã do horário de Brasília. Além disso, o novo script de backup melhorou os logs de todo o processo de backup.

Peço minhas sinceras desculpas a todos os usuários afetados. Reforço que os dados não foram “perdidos“, eles apenas voltaram no tempo. Se você gastou 500 estrelinhas no dia 14, no início do dia 15 suas estrelinhas voltaram para sua conta, e o que você comprou também foi removido do perfil.

Posted Feb 15, 2024 - 16:57 GMT-03:00

Completed
The scheduled maintenance has been completed.
Posted Feb 15, 2024 - 03:39 GMT-03:00
Verifying
A manutenção foi finalizada. Comandos estão funcionando.

Estou apenas verificando todos os sistemas que a Menhera usa, apenas para ter certeza de que não deixei nada passar
Posted Feb 15, 2024 - 03:03 GMT-03:00
In progress
A manutenção iniciou. Comandos estão desabilitados para não haver discrepância de dados
Posted Feb 15, 2024 - 02:06 GMT-03:00
Scheduled
A Menhera vai mudar de servidor. Durante a migração, comandos estarão desabilitados para não haver divergência de dados com o backup. Durante toda a janela de manutenção, comandos podem falhar.
Posted Feb 14, 2024 - 06:46 GMT-03:00
This scheduled maintenance affected: MenheraBot, API, Vangogh, Álbum, and Amandinha.