MINOR: use appName instead of id (#15693)

* use appName instead of id
This commit is contained in:
Imri Paran 2024-03-26 13:45:13 +01:00 committed by GitHub
parent de38ab53c0
commit 86a1130e41
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 12 additions and 13 deletions

View File

@ -1,11 +1,10 @@
package org.openmetadata.service.apps;
import static org.openmetadata.service.apps.scheduler.AbstractOmAppJobListener.JOB_LISTENER_NAME;
import static org.openmetadata.service.apps.scheduler.AppScheduler.APP_ID_KEY;
import static org.openmetadata.service.apps.scheduler.AppScheduler.APP_NAME;
import static org.openmetadata.service.exception.CatalogExceptionMessage.LIVE_APP_SCHEDULE_ERR;
import java.util.List;
import java.util.UUID;
import lombok.Getter;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
@ -212,8 +211,8 @@ public class AbstractNativeApplication implements NativeApplication {
@Override
public void execute(JobExecutionContext jobExecutionContext) {
// This is the part of the code that is executed by the scheduler
UUID appID = (UUID) jobExecutionContext.getJobDetail().getJobDataMap().get(APP_ID_KEY);
App jobApp = collectionDAO.applicationDAO().findEntityById(appID);
String appName = (String) jobExecutionContext.getJobDetail().getJobDataMap().get(APP_NAME);
App jobApp = collectionDAO.applicationDAO().findEntityByName(appName);
ApplicationHandler.getInstance().setAppRuntimeProperties(jobApp);
// Initialise the Application
this.init(jobApp);

View File

@ -8,7 +8,7 @@ import static org.openmetadata.schema.entity.events.SubscriptionDestination.Subs
import static org.openmetadata.schema.type.DataReportIndex.ENTITY_REPORT_DATA_INDEX;
import static org.openmetadata.service.Entity.KPI;
import static org.openmetadata.service.Entity.TEAM;
import static org.openmetadata.service.apps.scheduler.AppScheduler.APP_ID_KEY;
import static org.openmetadata.service.apps.scheduler.AppScheduler.APP_NAME;
import static org.openmetadata.service.util.SubscriptionUtil.getAdminsData;
import static org.openmetadata.service.util.Utilities.getMonthAndDateFromEpoch;
@ -25,7 +25,6 @@ import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.TreeMap;
import java.util.UUID;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.tuple.Pair;
import org.openmetadata.common.utils.CommonUtil;
@ -71,8 +70,8 @@ public class DataInsightsReportApp extends AbstractNativeApplication {
@Override
public void execute(JobExecutionContext jobExecutionContext) {
UUID appID = (UUID) jobExecutionContext.getJobDetail().getJobDataMap().get(APP_ID_KEY);
App app = collectionDAO.applicationDAO().findEntityById(appID);
String appName = (String) jobExecutionContext.getJobDetail().getJobDataMap().get(APP_NAME);
App app = collectionDAO.applicationDAO().findEntityByName(appName);
// Calculate time diff
long currentTime = Instant.now().toEpochMilli();
long scheduleTime = currentTime - 604800000L;

View File

@ -1,6 +1,6 @@
package org.openmetadata.service.apps.scheduler;
import static org.openmetadata.service.apps.scheduler.AppScheduler.APP_ID_KEY;
import static org.openmetadata.service.apps.scheduler.AppScheduler.APP_NAME;
import java.util.HashMap;
import java.util.Map;
@ -139,7 +139,8 @@ public abstract class AbstractOmAppJobListener implements JobListener {
dataMap.put(SCHEDULED_APP_RUN_EXTENSION, JsonUtils.pojoToJson(runRecord));
// Push Updates to the Database
UUID appId = (UUID) context.getJobDetail().getJobDataMap().get(APP_ID_KEY);
String appName = (String) context.getJobDetail().getJobDataMap().get(APP_NAME);
UUID appId = collectionDAO.applicationDAO().findEntityByName(appName).getId();
updateStatus(appId, runRecord, update);
}
}

View File

@ -66,7 +66,7 @@ public class AppScheduler {
public static final String APPS_JOB_GROUP = "OMAppsJobGroup";
public static final String APPS_TRIGGER_GROUP = "OMAppsJobGroup";
public static final String APP_INFO_KEY = "applicationInfoKey";
public static final String APP_ID_KEY = "appID";
public static final String APP_NAME = "appName";
private static AppScheduler instance;
private static volatile boolean initialized = false;
@Getter private final Scheduler scheduler;
@ -169,7 +169,7 @@ public class AppScheduler {
private JobDetail jobBuilder(App app, String jobIdentity) throws ClassNotFoundException {
JobDataMap dataMap = new JobDataMap();
dataMap.put(APP_ID_KEY, app.getId());
dataMap.put(APP_NAME, app.getFullyQualifiedName());
dataMap.put("triggerType", app.getAppSchedule().getScheduleTimeline().value());
Class<? extends NativeApplication> clz =
(Class<? extends NativeApplication>) Class.forName(app.getClassName());
@ -240,7 +240,7 @@ public class AppScheduler {
JobDetail newJobDetail =
jobBuilder(application, String.format("%s-%s", application.getName(), ON_DEMAND_JOB));
newJobDetail.getJobDataMap().put("triggerType", ON_DEMAND_JOB);
newJobDetail.getJobDataMap().put(APP_ID_KEY, application.getId());
newJobDetail.getJobDataMap().put(APP_NAME, application.getFullyQualifiedName());
Trigger trigger =
TriggerBuilder.newTrigger()
.withIdentity(