diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/timeline/MemoryTimelineStore.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/timeline/MemoryTimelineStore.java index 2d126b4..af714b1 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/timeline/MemoryTimelineStore.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/main/java/org/apache/hadoop/yarn/server/timeline/MemoryTimelineStore.java @@ -241,6 +241,10 @@ public TimelineDomain getDomain(String domainId) public TimelineDomains getDomains(String owner) throws IOException { List domains = new ArrayList(); + Set domainsOfOneOwner = domainsByOwner.get(owner); + if (domainsOfOneOwner == null) { + return new TimelineDomains(); + } for (TimelineDomain domain : domainsByOwner.get(owner)) { TimelineDomain domainToReturn = createTimelineDomain( domain.getId(), diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/timeline/TimelineStoreTestUtils.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/timeline/TimelineStoreTestUtils.java index 868838e..242478c 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/timeline/TimelineStoreTestUtils.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/timeline/TimelineStoreTestUtils.java @@ -946,6 +946,10 @@ public void testGetDomains() throws IOException { assertEquals(2, actualDomains.getDomains().size()); verifyDomainInfo(domain3, actualDomains.getDomains().get(0)); verifyDomainInfo(domain1, actualDomains.getDomains().get(1)); + + // owner without any domain + actualDomains = store.getDomains("owner_4"); + assertEquals(0, actualDomains.getDomains().size()); } private static void verifyDomainInfo(