diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/application/ApplicationTable.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/application/ApplicationTable.java index a02f768..cb4fc92 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/application/ApplicationTable.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/application/ApplicationTable.java @@ -82,6 +82,13 @@ private static final String METRICS_TTL_CONF_NAME = PREFIX + ".table.metrics.ttl"; + /** + * config param name that specifies max-versions for metrics column family in + * entity table. + */ + private static final String METRICS_MAX_VERSIONS = + PREFIX + ".table.metrics.max-versions"; + /** default value for application table name. */ private static final String DEFAULT_TABLE_NAME = "timelineservice.application"; @@ -90,7 +97,7 @@ private static final int DEFAULT_METRICS_TTL = 2592000; /** default max number of versions. */ - private static final int DEFAULT_METRICS_MAX_VERSIONS = 1000; + private static final int DEFAULT_METRICS_MAX_VERSIONS = 10000; private static final Log LOG = LogFactory.getLog(ApplicationTable.class); @@ -136,7 +143,8 @@ public void createTable(Admin admin, Configuration hbaseConf) metricsCF.setBlockCacheEnabled(true); // always keep 1 version (the latest) metricsCF.setMinVersions(1); - metricsCF.setMaxVersions(DEFAULT_METRICS_MAX_VERSIONS); + metricsCF.setMaxVersions( + hbaseConf.getInt(METRICS_MAX_VERSIONS, DEFAULT_METRICS_MAX_VERSIONS)); metricsCF.setTimeToLive(hbaseConf.getInt(METRICS_TTL_CONF_NAME, DEFAULT_METRICS_TTL)); applicationTableDescp.setRegionSplitPolicyClassName( diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/entity/EntityTable.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/entity/EntityTable.java index 027c8d5..633a4da 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/entity/EntityTable.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/entity/EntityTable.java @@ -83,6 +83,13 @@ private static final String METRICS_TTL_CONF_NAME = PREFIX + ".table.metrics.ttl"; + /** + * config param name that specifies max-versions for metrics column family in + * entity table. + */ + private static final String METRICS_MAX_VERSIONS = + PREFIX + ".table.metrics.max-versions"; + /** default value for entity table name. */ public static final String DEFAULT_TABLE_NAME = "timelineservice.entity"; @@ -90,7 +97,7 @@ private static final int DEFAULT_METRICS_TTL = 2592000; /** default max number of versions. */ - private static final int DEFAULT_METRICS_MAX_VERSIONS = 1000; + private static final int DEFAULT_METRICS_MAX_VERSIONS = 10000; private static final Log LOG = LogFactory.getLog(EntityTable.class); @@ -136,7 +143,8 @@ public void createTable(Admin admin, Configuration hbaseConf) metricsCF.setBlockCacheEnabled(true); // always keep 1 version (the latest) metricsCF.setMinVersions(1); - metricsCF.setMaxVersions(DEFAULT_METRICS_MAX_VERSIONS); + metricsCF.setMaxVersions( + hbaseConf.getInt(METRICS_MAX_VERSIONS, DEFAULT_METRICS_MAX_VERSIONS)); metricsCF.setTimeToLive(hbaseConf.getInt(METRICS_TTL_CONF_NAME, DEFAULT_METRICS_TTL)); entityTableDescp.setRegionSplitPolicyClassName(