in core/src/main/java/org/apache/gravitino/storage/relational/JDBCBackend.java [286:348]
public int hardDeleteLegacyData(Entity.EntityType entityType, long legacyTimeline)
throws IOException {
switch (entityType) {
case METALAKE:
return MetalakeMetaService.getInstance()
.deleteMetalakeMetasByLegacyTimeline(
legacyTimeline, GARBAGE_COLLECTOR_SINGLE_DELETION_LIMIT);
case CATALOG:
return CatalogMetaService.getInstance()
.deleteCatalogMetasByLegacyTimeline(
legacyTimeline, GARBAGE_COLLECTOR_SINGLE_DELETION_LIMIT);
case SCHEMA:
return SchemaMetaService.getInstance()
.deleteSchemaMetasByLegacyTimeline(
legacyTimeline, GARBAGE_COLLECTOR_SINGLE_DELETION_LIMIT);
case TABLE:
return TableMetaService.getInstance()
.deleteTableMetasByLegacyTimeline(
legacyTimeline, GARBAGE_COLLECTOR_SINGLE_DELETION_LIMIT);
case FILESET:
return FilesetMetaService.getInstance()
.deleteFilesetAndVersionMetasByLegacyTimeline(
legacyTimeline, GARBAGE_COLLECTOR_SINGLE_DELETION_LIMIT);
case TOPIC:
return TopicMetaService.getInstance()
.deleteTopicMetasByLegacyTimeline(
legacyTimeline, GARBAGE_COLLECTOR_SINGLE_DELETION_LIMIT);
case USER:
return UserMetaService.getInstance()
.deleteUserMetasByLegacyTimeline(
legacyTimeline, GARBAGE_COLLECTOR_SINGLE_DELETION_LIMIT);
case GROUP:
return GroupMetaService.getInstance()
.deleteGroupMetasByLegacyTimeline(
legacyTimeline, GARBAGE_COLLECTOR_SINGLE_DELETION_LIMIT);
case ROLE:
return RoleMetaService.getInstance()
.deleteRoleMetasByLegacyTimeline(
legacyTimeline, GARBAGE_COLLECTOR_SINGLE_DELETION_LIMIT);
case TAG:
return TagMetaService.getInstance()
.deleteTagMetasByLegacyTimeline(
legacyTimeline, GARBAGE_COLLECTOR_SINGLE_DELETION_LIMIT);
case COLUMN:
return TableColumnMetaService.getInstance()
.deleteColumnsByLegacyTimeline(legacyTimeline, GARBAGE_COLLECTOR_SINGLE_DELETION_LIMIT);
case MODEL:
return ModelMetaService.getInstance()
.deleteModelMetasByLegacyTimeline(
legacyTimeline, GARBAGE_COLLECTOR_SINGLE_DELETION_LIMIT);
case MODEL_VERSION:
return ModelVersionMetaService.getInstance()
.deleteModelVersionMetasByLegacyTimeline(
legacyTimeline, GARBAGE_COLLECTOR_SINGLE_DELETION_LIMIT);
case AUDIT:
return 0;
// TODO: Implement hard delete logic for these entity types.
default:
throw new IllegalArgumentException(
"Unsupported entity type when collectAndRemoveLegacyData: " + entityType);
}
}