Fix migrations to handle entities with mal-formed FQN due to . in their name (#12217)

This commit is contained in:
Sriharsha Chintalapani 2023-07-03 03:18:40 -07:00 committed by GitHub
parent 02fdab8f4e
commit bdb438d12d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 29 additions and 14 deletions

View File

@ -8,6 +8,7 @@ import java.util.Map;
import lombok.Getter;
import org.openmetadata.schema.type.Include;
import org.openmetadata.schema.type.Relationship;
import org.openmetadata.schema.utils.EntityInterfaceUtil;
import org.openmetadata.service.Entity;
import org.openmetadata.service.resources.databases.DatasourceConfig;
import org.openmetadata.service.util.FullyQualifiedName;
@ -81,7 +82,7 @@ public class ListFilter {
public String getServiceCondition(String tableName) {
String service = queryParams.get("service");
return service == null ? "" : getFqnPrefixCondition(tableName, service);
return service == null ? "" : getFqnPrefixCondition(tableName, EntityInterfaceUtil.quoteName(service));
}
public String getParentCondition(String tableName) {

View File

@ -58,6 +58,7 @@ import org.openmetadata.schema.type.DashboardConnection;
import org.openmetadata.schema.type.EntityHistory;
import org.openmetadata.schema.type.Include;
import org.openmetadata.schema.type.MetadataOperation;
import org.openmetadata.schema.utils.EntityInterfaceUtil;
import org.openmetadata.service.Entity;
import org.openmetadata.service.jdbi3.CollectionDAO;
import org.openmetadata.service.jdbi3.DashboardServiceRepository;
@ -206,7 +207,8 @@ public class DashboardServiceResource
@DefaultValue("non-deleted")
Include include)
throws IOException {
DashboardService dashboardService = getByNameInternal(uriInfo, securityContext, name, fieldsParam, include);
DashboardService dashboardService =
getByNameInternal(uriInfo, securityContext, EntityInterfaceUtil.quoteName(name), fieldsParam, include);
return decryptOrNullify(securityContext, dashboardService);
}
@ -420,7 +422,7 @@ public class DashboardServiceResource
@Parameter(description = "Name of the dashboard service", schema = @Schema(type = "string")) @PathParam("name")
String name)
throws IOException {
return deleteByName(uriInfo, securityContext, name, false, hardDelete);
return deleteByName(uriInfo, securityContext, EntityInterfaceUtil.quoteName(name), false, hardDelete);
}
@PUT

View File

@ -56,6 +56,7 @@ import org.openmetadata.schema.entity.services.connections.TestConnectionResult;
import org.openmetadata.schema.type.EntityHistory;
import org.openmetadata.schema.type.Include;
import org.openmetadata.schema.type.MetadataOperation;
import org.openmetadata.schema.utils.EntityInterfaceUtil;
import org.openmetadata.service.Entity;
import org.openmetadata.service.jdbi3.CollectionDAO;
import org.openmetadata.service.jdbi3.DatabaseServiceRepository;
@ -220,7 +221,8 @@ public class DatabaseServiceResource
@DefaultValue("non-deleted")
Include include)
throws IOException {
DatabaseService databaseService = getByNameInternal(uriInfo, securityContext, name, fieldsParam, include);
DatabaseService databaseService =
getByNameInternal(uriInfo, securityContext, EntityInterfaceUtil.quoteName(name), fieldsParam, include);
return decryptOrNullify(securityContext, databaseService);
}
@ -434,7 +436,7 @@ public class DatabaseServiceResource
@Parameter(description = "Name of the database service", schema = @Schema(type = "string")) @PathParam("name")
String name)
throws IOException {
return deleteByName(uriInfo, securityContext, name, false, hardDelete);
return deleteByName(uriInfo, securityContext, EntityInterfaceUtil.quoteName(name), false, hardDelete);
}
@PUT

View File

@ -58,6 +58,7 @@ import org.openmetadata.schema.type.EntityHistory;
import org.openmetadata.schema.type.Include;
import org.openmetadata.schema.type.MessagingConnection;
import org.openmetadata.schema.type.MetadataOperation;
import org.openmetadata.schema.utils.EntityInterfaceUtil;
import org.openmetadata.service.Entity;
import org.openmetadata.service.jdbi3.CollectionDAO;
import org.openmetadata.service.jdbi3.ListFilter;
@ -207,7 +208,8 @@ public class MessagingServiceResource
@DefaultValue("non-deleted")
Include include)
throws IOException {
MessagingService messagingService = getByNameInternal(uriInfo, securityContext, name, fieldsParam, include);
MessagingService messagingService =
getByNameInternal(uriInfo, securityContext, EntityInterfaceUtil.quoteName(name), fieldsParam, include);
return decryptOrNullify(securityContext, messagingService);
}

View File

@ -53,6 +53,7 @@ import org.openmetadata.schema.services.connections.metadata.OpenMetadataConnect
import org.openmetadata.schema.type.EntityHistory;
import org.openmetadata.schema.type.Include;
import org.openmetadata.schema.type.MetadataOperation;
import org.openmetadata.schema.utils.EntityInterfaceUtil;
import org.openmetadata.service.Entity;
import org.openmetadata.service.OpenMetadataApplicationConfig;
import org.openmetadata.service.jdbi3.CollectionDAO;
@ -252,7 +253,8 @@ public class MetadataServiceResource
@DefaultValue("non-deleted")
Include include)
throws IOException {
MetadataService metadataService = getByNameInternal(uriInfo, securityContext, name, fieldsParam, include);
MetadataService metadataService =
getByNameInternal(uriInfo, securityContext, EntityInterfaceUtil.quoteName(name), fieldsParam, include);
return decryptOrNullify(securityContext, metadataService);
}
@ -464,7 +466,7 @@ public class MetadataServiceResource
@Parameter(description = "Name of the metadata service", schema = @Schema(type = "string")) @PathParam("name")
String name)
throws IOException {
return deleteByName(uriInfo, securityContext, name, false, hardDelete);
return deleteByName(uriInfo, securityContext, EntityInterfaceUtil.quoteName(name), false, hardDelete);
}
@PUT

View File

@ -58,6 +58,7 @@ import org.openmetadata.schema.type.EntityHistory;
import org.openmetadata.schema.type.Include;
import org.openmetadata.schema.type.MetadataOperation;
import org.openmetadata.schema.type.MlModelConnection;
import org.openmetadata.schema.utils.EntityInterfaceUtil;
import org.openmetadata.service.Entity;
import org.openmetadata.service.jdbi3.CollectionDAO;
import org.openmetadata.service.jdbi3.ListFilter;
@ -214,7 +215,8 @@ public class MlModelServiceResource
@DefaultValue("non-deleted")
Include include)
throws IOException {
MlModelService mlModelService = getByNameInternal(uriInfo, securityContext, name, fieldsParam, include);
MlModelService mlModelService =
getByNameInternal(uriInfo, securityContext, EntityInterfaceUtil.quoteName(name), fieldsParam, include);
return decryptOrNullify(securityContext, mlModelService);
}
@ -426,7 +428,7 @@ public class MlModelServiceResource
@Parameter(description = "Name of the ML Model service", schema = @Schema(type = "string")) @PathParam("name")
String name)
throws IOException {
return deleteByName(uriInfo, securityContext, name, false, hardDelete);
return deleteByName(uriInfo, securityContext, EntityInterfaceUtil.quoteName(name), false, hardDelete);
}
@PUT

View File

@ -56,6 +56,7 @@ import org.openmetadata.schema.type.EntityHistory;
import org.openmetadata.schema.type.Include;
import org.openmetadata.schema.type.MetadataOperation;
import org.openmetadata.schema.type.PipelineConnection;
import org.openmetadata.schema.utils.EntityInterfaceUtil;
import org.openmetadata.service.Entity;
import org.openmetadata.service.jdbi3.CollectionDAO;
import org.openmetadata.service.jdbi3.ListFilter;
@ -213,7 +214,8 @@ public class PipelineServiceResource
@DefaultValue("non-deleted")
Include include)
throws IOException {
PipelineService pipelineService = getByNameInternal(uriInfo, securityContext, fqn, fieldsParam, include);
PipelineService pipelineService =
getByNameInternal(uriInfo, securityContext, EntityInterfaceUtil.quoteName(fqn), fieldsParam, include);
return decryptOrNullify(securityContext, pipelineService);
}
@ -426,7 +428,7 @@ public class PipelineServiceResource
@PathParam("fqn")
String fqn)
throws IOException {
return deleteByName(uriInfo, securityContext, fqn, false, hardDelete);
return deleteByName(uriInfo, securityContext, EntityInterfaceUtil.quoteName(fqn), false, hardDelete);
}
@PUT

View File

@ -44,6 +44,7 @@ import org.openmetadata.schema.type.EntityHistory;
import org.openmetadata.schema.type.Include;
import org.openmetadata.schema.type.MetadataOperation;
import org.openmetadata.schema.type.StorageConnection;
import org.openmetadata.schema.utils.EntityInterfaceUtil;
import org.openmetadata.service.Entity;
import org.openmetadata.service.jdbi3.CollectionDAO;
import org.openmetadata.service.jdbi3.ListFilter;
@ -205,7 +206,8 @@ public class StorageServiceResource
@DefaultValue("non-deleted")
Include include)
throws IOException {
StorageService storageService = getByNameInternal(uriInfo, securityContext, name, fieldsParam, include);
StorageService storageService =
getByNameInternal(uriInfo, securityContext, EntityInterfaceUtil.quoteName(name), fieldsParam, include);
return decryptOrNullify(securityContext, storageService);
}
@ -414,7 +416,7 @@ public class StorageServiceResource
@Parameter(description = "Name of the StorageService", schema = @Schema(type = "string")) @PathParam("fqn")
String fqn)
throws IOException {
return deleteByName(uriInfo, securityContext, fqn, false, hardDelete);
return deleteByName(uriInfo, securityContext, EntityInterfaceUtil.quoteName(fqn), false, hardDelete);
}
@PUT