in ambari-metrics-timelineservice/src/main/java/org/apache/ambari/metrics/core/timeline/PhoenixHBaseAccessor.java [1938:1994]
public Map<TimelineMetricMetadataKey, TimelineMetricMetadata> getTimelineMetricMetadata() throws SQLException {
Map<TimelineMetricMetadataKey, TimelineMetricMetadata> metadataMap = new HashMap<>();
Connection conn = getConnection();
PreparedStatement stmt = null;
ResultSet rs = null;
try {
stmt = conn.prepareStatement(GET_METRIC_METADATA_SQL);
rs = stmt.executeQuery();
while (rs.next()) {
String metricName = rs.getString("METRIC_NAME");
String appId = rs.getString("APP_ID");
String instanceId = rs.getString("INSTANCE_ID");
TimelineMetricMetadata metadata = new TimelineMetricMetadata(
metricName,
appId,
instanceId,
rs.getString("UNITS"),
rs.getString("TYPE"),
rs.getLong("START_TIME"),
rs.getBoolean("SUPPORTS_AGGREGATION"),
rs.getBoolean("IS_WHITELISTED")
);
TimelineMetricMetadataKey key = new TimelineMetricMetadataKey(metricName, appId, instanceId);
metadata.setIsPersisted(true); // Always true on retrieval
metadata.setUuid(checkForNull(rs.getBytes("UUID")));
metadataMap.put(key, metadata);
}
} finally {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
// Ignore
}
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
// Ignore
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException sql) {
// Ignore
}
}
}
return metadataMap;
}