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

Varun Saxena updated YARN-4210:
-------------------------------
    Description: 
This JIRA handles multiple issues.

* If HBase Get does not fetch any rows for the query, we still try to parse the 
result and read fields. This leads to NPE while reading metrics. We should not 
attempt to read anything if no row is returned i.e. result is empty.
Found during web UI poc testing. 
{noformat}
2015-09-29 20:22:32,027 ERROR [95336304@qtp-1814206058-0] 
reader.TimelineReaderWebServices 
(TimelineReaderWebServices.java:handleException(199)) - Error while processing 
REST request
java.lang.NullPointerException
        at 
org.apache.hadoop.yarn.server.timelineservice.storage.common.ColumnHelper.readResultsWithTimestamps(ColumnHelper.java:176)
        at 
org.apache.hadoop.yarn.server.timelineservice.storage.flow.FlowRunColumnPrefix.readResultsWithTimestamps(FlowRunColumnPrefix.java:182)
        at 
org.apache.hadoop.yarn.server.timelineservice.storage.TimelineEntityReader.readMetrics(TimelineEntityReader.java:212)
        at 
org.apache.hadoop.yarn.server.timelineservice.storage.FlowRunEntityReader.parseEntity(FlowRunEntityReader.java:136)
        at 
org.apache.hadoop.yarn.server.timelineservice.storage.TimelineEntityReader.readEntity(TimelineEntityReader.java:137)
        at 
org.apache.hadoop.yarn.server.timelineservice.storage.HBaseTimelineReaderImpl.getEntity(HBaseTimelineReaderImpl.java:72)
        at 
org.apache.hadoop.yarn.server.timelineservice.reader.TimelineReaderManager.getEntity(TimelineReaderManager.java:93)
        at 
org.apache.hadoop.yarn.server.timelineservice.reader.TimelineReaderWebServices.getFlowRun(TimelineReaderWebServices.java:403)

{noformat}

* ResultScanner is not closed in HBase Reader.

* Exception 

  was:
If HBase Get does not fetch any rows for the query, we still try to parse the 
result and read fields. This leads to NPE while reading metrics. We should not 
attempt to read anything if no row is returned i.e. result is empty.
Found during web UI poc testing. 
{noformat}
2015-09-29 20:22:32,027 ERROR [95336304@qtp-1814206058-0] 
reader.TimelineReaderWebServices 
(TimelineReaderWebServices.java:handleException(199)) - Error while processing 
REST request
java.lang.NullPointerException
        at 
org.apache.hadoop.yarn.server.timelineservice.storage.common.ColumnHelper.readResultsWithTimestamps(ColumnHelper.java:176)
        at 
org.apache.hadoop.yarn.server.timelineservice.storage.flow.FlowRunColumnPrefix.readResultsWithTimestamps(FlowRunColumnPrefix.java:182)
        at 
org.apache.hadoop.yarn.server.timelineservice.storage.TimelineEntityReader.readMetrics(TimelineEntityReader.java:212)
        at 
org.apache.hadoop.yarn.server.timelineservice.storage.FlowRunEntityReader.parseEntity(FlowRunEntityReader.java:136)
        at 
org.apache.hadoop.yarn.server.timelineservice.storage.TimelineEntityReader.readEntity(TimelineEntityReader.java:137)
        at 
org.apache.hadoop.yarn.server.timelineservice.storage.HBaseTimelineReaderImpl.getEntity(HBaseTimelineReaderImpl.java:72)
        at 
org.apache.hadoop.yarn.server.timelineservice.reader.TimelineReaderManager.getEntity(TimelineReaderManager.java:93)
        at 
org.apache.hadoop.yarn.server.timelineservice.reader.TimelineReaderWebServices.getFlowRun(TimelineReaderWebServices.java:403)

{noformat}


> HBase reader throws NPE if Get returns no rows
> ----------------------------------------------
>
>                 Key: YARN-4210
>                 URL: https://issues.apache.org/jira/browse/YARN-4210
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: timelineserver
>    Affects Versions: YARN-2928
>            Reporter: Varun Saxena
>            Assignee: Varun Saxena
>         Attachments: YARN-4210-YARN-2928.01.patch, 
> YARN-4210-YARN-2928.02.patch, YARN-4210-YARN-2928.03.patch
>
>
> This JIRA handles multiple issues.
> * If HBase Get does not fetch any rows for the query, we still try to parse 
> the result and read fields. This leads to NPE while reading metrics. We 
> should not attempt to read anything if no row is returned i.e. result is 
> empty.
> Found during web UI poc testing. 
> {noformat}
> 2015-09-29 20:22:32,027 ERROR [95336304@qtp-1814206058-0] 
> reader.TimelineReaderWebServices 
> (TimelineReaderWebServices.java:handleException(199)) - Error while 
> processing REST request
> java.lang.NullPointerException
>         at 
> org.apache.hadoop.yarn.server.timelineservice.storage.common.ColumnHelper.readResultsWithTimestamps(ColumnHelper.java:176)
>         at 
> org.apache.hadoop.yarn.server.timelineservice.storage.flow.FlowRunColumnPrefix.readResultsWithTimestamps(FlowRunColumnPrefix.java:182)
>         at 
> org.apache.hadoop.yarn.server.timelineservice.storage.TimelineEntityReader.readMetrics(TimelineEntityReader.java:212)
>         at 
> org.apache.hadoop.yarn.server.timelineservice.storage.FlowRunEntityReader.parseEntity(FlowRunEntityReader.java:136)
>         at 
> org.apache.hadoop.yarn.server.timelineservice.storage.TimelineEntityReader.readEntity(TimelineEntityReader.java:137)
>         at 
> org.apache.hadoop.yarn.server.timelineservice.storage.HBaseTimelineReaderImpl.getEntity(HBaseTimelineReaderImpl.java:72)
>         at 
> org.apache.hadoop.yarn.server.timelineservice.reader.TimelineReaderManager.getEntity(TimelineReaderManager.java:93)
>         at 
> org.apache.hadoop.yarn.server.timelineservice.reader.TimelineReaderWebServices.getFlowRun(TimelineReaderWebServices.java:403)
> {noformat}
> * ResultScanner is not closed in HBase Reader.
> * Exception 



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

Reply via email to