[ 
https://issues.apache.org/jira/browse/DRILL-5872?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16202718#comment-16202718
 ] 

Paul Rogers commented on DRILL-5872:
------------------------------------

The code that sets the total cost into the profile gets it from the physical 
plan. Thus, it is likely that the physical plan itself has NaN values as cost.

Now, the physical plan is also serialized using Jackson. So, if the plan has 
NaN, and Jackson can't deserialize them in the query profile, then Jackson 
won't be able to deserialize the physical plan as well.

Given this, we should do two fixes:

1. Protective fix in the code that sets the total cost into the query profile.

2. Fix the storage plugin that is providing the planner with NaN values.

This fix will solve the first one; the storage plugin author must fix the 
second issue.

> Deserialization of profile JSON fails due to totalCost being reported as "NaN"
> ------------------------------------------------------------------------------
>
>                 Key: DRILL-5872
>                 URL: https://issues.apache.org/jira/browse/DRILL-5872
>             Project: Apache Drill
>          Issue Type: Bug
>    Affects Versions: 1.12.0
>            Reporter: Kunal Khatua
>            Assignee: Paul Rogers
>            Priority: Blocker
>             Fix For: 1.12.0
>
>
> With DRILL-5716 , there is a change in the protobuf that introduces a new 
> attribute in the JSON document that Drill uses to interpret and render the 
> profile's details. 
> The totalCost attribute, used as a part of showing the query cost (to 
> understand how it was assign to small/large queue), sometimes returns a 
> non-numeric text value {{"NaN"}}. 
> This breaks the UI with the messages:
> {code}
> Failed to get profiles:
> unable to deserialize value at key 2620698f-295e-f8d3-3ab7-01792b0f2669
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to