Anos atrás, quando o sistema que usávamos na empresa ainda era feito em Clipper (desenvolvimento interno), havia uma pequena via crucis quando era necessário reindexar as tabelas: O usuário X reclamava que o sistema estava com problemas, eu verificava que seria necessário fazer a reindaxação, enviava para toda a rede um aviso de que seria necessário sair do sistema, ficava mais cinco minutos mandando a mesma mensagem, ligava para alguns usuários teimosos, e quando finalmente conseguia que todos saíssem, algum usuário sem-noção tentava entrar no sistema NO MEIO da reindexação, detonando TODO o banco de dados.
Quando finalmente foi liberado o orçamento para que um desenvolvedor mexesse no sistema, a primeira alteração (que eu ‘convenientemente’ considerei como crítica) foi criar uma maneira de impedir que usuários usassem o sistema ou até mesmo tentassem acessá-lo, quando fosse necessário reiniciar. O desenvolvedor surgiu com uma idéia simples: sempre que fosse necessário reindexar o banco de dados, era só criar um arquivo ‘para.txt‘ (que ‘pararia’ o sistema, sacaram? hã? hã?) que o sistema automagicamente expulsaria os usuários quando eles tentassem acessar alguma nova tela, e os impediria de entrar.
Alteração aplicada, fiz todos os testes, e funcionou perfeitamente. Para evitar problemas, apenas algumas poucas pessoas ficaram sabendo dessa nova função, assim não aconteceria de alguém criar um arquivo de parada só para causar problemas à empresa. Tudo transcorreu bem, até o fechamento do mês: do nada, o sistema começou a expulsar todo mundo durante a geração dos relatórios finais. E, não importava o quanto eu apagasse o para.txt, ele sempre voltava, poucos minutos depois.
Acusações pipocavam de todos os lados. Seria possível que alguém tivesse descoberto sobre esse arquivo? E estaria esse alguém aproveitando para causar danos à empresa? Mas… quem teria contado?
Com os ânimos exaltados, resolvi partir para a única solução: desliguei a rede, e deixei apenas uma máquina ligada ao servidor, para realizar o fechamento do mês. E lá estava o para.txt, surgindo do nada, em toda sua graça. Algumas horas depois de muita investigação, consegui descobrir o problema:
Durante o fechamento, eram impressos vários relatórios, entre eles alguns que eram divididos por cada estado/região do Brasil. O programador original do sistema, por motivos que nunca entenderei, achou que seria interessante criar um arquivo de texto com o conteúdo a ser impresso, enviar para a impressora, e logo depois apagar o arquivo. Como se a falta de noção não bastasse, ele não usou nomes aleatórios ou coisa do tipo para gerar os arquivos: no caso dos estados, era o nome do estado mesmo, sem acentos ou espaços.
Inclusive um arquivo chamado…. para.txt

-.-’
Que coincidência hein! Quais as chances disso acontecer?
A lei de Murphy não perdoa.
putz… masoquistas… não seria mais barato desenvolver um novo que ter toda essa dor de cabeça sempre?
Documentação do sistema dever ser no esquema tb neh… hueheu
Tá, fazer o sistema deslogar todo mundo baseado na existencia de um arquivo txt não foi exatamente uma idéia inteligente, para começo de conversa…
uahuahauhauhauahuha , infelizmente posso ver cenas como esta acontecendo em QUALQUER lugar!
Documentação não é produto nem pra gerente nem pra cliente, por isso o desenvolvedor tem mais é que se f… kkkk triste realidade essa