Open glaubervila opened 1 week ago
@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.
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.
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.
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: