You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ambari.apache.org by "Dmytro Sen (JIRA)" <ji...@apache.org> on 2015/09/09 17:50:46 UTC

[jira] [Created] (AMBARI-13049) AMS: IOException: maxStamp is smaller than minStamp

Dmytro Sen created AMBARI-13049:
-----------------------------------

             Summary: AMS: IOException: maxStamp is smaller than minStamp
                 Key: AMBARI-13049
                 URL: https://issues.apache.org/jira/browse/AMBARI-13049
             Project: Ambari
          Issue Type: Bug
          Components: ambari-metrics
    Affects Versions: 2.1.2
            Reporter: Dmytro Sen
            Assignee: Dmytro Sen
            Priority: Critical
             Fix For: 2.1.2


AMS responses with exception
{noformat}
{
exception: "RuntimeException"
message: "java.io.IOException: maxStamp is smaller than minStamp"
javaClassName: "java.lang.RuntimeException"
}
{noformat}
to the request
http://ams-host:6188/ws/v1/timeline/metrics?metricNames=cpu_system&appId=HOST&hostname=host1&startTime=1441141200000&endTime=1441142880000

ambari-metrics-collector.log contains
{code}
 20:28:30,860  WARN [2081437567@qtp-24334184-377] GenericExceptionHandler:98 - INTERNAL_SERVER_ERROR
java.lang.RuntimeException: java.io.IOException: maxStamp is smaller than minStamp
        at org.apache.phoenix.util.ScanUtil.setTimeRange(ScanUtil.java:253)
        at org.apache.phoenix.execute.BaseQueryPlan.iterator(BaseQueryPlan.java:188)
        at org.apache.phoenix.execute.BaseQueryPlan.iterator(BaseQueryPlan.java:155)
        at org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:220)
        at org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:211)
        at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
        at org.apache.phoenix.jdbc.PhoenixStatement.executeQuery(PhoenixStatement.java:210)
        at org.apache.phoenix.jdbc.PhoenixPreparedStatement.executeQuery(PhoenixPreparedStatement.java:183)
        at org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.PhoenixHBaseAccessor.getMetricRecords(PhoenixHBaseAccessor.java:420)
        at org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.HBaseTimelineMetricStore.getTimelineMetrics(HBaseTimelineMetricStore.java:154)
        at org.apache.hadoop.yarn.server.applicationhistoryservice.webapp.TimelineWebServices.getTimelineMetrics(TimelineWebServices.java:372)
        at sun.reflect.GeneratedMethodAccessor38.invoke(Unknown Source)
{code}

1. AMS should have a check in PhoenixHBaseAccessor.getMetricRecords() if  maxStamp >= minStamp before running a query
2. AMS shouldn't throw an IOException to the response, if the exception catched, the response should contain an empty metrics array.




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