diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/AppRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/AppRepository.java index 3c965f107494..52583c194aa1 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/AppRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/AppRepository.java @@ -248,12 +248,14 @@ public void storeRelationships(App entity) { @Override protected void postDelete(App entity, boolean hardDelete) { super.postDelete(entity, hardDelete); - // Delete the status stored in the app extension - // Note that we don't want to delete the LIMITS, since we want to keep them - // between different app installations - daoCollection - .appExtensionTimeSeriesDao() - .delete(entity.getId().toString(), AppExtension.ExtensionType.STATUS.toString()); + if (hardDelete) { + // Delete the status stored in the app extension + // Note that we don't want to delete the LIMITS, since we want to keep them + // between different app installations + daoCollection + .appExtensionTimeSeriesDao() + .delete(entity.getId().toString(), AppExtension.ExtensionType.STATUS.toString()); + } } public final List listAll() { diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/DataContractRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/DataContractRepository.java index cbc426e6c81a..47dc9941bd17 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/DataContractRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/DataContractRepository.java @@ -240,13 +240,15 @@ protected void postUpdate(DataContract original, DataContract updated) { @Override protected void postDelete(DataContract dataContract, boolean hardDelete) { super.postDelete(dataContract, hardDelete); - if (!nullOrEmpty(dataContract.getQualityExpectations())) { - deleteTestSuite(dataContract); + if (hardDelete) { + if (!nullOrEmpty(dataContract.getQualityExpectations())) { + deleteTestSuite(dataContract); + } + // Clean status + daoCollection + .entityExtensionTimeSeriesDao() + .delete(dataContract.getFullyQualifiedName(), RESULT_EXTENSION); } - // Clean status - daoCollection - .entityExtensionTimeSeriesDao() - .delete(dataContract.getFullyQualifiedName(), RESULT_EXTENSION); } private void postCreateOrUpdate(DataContract dataContract) { diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/IngestionPipelineRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/IngestionPipelineRepository.java index a6ad876c7eab..317c1ae2f035 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/IngestionPipelineRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/IngestionPipelineRepository.java @@ -474,18 +474,20 @@ public EntityRepository.EntityUpdater getUpdater( @Override protected void postDelete(IngestionPipeline entity, boolean hardDelete) { super.postDelete(entity, hardDelete); - // Delete deployed pipeline in the Pipeline Service Client - if (pipelineServiceClient != null) { - pipelineServiceClient.deletePipeline(entity); - } else { - LOG.debug( - "Skipping pipeline service delete for '{}' because pipeline service client is not configured.", - entity.getFullyQualifiedName()); + if (hardDelete) { + // Delete deployed pipeline in the Pipeline Service Client + if (pipelineServiceClient != null) { + pipelineServiceClient.deletePipeline(entity); + } else { + LOG.debug( + "Skipping pipeline service delete for '{}' because pipeline service client is not configured.", + entity.getFullyQualifiedName()); + } + // Clean pipeline status + daoCollection + .entityExtensionTimeSeriesDao() + .delete(entity.getFullyQualifiedName(), PIPELINE_STATUS_EXTENSION); } - // Clean pipeline status - daoCollection - .entityExtensionTimeSeriesDao() - .delete(entity.getFullyQualifiedName(), PIPELINE_STATUS_EXTENSION); } @Override