Painless validation returning null giving exception

Hello everyone,

I'm building a painless script for a scripted field, but when I do a check for null using size() (the validation method recommended for Kibana 7.1.0), I'm getting exception error:

Request to Elasticsearch failed: {"error":{"root_cause":[{"type":"script_exception","reason":"compile error","script_stack":["... , retorna null\n return null;\n}"," ^---- HERE"],"script":"if (doc['obrigacao_prazo_cumprimento'].size() == 0){ // Se não houver prazo, retorna null\n return null;\n}","lang":"painless"}],"type":"search_phase_execution_exception","reason":"all shards failed","phase":"query","grouped":true,"failed_shards":[{"shard":0,"index":"vv_106_tarefas","node":"EqfbZ7UtS8aorpsDs5pF_A","reason":{"type":"script_exception","reason":"compile error","script_stack":["... , retorna null\n return null;\n}"," ^---- HERE"],"script":"if (doc['obrigacao_prazo_cumprimento'].size() == 0){ // Se não houver prazo, retorna null\n return null;\n}","lang":"painless","caused_by":{"type":"illegal_argument_exception","reason":"Cannot cast null to a primitive type [double]."}}}]},"status":400}

This is the script:

if (doc['obrigacao_prazo_cumprimento'].size() == 0){ 
   return null;
}

There is more on the script, but this line is the first one and is breaking.

The field is a date and returns a number.

Can someone help me solve this?
Thanks

It might be easier to start with a really simple script and work from there.

What does the following script return?

if (doc['obrigacao_prazo_cumprimento'].size() == 0){ 
   return null;
}
return doc['obrigacao_prazo_cumprimento'].value

Thanks... I've got here... It was a cache problem that wasn't updating the script.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.