use of org.apache.hadoop.hive.metastore.api.ReplicationMetrics in project hive by apache.
the class TestReplicationMetrics method testGetMetricsByScheduleId.
@Test
public void testGetMetricsByScheduleId() throws Exception {
ObjectStore objStore = new ObjectStore();
objStore.setConf(metaStore.getConf());
objStore.deleteReplicationMetrics(0);
ReplicationMetricList replicationMetricList = new ReplicationMetricList();
List<ReplicationMetrics> replicationMetrics = new ArrayList<>();
replicationMetrics.add(createReplicationMetric("repl1", 1L));
replicationMetrics.add(createReplicationMetric("repl1", 2L));
replicationMetricList.setReplicationMetricList(replicationMetrics);
objStore.addReplicationMetrics(replicationMetricList);
Thread.sleep(1000);
replicationMetrics = new ArrayList<>();
replicationMetrics.add(createReplicationMetric("repl2", 3L));
replicationMetrics.add(createReplicationMetric("repl2", 4L));
replicationMetricList.setReplicationMetricList(replicationMetrics);
objStore.addReplicationMetrics(replicationMetricList);
Thread.sleep(1000);
GetReplicationMetricsRequest getReplicationMetricsRequest = new GetReplicationMetricsRequest();
getReplicationMetricsRequest.setScheduledExecutionId(1L);
ReplicationMetricList actualList = client.getReplicationMetrics(getReplicationMetricsRequest);
assertEquals(1, actualList.getReplicationMetricListSize());
List<ReplicationMetrics> actualMetrics = actualList.getReplicationMetricList();
// Ordering should be descending
ReplicationMetrics actualMetric0 = actualMetrics.get(0);
assertEquals("repl1", actualMetric0.getPolicy());
assertEquals(1L, actualMetric0.getScheduledExecutionId());
assertEquals(1, actualMetric0.getDumpExecutionId());
assertEquals("metadata", actualMetric0.getMetadata());
assertEquals("progress", actualMetric0.getProgress());
// Update progress
replicationMetrics = new ArrayList<>();
replicationMetrics.add(updateReplicationMetric("repl1", 1L, "progress1"));
replicationMetricList.setReplicationMetricList(replicationMetrics);
objStore.addReplicationMetrics(replicationMetricList);
Thread.sleep(1000);
// get the metrics again
getReplicationMetricsRequest = new GetReplicationMetricsRequest();
getReplicationMetricsRequest.setScheduledExecutionId(1L);
actualList = client.getReplicationMetrics(getReplicationMetricsRequest);
assertEquals(1, actualList.getReplicationMetricListSize());
actualMetrics = actualList.getReplicationMetricList();
// Ordering should be descending
actualMetric0 = actualMetrics.get(0);
assertEquals("repl1", actualMetric0.getPolicy());
assertEquals(1L, actualMetric0.getScheduledExecutionId());
assertEquals(1, actualMetric0.getDumpExecutionId());
assertEquals("metadata", actualMetric0.getMetadata());
assertEquals("progress1", actualMetric0.getProgress());
}
use of org.apache.hadoop.hive.metastore.api.ReplicationMetrics in project hive by apache.
the class TestReplicationMetrics method updateReplicationMetric.
private ReplicationMetrics updateReplicationMetric(String policyName, Long scheduleId, String progress) {
ReplicationMetrics replicationMetrics = new ReplicationMetrics();
replicationMetrics.setPolicy(policyName);
replicationMetrics.setScheduledExecutionId(scheduleId);
replicationMetrics.setProgress(progress);
return replicationMetrics;
}
use of org.apache.hadoop.hive.metastore.api.ReplicationMetrics in project hive by apache.
the class ObjectStore method getMReplicationMetrics.
private ReplicationMetricList getMReplicationMetrics(long scheduledExecutionId) {
ReplicationMetricList ret = new ReplicationMetricList();
if (scheduledExecutionId < 0) {
return ret;
}
try (QueryWrapper query = new QueryWrapper(pm.newQuery(MReplicationMetrics.class, "scheduledExecutionId == scheduledExecutionIdParam"))) {
query.declareParameters("java.lang.Long scheduledExecutionIdParam");
query.setOrdering("scheduledExecutionId descending");
List<MReplicationMetrics> list = (List<MReplicationMetrics>) query.execute(scheduledExecutionId);
List<ReplicationMetrics> returnList = new ArrayList<>();
for (MReplicationMetrics mReplicationMetric : list) {
pm.retrieve(mReplicationMetric);
returnList.add(MReplicationMetrics.toThrift(mReplicationMetric));
}
ret.setReplicationMetricList(returnList);
return ret;
}
}
use of org.apache.hadoop.hive.metastore.api.ReplicationMetrics in project hive by apache.
the class ObjectStore method getMReplicationMetrics.
private ReplicationMetricList getMReplicationMetrics(String policy) {
ReplicationMetricList ret = new ReplicationMetricList();
if (StringUtils.isEmpty(policy)) {
return ret;
}
try (QueryWrapper query = new QueryWrapper(pm.newQuery(MReplicationMetrics.class, "policy == policyParam"))) {
query.declareParameters("java.lang.String policyParam");
query.setOrdering("scheduledExecutionId descending");
List<MReplicationMetrics> list = (List<MReplicationMetrics>) query.execute(policy);
List<ReplicationMetrics> returnList = new ArrayList<>();
for (MReplicationMetrics mReplicationMetric : list) {
pm.retrieve(mReplicationMetric);
returnList.add(MReplicationMetrics.toThrift(mReplicationMetric));
}
ret.setReplicationMetricList(returnList);
return ret;
}
}
use of org.apache.hadoop.hive.metastore.api.ReplicationMetrics in project hive by apache.
the class MReplicationMetrics method toThrift.
public static ReplicationMetrics toThrift(MReplicationMetrics mReplicationMetric) {
ReplicationMetrics ret = new ReplicationMetrics();
ret.setScheduledExecutionId(mReplicationMetric.scheduledExecutionId);
ret.setPolicy(mReplicationMetric.policy);
ret.setMetadata(mReplicationMetric.metadata);
ret.setProgress(mReplicationMetric.progress);
ret.setDumpExecutionId(mReplicationMetric.dumpExecutionId);
ret.setMessageFormat(mReplicationMetric.messageFormat);
return ret;
}
Aggregations