YARN-6228: EntityGroupFSTimelineStore should allow configurable cache stores. Contributed by Li Lu
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/53d372a2 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/53d372a2 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/53d372a2 Branch: refs/heads/YARN-5734 Commit: 53d372a2550c970f3dd3c49738af3c1789ae589b Parents: c1a52b0 Author: Xuan <xg...@apache.org> Authored: Fri Feb 24 10:58:48 2017 -0800 Committer: Xuan <xg...@apache.org> Committed: Fri Feb 24 10:59:35 2017 -0800 ---------------------------------------------------------------------- .../java/org/apache/hadoop/yarn/conf/YarnConfiguration.java | 3 +++ .../hadoop-yarn-common/src/main/resources/yarn-default.xml | 5 +++++ .../apache/hadoop/yarn/server/timeline/EntityCacheItem.java | 9 +++++++-- 3 files changed, 15 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/53d372a2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java index 094a424..cdccec6 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java @@ -1890,6 +1890,9 @@ public class YarnConfiguration extends Configuration { public static final String TIMELINE_SERVICE_ENTITYGROUP_FS_STORE_PREFIX = TIMELINE_SERVICE_PREFIX + "entity-group-fs-store."; + public static final String TIMELINE_SERVICE_ENTITYGROUP_FS_STORE_CACHE_STORE = + TIMELINE_SERVICE_ENTITYGROUP_FS_STORE_PREFIX + "cache-store-class"; + public static final String TIMELINE_SERVICE_ENTITYGROUP_FS_STORE_ACTIVE_DIR = TIMELINE_SERVICE_ENTITYGROUP_FS_STORE_PREFIX + "active-dir"; http://git-wip-us.apache.org/repos/asf/hadoop/blob/53d372a2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml index 53beb5e..368946e 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml @@ -2096,6 +2096,11 @@ </property> <!-- Timeline Service v1.5 Configuration --> + <property> + <name>yarn.timeline-service.entity-group-fs-store.cache-store-class</name> + <value>org.apache.hadoop.yarn.server.timeline.MemoryTimelineStore</value> + <description>Caching storage timeline server v1.5 is using. </description> + </property> <property> <name>yarn.timeline-service.entity-group-fs-store.active-dir</name> http://git-wip-us.apache.org/repos/asf/hadoop/blob/53d372a2/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timeline-pluginstorage/src/main/java/org/apache/hadoop/yarn/server/timeline/EntityCacheItem.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timeline-pluginstorage/src/main/java/org/apache/hadoop/yarn/server/timeline/EntityCacheItem.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timeline-pluginstorage/src/main/java/org/apache/hadoop/yarn/server/timeline/EntityCacheItem.java index 7ed7c4a..8df60ab 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timeline-pluginstorage/src/main/java/org/apache/hadoop/yarn/server/timeline/EntityCacheItem.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timeline-pluginstorage/src/main/java/org/apache/hadoop/yarn/server/timeline/EntityCacheItem.java @@ -17,8 +17,10 @@ package org.apache.hadoop.yarn.server.timeline; import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.util.ReflectionUtils; import org.apache.hadoop.util.Time; import org.apache.hadoop.yarn.api.records.timeline.TimelineEntityGroupId; +import org.apache.hadoop.yarn.conf.YarnConfiguration; import org.apache.hadoop.yarn.server.timeline.security.TimelineACLsManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -95,8 +97,11 @@ public class EntityCacheItem { } if (!appLogs.getDetailLogs().isEmpty()) { if (store == null) { - store = new LevelDBCacheTimelineStore(groupId.toString(), - "LeveldbCache." + groupId); + store = ReflectionUtils.newInstance(config.getClass( + YarnConfiguration + .TIMELINE_SERVICE_ENTITYGROUP_FS_STORE_CACHE_STORE, + MemoryTimelineStore.class, TimelineStore.class), + config); store.init(config); store.start(); } else { --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org