use of org.apache.hadoop.hive.ql.parse.repl.metric.event.Metric in project hive by apache.
the class TestScheduledReplicationScenarios method checkMetrics.
private void checkMetrics(List<ReplicationMetric> expectedReplicationMetrics, List<ReplicationMetric> actualMetrics) {
Assert.assertEquals(expectedReplicationMetrics.size(), actualMetrics.size());
int metricCounter = 0;
for (ReplicationMetric actualMetric : actualMetrics) {
for (ReplicationMetric expecMetric : expectedReplicationMetrics) {
if (actualMetric.getPolicy().equalsIgnoreCase(expecMetric.getPolicy())) {
Assert.assertEquals(expecMetric.getDumpExecutionId(), actualMetric.getDumpExecutionId());
Assert.assertEquals(expecMetric.getMetadata().getDbName(), actualMetric.getMetadata().getDbName());
Assert.assertEquals(expecMetric.getMetadata().getLastReplId(), actualMetric.getMetadata().getLastReplId());
Assert.assertEquals(expecMetric.getMetadata().getStagingDir(), actualMetric.getMetadata().getStagingDir());
Assert.assertEquals(expecMetric.getMetadata().getReplicationType(), actualMetric.getMetadata().getReplicationType());
Assert.assertEquals(expecMetric.getProgress().getStatus(), actualMetric.getProgress().getStatus());
Assert.assertEquals(expecMetric.getProgress().getStages().size(), actualMetric.getProgress().getStages().size());
List<Stage> expectedStages = expecMetric.getProgress().getStages();
List<Stage> actualStages = actualMetric.getProgress().getStages();
int counter = 0;
for (Stage actualStage : actualStages) {
for (Stage expeStage : expectedStages) {
if (actualStage.getName().equalsIgnoreCase(expeStage.getName())) {
Assert.assertEquals(expeStage.getStatus(), actualStage.getStatus());
Assert.assertEquals(expeStage.getMetrics().size(), actualStage.getMetrics().size());
for (Metric actMetric : actualStage.getMetrics()) {
for (Metric expMetric : expeStage.getMetrics()) {
if (actMetric.getName().equalsIgnoreCase(expMetric.getName())) {
Assert.assertEquals(expMetric.getTotalCount(), actMetric.getTotalCount());
Assert.assertEquals(expMetric.getCurrentCount(), actMetric.getCurrentCount());
}
}
}
counter++;
if (counter == actualStages.size()) {
break;
}
}
}
}
metricCounter++;
if (metricCounter == actualMetrics.size()) {
break;
}
}
}
}
}
use of org.apache.hadoop.hive.ql.parse.repl.metric.event.Metric in project hive by apache.
the class TestScheduledReplicationScenarios method generateDumpStages.
private List<Stage> generateDumpStages(boolean isBootstrap) {
List<Stage> stages = new ArrayList<>();
// Ranger
Stage rangerDump = new Stage("RANGER_DUMP", Status.SUCCESS, 0);
Metric rangerMetric = new Metric(ReplUtils.MetricName.POLICIES.name(), 0);
rangerDump.addMetric(rangerMetric);
stages.add(rangerDump);
// Atlas
Stage atlasDump = new Stage("ATLAS_DUMP", Status.SUCCESS, 0);
Metric atlasMetric = new Metric(ReplUtils.MetricName.ENTITIES.name(), 0);
atlasDump.addMetric(atlasMetric);
stages.add(atlasDump);
// Hive
Stage replDump = new Stage("REPL_DUMP", Status.SUCCESS, 0);
if (isBootstrap) {
Metric hiveMetric = new Metric(ReplUtils.MetricName.TABLES.name(), 1);
hiveMetric.setCurrentCount(1);
replDump.addMetric(hiveMetric);
hiveMetric = new Metric(ReplUtils.MetricName.FUNCTIONS.name(), 0);
replDump.addMetric(hiveMetric);
} else {
Metric hiveMetric = new Metric(ReplUtils.MetricName.EVENTS.name(), 1);
hiveMetric.setCurrentCount(1);
replDump.addMetric(hiveMetric);
}
stages.add(replDump);
return stages;
}
Aggregations