hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Varun Saxena (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-4210) HBase reader throws NPE if Get returns no rows
Date Tue, 29 Sep 2015 13:34:05 GMT

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

Varun Saxena commented on YARN-4210:
------------------------------------

Moreover, there are couple of other issues I noticed while going through the code.
# I cannot see ResultScanner#close being called in xxxEntityReader classes. Depending on number
of queries going on in parallel, this may become an issue at server side. Server will expire
the scanner after a configured lease interval if close is not called explicitly.
# Also is FlowActivityEntityReader#readEntities required ? TimelineEntityReader#readEntities
should suffice. In TimelineEntityReader#readEntities though we can check when we reach the
limit instead of going over limit and then calling pollLast. In short follow same approach
as FlowActivityEntityReader,

cc [~sjlee0], [~vrushalic], [~jrottinghuis].

> 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
>
>
> 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}



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

Mime
View raw message