Skip to content

Registra e recupera logs ilegíveis na versão 2.3.6 - #141

Merged
pitangainnovare merged 7 commits into
scieloorg:mainfrom
pitangainnovare:fix/unreadable-log-files-v2.3.6
Sep 5, 2026
Merged

Registra e recupera logs ilegíveis na versão 2.3.6#141
pitangainnovare merged 7 commits into
scieloorg:mainfrom
pitangainnovare:fix/unreadable-log-files-v2.3.6

Conversation

@pitangainnovare

@pitangainnovare pitangainnovare commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

O que esse PR faz?

Registra logs ilegíveis como ERR, impede que sejam enviados ao parser e os recupera automaticamente quando o arquivo volta a ser legível. Também expõe as contagens por estado na listagem dos relatórios e atualiza a aplicação para 2.3.6.

Arquivos legíveis reprovados pelo validator permanecem INV; o sufixo -error não interfere na classificação.

Este PR depende da publicação de scielo_log_validator 2.0.2 pelo PR scieloorg/scielo_log_validator#22.

Onde a revisão poderia começar?

Em log_manager/services/catalog.py, seguido de log_manager/services/validation.py e log_manager/models.py.

Como este poderia ser testado manualmente?

  1. Disponibilize um gzip corrompido em um diretório de coleção.
  2. Execute Search sem Validation automática e confirme um único LogFile em ERR, com validation.file_error.
  3. Confirme que o arquivo não é selecionado pelo parser.
  4. Substitua-o por um gzip válido no mesmo caminho e execute Search novamente.
  5. Confirme que o mesmo registro volta a CRE, sem duplicidade.
  6. Execute Validation e confirme QUE para conteúdo válido ou INV para conteúdo legível reprovado.

Testes automatizados executados com o checkout local do validator 2.0.2:

docker compose -f local.yml run --rm \
  -v /caminho/scielo_log_validator:/validator \
  -e PYTHONPATH=/validator django pytest -q

Resultado local: 214 aprovados e 2 ignorados. makemigrations --check --dry-run: nenhuma mudança detectada.

Algum cenário de contexto que queira dar?

Arquivos gzip corrompidos falhavam durante o cálculo do hash, antes da criação de LogFile. Eles não apareciam em total_files ou errored_files e o responsável pela coleção não era informado.

Caminhos registrados com erro de leitura são reconsiderados mesmo depois de saírem da janela diária de ctime, permitindo recuperação automática após a correção do arquivo.

Screenshots

Não aplicável.

Quais são os tickets relevantes?

Não há ticket associado.

Referências


Segurança da informação (NSI.04)

Este PR manipula dados sensíveis ou pessoais (LGPD)?

  • Não

Este PR altera autenticação, autorização, controle de acesso ou gerenciamento de sessão?

  • Não

Este PR introduz, atualiza ou remove dependências de terceiros?

  • Sim — atualiza uma dependência interna SciELO para scielo_log_validator 2.0.2.
    • Pendente de publicação e validação pelo pipeline do projeto; não adiciona nova dependência externa.

Este PR foi validado pelo pipeline de segurança (SonarQube / Trivy)?

  • Não aplicável localmente; será validado pelo pipeline do PR.

Este PR concatena, monta ou executa comandos SQL, HTML ou JavaScript a partir de entrada externa?

  • Não

Este PR expõe novos endpoints, telas ou serviços?

  • Não

Algum segredo, senha, chave ou token está sendo adicionado ao código-fonte?

  • Não, nenhum segredo foi commitado

@pitangainnovare
pitangainnovare force-pushed the fix/unreadable-log-files-v2.3.6 branch from 4899f21 to 2f77f3a Compare September 5, 2026 19:46
@pitangainnovare
pitangainnovare force-pushed the fix/unreadable-log-files-v2.3.6 branch from 2f77f3a to f44679e Compare September 5, 2026 19:47
@pitangainnovare

Copy link
Copy Markdown
Contributor Author

O check pytest está vermelho exclusivamente porque o build tenta instalar scielo_log_validator@2.0.2, tag que será criada após a avaliação/incorporação do PR scieloorg/scielo_log_validator#22. A suíte completa foi executada localmente com o checkout correspondente: 214 testes aprovados e 2 ignorados. Mantive este PR como draft e a dependência apontando para o repositório/tag definitivos, sem referência temporária ao fork.

@pitangainnovare
pitangainnovare marked this pull request as ready for review September 5, 2026 19:59
@pitangainnovare
pitangainnovare merged commit d3f485b into scieloorg:main Sep 5, 2026
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant