O bug de performance mais caro da história
· 8 min
Em 1º de agosto de 2012, a Knight Capital Group, uma das maiores market makers da bolsa de Nova York na época, fez o deploy de um software novo de negociação pouco antes da abertura do mercado. Quarenta e cinco minutos depois, a empresa quase quebrou.

Um deploy em 8 servidores, mas só 7 receberam o código novo
O deploy foi feito em 8 servidores de produção, mas um deles não recebeu a atualização de verdade, continuou rodando código antigo, ligado a uma funcionalidade chamada "Power Peg" que estava desativada e sem uso havia quase oito anos.
Uma flag reaproveitada acordou o código morto
O software novo reaproveitou uma flag que o código antigo e adormecido daquele oitavo servidor ainda interpretava como gatilho pra sua própria lógica obsoleta. Assim que o mercado abriu e o fluxo real de ordens começou a chegar, esse único servidor passou a executar a rotina antiga sobre ordens de verdade.
45 minutos sem trava de segurança que parasse a tempo
O código morto comprou e vendeu ações de cerca de 150 empresas repetidamente, de forma rápida e errática, e levou cerca de 45 minutos até a equipe identificar a origem e conseguir interromper o processo, nenhuma trava automática dos próprios sistemas da Knight pegou o problema a tempo.
O custo: perto de US$ 440 milhões antes de impostos
A Knight Capital reportou um prejuízo de cerca de US$ 440 milhões antes de impostos por causa do incidente, o suficiente pra colocar a solvência da empresa em risco e levar à sua aquisição poucos meses depois, encerrando sua trajetória como empresa independente.
A lição que sobrevive ao caso específico
A falha não foi um bug de lógica no código novo, foi um processo de deploy que permitiu estado inconsistente entre servidores (um em oito rodando código diferente dos outros) sem nenhuma etapa de verificação capaz de pegar essa divergência antes dela tocar tráfego real. Esse tipo de falha não tem nada a ver com o mercado financeiro especificamente, e tudo a ver com como deploys são verificados.