Um Sysadmin Cansado
POLITICA, ANÁLISE

Comentários (incompletos) sobre o Post mortem do TSE no Primeiro turno das Eleições 2020

O TSE em nota à imprensa divulgou uma nota técnica sobre o incidente do atraso no primeiro turno das eleições de 2020. Abaixo deixo uma cópia do documento no momento em que lí e minha perspectiva sobre o assunto, trecho-a-trecho. Lembrando que estas são impressões pessoais e sujeitas ao que se conhece no escopo do documento citado - salvo quando fato histórico citado no meio do texto.

TSE-nota-tecnica-eleicoes-2020.pdf

1) O sistema da Oracle não é a única partícula nesta equação, segundo o próprio item “[n]a arquitetura descentralizada, o fato de existir um banco de dados e um servidor de aplicações local em um computador em cada TRE aumenta o leque de potenciais ataques ao ambiente, que podem ser mitigados com a localização física destas máquinas no ambiente do TSE.

2) Até as declarações que o Barroso levantou na noite da eleição não tinha como relacionar corretamente qual era o sistema danificado na equação. O fato do TSE ter licitado uma solução da Oracle não garante que seja a única aplicação usada na solução e também foi isso que quis dizer em algumas discussões quando disse que alguns comentários ignoraram a complexidade de ambiente (Talvez tivesse tido muito sarcasmo? Talvez. Disgurpa, a internet das pessoas físicas é assim).

3) Ainda falando do momento pré-post mortem, quando se culpa Um processador por atraso - ainda mais considerando que a solução de banco de nabos (risos) tinha caráter de cloud - não deveria afetar da maneira que afetou a apuração. Lembrando que em eleições passadas, usualmente o resultado ficava disponível por volta de 4h depois do pleito e esse tempo aumentou pra algo próximo do dobro (Já que os resultados foram somados em quase totalidade somente perto da meia noite - quase 7h depois do término do pleito). Um processador queimado dobraria mesmo o tempo de apuração? E daqui já parte a suspeita de que a informação dada até o momento era INCORRETA OU IMPRECISA. E por isso bati na tecla de que não dava pra falar nada até soltarem um post mortem. Este ponto sobre especulação pré-post mortem também gerou discussões acaloradas pela Internet.

4) “De acordo com o Contrato TSE nº 22/2020, os serviços foram contratados diretamente, por inexigibilidade de licitação, com base no art. 25, inciso I, da Lei nº 8.666/93(lei das licitações), que prevê que é inexigível a licitação quando houver inviabilidade de competição, tendo em vista a existência de fornecedor exclusivo.

Neste sentido minha opinião é ressonante com a perspectiva do Sergio Amadeu da Silveira.

5) “No caso do TSE, a contratação em prestação de serviço “Cloud at Customer” é composta de dois supercomputadores (um principal e um redundante),e a Oracle fornece todos os softwares de banco de dados e presta serviços de suporte e atualização dos produtos.

Aqui temos um problema, pois realmente o Banco de Nabos da Oracle só pode ser vendido por ela, mas uma solução Cloud, não. Existem mais de um fornecedor de infraestrutura para Cloud disponíveis no Brasil. E ainda que falemos somente em banco de dados, existem também mais de uma empresa que provê banco de dados que suportam a magnitude dos dados que o TSE tem (IBM está na lista, por exemplo). Então este princípio da inexigibilidade foi adotado incorretamente. Sem fanboysismo por Oracle x IBM x SAP e outros players, a lei é essa e não foi adequadamente observada.

6) “O contrato assinado em março de 2020 previa o prazo de 70 dias para a entrega dos equipamentos ao TSE, que deveriam, portanto, ter chegado no início de junho de 2020. Emr azão da pandemia da Covid-19, porém, a Oracle –assim como as demais empresas de tecnologia do mundo -foi afetada pela ausência de peças eletrônicas e indisponibilidade de dispositivos. Por isso, a entrega do equipamento se deu com cerca de um mês de atraso, em 17 de julho de 2020.
+
Cinco testes de totalização foram planejados para as Eleições 2020 pela equipe técnica do tribunal. Porém, em razão do atraso na entrega provocado pela pandemia e do cronograma de testes, apenas os dois últimos foram feitos com o equipamento Oracle.

Até aqui, tudo certo, porém não era o caso então de pedir o atraso das Eleições? Quem acatou que somente dois testes eram suficientes acatou o risco de alterar a especificação inicial do projeto. Se fosse bobagem observar este ponto, não haveria impacto no dia da Eleição.

