Github user kkhatua commented on a diff in the pull request:

    https://github.com/apache/drill/pull/742#discussion_r99975093
  
    --- Diff: 
exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/profile/OperatorWrapper.java
 ---
    @@ -163,11 +165,18 @@ public String getMetricsTable() {
               null);
     
           final Number[] values = new Number[metricNames.length];
    +      //Track new/Unknown Metrics
    +      final Set<Integer> unknownMetrics = new TreeSet<Integer>();
           for (final MetricValue metric : op.getMetricList()) {
    -        if (metric.hasLongValue()) {
    -          values[metric.getMetricId()] = metric.getLongValue();
    -        } else if (metric.hasDoubleValue()) {
    -          values[metric.getMetricId()] = metric.getDoubleValue();
    +        if (metric.getMetricId() < metricNames.length) {
    +          if (metric.hasLongValue()) {
    +            values[metric.getMetricId()] = metric.getLongValue();
    +          } else if (metric.hasDoubleValue()) {
    +            values[metric.getMetricId()] = metric.getDoubleValue();
    +          }
    +        } else {
    +          //Tracking unknown metric IDs
    +          unknownMetrics.add(metric.getMetricId());
    --- End diff --
    
    The unknownMetrics set is built incase we want to use this list of metrics 
to do something. I tried logging by publishing the number of unknown metrics 
found, but the problem is that it floods the log. A fix could be to do 
something to publish it just once per rendering of the page. But either way, it 
has no real value. 
    For me, the unknown metric IDs existed because the profile was created from 
a prototype/forked Drill version. It would be nice if the registry of these IDs 
was part of the profile, but that is a separate problem. 
    The simplest suggestion from @parthchandra and @sudheeshkatkam was to 
ignore these metrics for now. The expectation is that elements of the profile 
which are unknown to the rendering version of Drill should never break the UI. 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to