Atualização auto-hospedada para 3.1.0.beta2 com instalação típica multi-container requer tempo de inatividade extra

Gostaria de repetir que eu não estava usando o atualizador gráfico. Eu tenho uma instalação multi-container. Eu fiz:

git pull
./launcher bootstrap app
./launcher destroy app && ./launcher start app
./launcher cleanup

(Eu uso app para o aplicativo web mesmo para instalações multi-container. Eu sei que não é a prática normal. Eu odeio digitar web_only)

Algum tempo depois que eu iniciei o bootstrap e antes de destruir o aplicativo, a versão antiga rodando contra o novo banco de dados mostrou apenas uma tela de erro. Eu não me lembro do conteúdo, e eu não criei uma interrupção mais longa parando para tirar um print screen antes de fazer o destroy/start, mas era apenas texto em branco e não era a página de manutenção do sistema. Eu vi isso apenas algumas vezes antes, que quando o bootstrap executa db:migrate como parte da reconstrução assíncrona de “zero downtime”, o software antigo ainda rodando falha devido a uma inconsistência de esquema.

O que eu vi foi o que quer que aconteça no caso de inconsistência do banco de dados. Isso é muito melhor do que continuar pacificamente, quebrando o banco de dados! Quando eu postei, foi para avisar que este era um daqueles casos raros em que a aplicação de uma atualização pontual (aqui de 3.1.0.beta1 para 3.1.0.beta2) criou uma incompatibilidade de esquema entre o código 3.1.0.beta1 e o banco de dados após a execução do db:migrate do 3.1.0.beta2, como acontece raramente, mas ocasionalmente com as atualizações normais de baixa interrupção na implantação multi-container.

Minha experiência é diferente do erro que foi relatado com ruby no atualizador gráfico. É um problema completamente não relacionado. Reconheço que minha postagem foi movida do anúncio para um tópico geral de “problemas com”, mas quero deixar claro que o motivo pelo qual a postei no anúncio foi para avisar outros auto-hospedeiros como eu quando eles vissem o anúncio que esta atualização em particular era uma que poderia ter este impacto.

Minha mensagem não foi uma reclamação sobre um bug, ou mesmo um problema. Foi destinada apenas como um aviso de um caso normal, mas infrequente, associado a esta versão em particular e não destacado nas notas de lançamento.

As reclamações sobre o gerenciador docker não reconhecer que ele não pode atualizar de dentro da imagem são completamente não relacionadas à minha tentativa de fornecer uma notificação útil para outros administradores de auto-hospedagem.

Faria muito sentido separar essas questões não relacionadas em tópicos independentes para problemas independentes. EDIT por @supermathie: Feito

1 curtida