Diga seu nome, demônio!

Hoje foi um dia interessante porque um amigo querido, sysadmin como eu, estava enfrentando uma questão de leak de memória no serviço de XMPP do ecossistema que ele administra.

Ficamos num “ping pong” de idéias sobre o que poderia estar gerando aquele comportamento. A princípio o Prosody não demanda muitos recursos mas, no caso dele, o serviço estava “leakando” de tal forma que comprometia o ambiente como um todo onde o serviço está alocado.

Analisa gráfico daqui, analisa gráfico dali, avalia o que houve de mudança recente no ambiente – nenhuma identificada -, avalia se o volume de sessões server to server e client to server estavam estourando e tal… nada. Nadinha. Nadica.

Lembro de um pequeno diálogo em que o Blake (personagem do filme Batman – O Cavaleiro das Trevas Ressurge) conversa com o Comissário Gordon. Blake diz: “mas senhor, eu não entendo nada de construções”… e o Comissário responde: “mas você pode entender de padrões! Agora você é meu detetive e não mais oficial de patrulha”.

Isso é bem real…. quando a gente vai acumulando horas de vôo na nossa profissão ou num hobby a gente vai aprendendo a juntar conexões, padrões e saber alguns caminhos que invariavelmente ajudam a diagnosticar os problemas mais cabeludos e misteriosos.

Depois de alguns papos no canal XMPP a respeito do misterioso leak, o amigo foi pela abordagem de começar a descarregar os módulos extras do Prosody que foram adicionados mais recentemente… e PÁ! Parece que uma luz apareceu e o “demônio deu sinais de qual era seu nome”!

Nem foi preciso chamar o Exorcista do Papa, Signore Gabriele Amorth (interpretado por Russel Crowe)… o amigo foi o próprio Leak Exorcist da vez 🙂

E o nome do demônio? Parece que era mod_cloud_notify_extensions 😈