private void upsertTaskMetrics(Connection connection, TaskExecutionInfoArray taskExecutions) throws SQLException { Optional<PreparedStatement> upsertStatement = Optional.absent(); int batchSize = 0; for (TaskExecutionInfo taskExecution : taskExecutions) { if (taskExecution.hasMetrics()) { for (Metric metric : taskExecution.getMetrics()) { if (!upsertStatement.isPresent()) { upsertStatement = Optional.of(connection.prepareStatement(TASK_METRIC_UPSERT_STATEMENT_TEMPLATE)); } addMetricToBatch(upsertStatement.get(), metric, taskExecution.getTaskId()); if (batchSize++ > 1000) { executeBatches(upsertStatement); upsertStatement = Optional.absent(); batchSize = 0; } } } } executeBatches(upsertStatement); }
String taskId = taskMetricRs.getString("task_id"); TaskExecutionInfo taskExecutionInfo = taskExecutionInfos.get(jobId).get(taskId); MetricArray metricsArray = taskExecutionInfo.getMetrics(GetMode.NULL); if (metricsArray == null) { metricsArray = new MetricArray();
private void assertTaskExecution(TaskExecutionInfo actual, TaskExecutionInfo expected) { Assert.assertEquals(actual.getJobId(), expected.getJobId()); Assert.assertEquals(actual.getTaskId(), expected.getTaskId()); if (expected.hasDuration()) { Assert.assertEquals(actual.getDuration(), expected.getDuration()); } else { Assert.assertEquals(actual.getDuration().longValue(), 0L); } Assert.assertEquals(actual.getState(), expected.getState()); Assert.assertEquals(actual.getLowWatermark(), expected.getLowWatermark()); Assert.assertEquals(actual.getHighWatermark(), expected.getHighWatermark()); Assert.assertEquals(actual.getTable(), expected.getTable()); Assert.assertEquals(actual.getMetrics(), expected.getMetrics()); for (int i = 0; i < actual.getMetrics().size(); i++) { assertMetric(actual.getMetrics().get(i), expected.getMetrics().get(i)); } Assert.assertEquals(actual.getTaskProperties(), expected.getTaskProperties()); }
private static void assertTaskExecution(TaskExecutionInfo actual, TaskExecutionInfo expected) { Assert.assertEquals(actual.getJobId(), expected.getJobId()); Assert.assertEquals(actual.getTaskId(), expected.getTaskId()); if (expected.hasDuration()) { Assert.assertEquals(actual.getDuration(), expected.getDuration()); } else { Assert.assertEquals(actual.getDuration().longValue(), -1L); } Assert.assertEquals(actual.getState(), expected.getState()); Assert.assertEquals(actual.getLowWatermark(), expected.getLowWatermark()); Assert.assertEquals(actual.getHighWatermark(), expected.getHighWatermark()); Assert.assertEquals(actual.getTable(), expected.getTable()); Assert.assertEquals(actual.getMetrics(), expected.getMetrics()); for (int i = 0; i < actual.getMetrics().size(); i++) { assertMetric(actual.getMetrics().get(i), expected.getMetrics().get(i)); } Assert.assertEquals(actual.getTaskProperties(), expected.getTaskProperties()); }
for (Metric metric : info.getMetrics()) { boolean insert = !existsMetric(connection, TASK_METRIC_EXIST_QUERY_STATEMENT_TEMPLATE, info.getTaskId(), metric);
private void upsertTaskMetrics(Connection connection, TaskExecutionInfoArray taskExecutions) throws SQLException { Optional<PreparedStatement> upsertStatement = Optional.absent(); int batchSize = 0; for (TaskExecutionInfo taskExecution : taskExecutions) { if (taskExecution.hasMetrics()) { for (Metric metric : taskExecution.getMetrics()) { if (!upsertStatement.isPresent()) { upsertStatement = Optional.of(connection.prepareStatement(TASK_METRIC_UPSERT_STATEMENT_TEMPLATE)); } addMetricToBatch(upsertStatement.get(), metric, taskExecution.getTaskId()); if (batchSize++ > 1000) { executeBatches(upsertStatement); upsertStatement = Optional.absent(); batchSize = 0; } } } } executeBatches(upsertStatement); }
String taskId = taskMetricRs.getString("task_id"); TaskExecutionInfo taskExecutionInfo = taskExecutionInfos.get(jobId).get(taskId); MetricArray metricsArray = taskExecutionInfo.getMetrics(GetMode.NULL); if (metricsArray == null) { metricsArray = new MetricArray();
for (Metric metric : info.getMetrics()) { boolean insert = !existsMetric(connection, TASK_METRIC_EXIST_QUERY_STATEMENT_TEMPLATE, info.getTaskId(), metric);