Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
2.6.0
Description
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)
triggered by
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())) {
The new String(domainIdBytes); throws an NPE.
The NPE happens because the data integrity assumes that no entity has a null domainId. However, if leveldb already contains the timeline data that are generated by prior 2.6 timeline server, the integrity is broken. Previously, the entity doesn't have the domain information. Will work on a fix to be compatible to the existing store.