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

Zhijie Shen commented on YARN-2819:
-----------------------------------

I've done the following experiments locally:

1. Run timeline server 2.5 to generate the old timeline data without domainId 
field in leveldb.

2. Run timeline server 2.6 (current trunk actually), and try to update the old 
entity and relate to it. I can reproduce the same NPE as is mentioned in the 
description.

3. Run timeline server 2.6 with the attached patch, and try to update the old 
entity and relate to it. The problem is gone.

> NPE in ATS Timeline Domains when upgrading from 2.4 to 2.6
> ----------------------------------------------------------
>
>                 Key: YARN-2819
>                 URL: https://issues.apache.org/jira/browse/YARN-2819
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: timelineserver
>    Affects Versions: 2.6.0
>            Reporter: Gopal V
>            Assignee: Zhijie Shen
>            Priority: Critical
>              Labels: Upgrade
>         Attachments: YARN-2819.1.patch
>
>
> {code}
> Caused by: java.lang.NullPointerException
>         at java.lang.String.<init>(String.java:554)
>         at 
> org.apache.hadoop.yarn.server.timeline.LeveldbTimelineStore.put(LeveldbTimelineStore.java:873)
>         at 
> org.apache.hadoop.yarn.server.timeline.LeveldbTimelineStore.put(LeveldbTimelineStore.java:1014)
>         at 
> org.apache.hadoop.yarn.server.timeline.TimelineDataManager.postEntities(TimelineDataManager.java:330)
>         at 
> org.apache.hadoop.yarn.server.timeline.webapp.TimelineWebServices.postEntities(TimelineWebServices.java:260)
> {code}
> triggered by 
> {code}
> entity.getRelatedEntities();
> ...
>             } else {
>               byte[] domainIdBytes = db.get(createDomainIdKey(
>                   relatedEntityId, relatedEntityType, 
> relatedEntityStartTime));
>               // This is the existing entity
>               String domainId = new String(domainIdBytes);
>               if (!domainId.equals(entity.getDomainId())) {
> {code}
> The new String(domainIdBytes); throws an NPE.



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

Reply via email to