use of org.apache.hadoop.hive.metastore.api.GetReplicationMetricsRequest 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());
}
Aggregations