7) “Por meio do contrato, a Oracle disponibiliza ao TSE um servidor principal “Exadata X8 Full Rack”, com oito nós (núcleos) de processamento, e um “Exadata X8 Half Rack”, com quatro nós de processamento.
+
Durante a totalização dos votos no dia 15/11,observou-se o desligamento de um dos oito nós de processamento do servidor principal.

Há um problema de ordem lógica aqui. A falha foi em um dos processadores, mas pelo tempo que a eleição levou para ser calculada, não foi somente um processador que foi DESCONECTADO, mesmo que somente um deles tenha sido danificado. Ai temos o seguinte: Na função de um pleito eleitoral do tamanho que é, quem diabos coloca redundância assimétrica nessa joça? O que a TI do TSE tem na cabeça? O resultado é ruido que deu. A TI do TSE ignorou inclusive que uma falha nesses sistemas tem uma implicação POLITICA grave (E tá ai os comentários de todos os partidos políticos e da pressão política sobre o pleito - que já não era pouca). Dado o nível dos profissionais que esperava-se ter nesta solução acho sim os chamar de retardados algo no mínimo justo - embora pouco pólido.

8) “Posteriormente, porém, constatou-seque a falha no nó não teve relação direta e imediata com a demora da totalização, tendo em vista que, com o desligamento de um dos nós,o equipamento foi capaz de redistribuir de forma automática a carga para os demais nós de processamento sem impacto no desempenho e disponibilidade.No entanto, ao supor inicialmente que essa falha poderia ter originado a demora na totalização, a equipe da Secretaria de Tecnologia da Informação (STI) do TSE dedicou os seus esforços à verificação desse problema e ao restabelecimento do funcionamento do nó, atrasando a identificação da causa direta do problema a ser solucionado para maior celeridade na contabilização. Por isso, a STI entende que, de forma indireta, o episódio contribuiu para o atraso na divulgação dos resultados.

Se um nó meio rack com 4 processadores era suficiente e não causaria atraso (Hipótese levantada ao dizer que o desligamento e redistribuição de carga não causou impacto no desempenho e na disponibilidade), porque então compraram o nó principal com 8 cores? Então ou a compra foi além do que devia (Se realmente eles estão certos nessa afirmação) ou foi aquém do que devia (No caso dessa afirmação ser um truque de palavras - que é meu credo nesse sentido).

Nos dois casos, MÁ ESPECIFICAÇÃO de solução.

Ainda sobre o fato dos técnicos debruçados no problema terem atrasado a identificação do problema, então o cluster tinha que ser operado manualmente? Esperava mais numa solução desse porte (Veja que novamente, a critica e a acidez dela é dimensionada para o tamanho do que se esperava, não para as pessoas físicas envolvidas no processo).

9) “O TSE informa que, nesta terça-feira (17/11), a equipe da Oracle identificou problema na memória do nó que falhou no domingo e realizou a devida troca do nó defeituoso, de modo que o equipamento se encontra plenamente funcional.

Speechless. Além do sistema não ter convergência automática (E soma-se a sabotagem da fase de testes conforme apontei no item 6, depender de convergência manual e de ter um cluster assimétrico - ainda não conseguiram identificar a tempo e hora se o problema era CPU ou Memória? Ademais, 3 dias para substituição de peças? Ninguém colocou spare in loco para esse cluster não?

10) “No domingo, após o restabelecimento do nó com o suporte da equipe da Oracle, que,inclusive, tinha representantes presente no TSE, verificou-se que a lentidão prosseguia. Ao realizar os esforços de apurar a causa do incidente, a Tecnologia da Informação identificou que a lentidão foi ocasionada por recurso de inteligência artificial existente em um otimizador do banco de dados Oracle,que garante o processamento veloz.

Sabe o item 6? Teriam pego isso lá e o próprio documento admite isso:

Porém, isso poderia ter sido evitado com a realização de testes para calibrar o otimizador. Novos planos de execução foram gerados ao longo da totalização, mas se mostraram ineficientes diante do crescimento do volume de dados.

11) “Equipes técnicas do TSE e da Oracle entendem que a falha no plano de execução no primeiro turno não se repetirá no segundo turno, em 29 de novembro, tendo em vista que o otimizador já está calibrado para processar um volume maior de informações de forma célere.No entanto, até o dia 29 de novembro, toda a equipe está focada na definição de providências para evitar incidente semelhante na apuração e totalização dos resultados do segundo turno.

O TSE e a Oracle vão completar os 3 testes + a validação do que houve no primeiro turno até o dia 29?

Minha conclusão: