diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/apps/bundles/searchIndex/SearchIndexApp.java b/openmetadata-service/src/main/java/org/openmetadata/service/apps/bundles/searchIndex/SearchIndexApp.java index 9f5682ecd2a..8106dfe72ea 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/apps/bundles/searchIndex/SearchIndexApp.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/apps/bundles/searchIndex/SearchIndexApp.java @@ -250,9 +250,11 @@ public class SearchIndexApp extends AbstractNativeApplication { private void sendUpdates() { try { - WebSocketManager.getInstance() - .broadCastMessageToAll( - WebSocketManager.JOB_STATUS_BROADCAST_CHANNEL, JsonUtils.pojoToJson(jobData)); + if (WebSocketManager.getInstance() != null) { + WebSocketManager.getInstance() + .broadCastMessageToAll( + WebSocketManager.JOB_STATUS_BROADCAST_CHANNEL, JsonUtils.pojoToJson(jobData)); + } } catch (Exception ex) { LOG.error("Failed to send updated stats with WebSocket", ex); } diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/apps/scheduler/AppScheduler.java b/openmetadata-service/src/main/java/org/openmetadata/service/apps/scheduler/AppScheduler.java index 6a8134c82f9..7f37ddfc753 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/apps/scheduler/AppScheduler.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/apps/scheduler/AppScheduler.java @@ -6,6 +6,7 @@ import static org.quartz.impl.matchers.GroupMatcher.jobGroupEquals; import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; +import lombok.Getter; import lombok.extern.slf4j.Slf4j; import org.openmetadata.common.utils.CommonUtil; import org.openmetadata.schema.AppRuntime; @@ -37,7 +38,7 @@ public class AppScheduler { public static final String SEARCH_CLIENT_KEY = "searchClientKey"; private static AppScheduler instance; private static volatile boolean initialized = false; - private final Scheduler scheduler; + @Getter private final Scheduler scheduler; private static final ConcurrentHashMap appJobsKeyMap = new ConcurrentHashMap<>(); private final CollectionDAO collectionDAO; private final SearchRepository searchClient; diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/TeamRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/TeamRepository.java index 5ef086abebb..cb6949f9c32 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/TeamRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/TeamRepository.java @@ -100,6 +100,7 @@ public class TeamRepository extends EntityRepository { TEAM_UPDATE_FIELDS); this.quoteFqn = true; supportsSearch = true; + initOrganization(); } @Override diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/util/OpenMetadataOperations.java b/openmetadata-service/src/main/java/org/openmetadata/service/util/OpenMetadataOperations.java index cc40a555944..cf849cd4d54 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/util/OpenMetadataOperations.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/util/OpenMetadataOperations.java @@ -252,6 +252,9 @@ public class OpenMetadataOperations implements Callable { config.getElasticSearchConfiguration().getSearchIndexMappingLanguage())) .withRuntime(new ScheduledExecutionContext().withEnabled(true)); AppScheduler.getInstance().triggerOnDemandApplication(searchIndexApp); + do { + Thread.sleep(3000l); + } while (!AppScheduler.getInstance().getScheduler().getCurrentlyExecutingJobs().isEmpty()); return 0; } catch (Exception e) { LOG.error("Failed to reindex due to ", e);