Fix SettingsCache initialization (#13395)

* Fix SettingsCache initialization

* Fix SettingsCache initialization

* Fix SettingsCache initialization
This commit is contained in:
Sriharsha Chintalapani 2023-10-01 15:47:25 -07:00 committed by GitHub
parent 66d3fbb75d
commit 11f1df437b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 57 deletions

View File

@ -149,12 +149,15 @@ public class OpenMetadataApplication extends Application<OpenMetadataApplication
JdbiTransactionManager.initialize(jdbiUnitOfWorkProvider.getHandleManager());
environment.jersey().register(new JdbiUnitOfWorkApplicationEventListener(new HashSet<>()));
// as first step register all the repositories
Entity.initializeRepositories(collectionDAO);
// Init Settings Cache after repositories
SettingsCache.initialize(catalogConfig);
// Configure the Fernet instance
Fernet.getInstance().setFernetKey(catalogConfig);
// Init Settings Cache
SettingsCache.initialize(catalogConfig);
// init Secret Manager
final SecretsManager secretsManager =
SecretsManagerFactory.createSecretsManager(

View File

@ -38,7 +38,6 @@ import org.openmetadata.common.utils.CommonUtil;
import org.openmetadata.schema.Function;
import org.openmetadata.schema.type.CollectionDescriptor;
import org.openmetadata.schema.type.CollectionInfo;
import org.openmetadata.service.Entity;
import org.openmetadata.service.OpenMetadataApplicationConfig;
import org.openmetadata.service.jdbi3.CollectionDAO;
import org.openmetadata.service.security.Authorizer;
@ -164,7 +163,6 @@ public final class CollectionRegistry {
CollectionDAO daoObject,
Authorizer authorizer,
AuthenticatorHandler authenticatorHandler) {
Entity.initializeRepositories(daoObject);
// Build list of ResourceDescriptors
for (Map.Entry<String, CollectionDetails> e : collectionMap.entrySet()) {
CollectionDetails details = e.getValue();

View File

@ -17,7 +17,6 @@ import static org.openmetadata.common.utils.CommonUtil.listOrEmpty;
import static org.openmetadata.service.Entity.FIELD_OWNER;
import static org.openmetadata.service.Entity.FIELD_PIPELINE_STATUS;
import static org.openmetadata.service.jdbi3.IngestionPipelineRepository.validateProfileSample;
import static org.openmetadata.service.resources.services.metadata.MetadataServiceResource.OPENMETADATA_SERVICE;
import io.swagger.v3.oas.annotations.ExternalDocumentation;
import io.swagger.v3.oas.annotations.Hidden;
@ -61,15 +60,10 @@ import org.openmetadata.schema.api.services.ingestionPipelines.CreateIngestionPi
import org.openmetadata.schema.entity.services.ingestionPipelines.IngestionPipeline;
import org.openmetadata.schema.entity.services.ingestionPipelines.PipelineServiceClientResponse;
import org.openmetadata.schema.entity.services.ingestionPipelines.PipelineStatus;
import org.openmetadata.schema.entity.services.ingestionPipelines.PipelineType;
import org.openmetadata.schema.metadataIngestion.MetadataToElasticSearchPipeline;
import org.openmetadata.schema.metadataIngestion.SourceConfig;
import org.openmetadata.schema.services.connections.metadata.OpenMetadataConnection;
import org.openmetadata.schema.type.EntityHistory;
import org.openmetadata.schema.type.EntityReference;
import org.openmetadata.schema.type.Include;
import org.openmetadata.schema.type.MetadataOperation;
import org.openmetadata.schema.type.ProviderType;
import org.openmetadata.sdk.PipelineServiceClient;
import org.openmetadata.service.Entity;
import org.openmetadata.service.OpenMetadataApplicationConfig;
@ -85,7 +79,6 @@ import org.openmetadata.service.security.AuthorizationException;
import org.openmetadata.service.security.Authorizer;
import org.openmetadata.service.security.policyevaluator.OperationContext;
import org.openmetadata.service.util.EntityUtil.Fields;
import org.openmetadata.service.util.IngestionPipelineUtils;
import org.openmetadata.service.util.OpenMetadataConnectionBuilder;
import org.openmetadata.service.util.ResultList;
@ -125,51 +118,6 @@ public class IngestionPipelineResource extends EntityResource<IngestionPipeline,
this.pipelineServiceClient =
PipelineServiceClientFactory.createPipelineServiceClient(config.getPipelineServiceClientConfiguration());
repository.setPipelineServiceClient(pipelineServiceClient);
createIndexAndInsightPipeline(config);
}
private void createIndexAndInsightPipeline(OpenMetadataApplicationConfig config) {
// Metadata Service is created only when ES config is present
if (config.getElasticSearchConfiguration() != null) {
try {
EntityReference metadataService =
this.repository.getByName(null, OPENMETADATA_SERVICE, repository.getFields("id")).getEntityReference();
// Create Data Insights Pipeline
CreateIngestionPipeline createPipelineRequest =
new CreateIngestionPipeline()
.withName(DEFAULT_INSIGHT_PIPELINE)
.withDisplayName(DEFAULT_INSIGHT_PIPELINE)
.withDescription("Data Insights Pipeline")
.withPipelineType(PipelineType.DATA_INSIGHT)
.withSourceConfig(
new SourceConfig()
.withConfig(
new MetadataToElasticSearchPipeline()
.withType(
MetadataToElasticSearchPipeline.MetadataToESConfigType.METADATA_TO_ELASTIC_SEARCH)))
.withAirflowConfig(IngestionPipelineUtils.getDefaultAirflowConfig())
.withService(metadataService);
// Get Pipeline
IngestionPipeline dataInsightPipeline =
getIngestionPipeline(createPipelineRequest, "system").withProvider(ProviderType.SYSTEM);
repository.setFullyQualifiedName(dataInsightPipeline);
repository.initializeEntity(dataInsightPipeline);
// Create Reindex Pipeline
createPipelineRequest
.withName(DEFAULT_REINDEX_PIPELINE)
.withDisplayName(DEFAULT_REINDEX_PIPELINE)
.withDescription("Elastic Search Reindexing Pipeline")
.withPipelineType(PipelineType.ELASTIC_SEARCH_REINDEX);
// Get Pipeline
IngestionPipeline elasticSearchPipeline =
getIngestionPipeline(createPipelineRequest, "system").withProvider(ProviderType.SYSTEM);
repository.setFullyQualifiedName(elasticSearchPipeline);
repository.initializeEntity(elasticSearchPipeline);
} catch (Exception ex) {
LOG.error("[IngestionPipelineResource] Failed in Creating Reindex and Insight Pipeline", ex);
}
}
}
public static class IngestionPipelineList extends ResultList<IngestionPipeline> {