Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Erro no registro dos resultados #1101

Open
glaubervila opened this issue Nov 6, 2024 · 1 comment
Open

Erro no registro dos resultados #1101

glaubervila opened this issue Nov 6, 2024 · 1 comment
Assignees
Labels
bug Something isn't working

Comments

@glaubervila
Copy link
Contributor

Achei alguns casos em que o pipeline de predição falha ao registrar os resultados da predição.

A mensagem de erro que aparece no submit_task.log é generica informando que name não pode ser null.

2024-11-06 12:43:38,428 [ERROR] Asteroid [2010 BH122] Failed in Ingest Occultations stage. Error: (psycopg2.errors.NotNullViolation) null value in column "name" violates not-null

Mas a causa real do problema está na função path_coeff do pipeline. qualquer erro que aconteça nessa função o arquivo de predições occultation_table.csv é gerado incompleto o que causa a falha no registro.
O Correto é tratar para que caso esta função falhe em alguma das operações ela não crie o csv das predições.
O Csv só deve ser criado caso a função execute com sucesso.

Neste exemplo, a causa do erro foi uma operação entre um campo Null e um inteiro.

PRAIA OCC is Done!
Occultation table created: [/tmp/02d05/occultation_table.csv]
Occultation File Path: [/tmp/02d05/occultation_table.csv]
Calculating path coef
Failed in Path Coef stage. Error: '<' not supported between instances of 'NoneType' and 'int'
Predict Occultation Done in 0:00:33.433305

Mas tem outros casos como os do **** no resultado do praia. a principio pelo que eu entendi qualquer erro que a função tenha vai resultar em csv mal formado. nestes casos o ideal é não ter o csv.

O portal considera:

  • CSV com resultados e valido: Sucesso na predição
  • CSV vazio ( somente header ): Sucesso na predição
  • CSV sem arquivo csv: Falha na predição.
@glaubervila
Copy link
Contributor Author

@rcboufleur Identifiquei o problema para este caso especifico de operação entre None e Int.
O problema é causado pelo fato do asteroid ter seu atributo h como nulo e durante a função path_coef são feitos 2 testes comparando este atributo h < 99 e h > 99 o que causa o erro. eu tratei utilizando uma checagem antes da operação mas não sei o impacto nos resultados.

Arquivo occ_path_coeff.py

Linha 233:

# Antes
if  obj_data["h"] < 99:
# DEPOIS
if (obj_data["h"] is not None and obj_data["h"] < 99):

Linha 454

# Antes
if obj_data["h"] > 99:
# DEPOIS
if obj_data["h"] is not None and obj_data["h"] > 99:

IMPORTANTE
Está correção está no branch manage_bsps atenção caso vá corrigir o mesmo erro direto em main ou quando for fazer o merge deste branch.

@glaubervila glaubervila added the bug Something isn't working label Nov 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants