[ 
https://issues.apache.org/jira/browse/AMBARI-16949?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jungtaek Lim updated AMBARI-16949:
----------------------------------
    Description: 
When we request '/ws/v1/timeline/metrics' with metric name which contains %25 
(escaped '%'), response for the API is json describing there's NPE.

And NPE is logged for ambari-metrics-collector log file.

{code}
2016-05-30 09:15:05,061 WARN 
org.apache.hadoop.yarn.webapp.GenericExceptionHandler: INTERNAL_SERVER_ERROR
java.lang.NullPointerException
        at 
org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.PhoenixHBaseAccessor.appendAggregateMetricFromResultSet(PhoenixHBaseAccessor.java:810)
        at 
org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.PhoenixHBaseAccessor.getAggregateMetricRecords(PhoenixHBaseAccessor.java:772)
        at 
org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.HBaseTimelineMetricStore.getTimelineMetrics(HBaseTimelineMetricStore.java:178)
        at 
org.apache.hadoop.yarn.server.applicationhistoryservice.webapp.TimelineWebServices.getTimelineMetrics(TimelineWebServices.java:372)
        at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
{code}

Reason of NPE: 
Metrics are properly fetched with wildcard. But when applying functions to 
result set, actual metric name is not exist from map of metric name to list of 
function.

  was:
When we request '/ws/v1/timeline/metrics' with metric name which contains %25 
(escaped '%'), response for the API is json describing there's NPE.

And NPE is logged for ambari-metrics-collector log file.

{code}
2016-05-30 09:15:05,061 WARN 
org.apache.hadoop.yarn.webapp.GenericExceptionHandler: INTERNAL_SERVER_ERROR
java.lang.NullPointerException
        at 
org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.PhoenixHBaseAccessor.appendAggregateMetricFromResultSet(PhoenixHBaseAccessor.java:810)
        at 
org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.PhoenixHBaseAccessor.getAggregateMetricRecords(PhoenixHBaseAccessor.java:772)
        at 
org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.HBaseTimelineMetricStore.getTimelineMetrics(HBaseTimelineMetricStore.java:178)
        at 
org.apache.hadoop.yarn.server.applicationhistoryservice.webapp.TimelineWebServices.getTimelineMetrics(TimelineWebServices.java:372)
        at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
{code}


> Metrics Collector API shows NPE if we use wildcard (%25 for '%') for metric 
> name
> --------------------------------------------------------------------------------
>
>                 Key: AMBARI-16949
>                 URL: https://issues.apache.org/jira/browse/AMBARI-16949
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-metrics
>    Affects Versions: 2.4.0
>            Reporter: Jungtaek Lim
>
> When we request '/ws/v1/timeline/metrics' with metric name which contains %25 
> (escaped '%'), response for the API is json describing there's NPE.
> And NPE is logged for ambari-metrics-collector log file.
> {code}
> 2016-05-30 09:15:05,061 WARN 
> org.apache.hadoop.yarn.webapp.GenericExceptionHandler: INTERNAL_SERVER_ERROR
> java.lang.NullPointerException
>       at 
> org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.PhoenixHBaseAccessor.appendAggregateMetricFromResultSet(PhoenixHBaseAccessor.java:810)
>       at 
> org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.PhoenixHBaseAccessor.getAggregateMetricRecords(PhoenixHBaseAccessor.java:772)
>       at 
> org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.HBaseTimelineMetricStore.getTimelineMetrics(HBaseTimelineMetricStore.java:178)
>       at 
> org.apache.hadoop.yarn.server.applicationhistoryservice.webapp.TimelineWebServices.getTimelineMetrics(TimelineWebServices.java:372)
>       at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source)
> {code}
> Reason of NPE: 
> Metrics are properly fetched with wildcard. But when applying functions to 
> result set, actual metric name is not exist from map of metric name to list 
> of function.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to