From 4a14dc55be9ede0d55c73d06a24e49141daa50d3 Mon Sep 17 00:00:00 2001 From: Kai Zimmermann Date: Tue, 4 Apr 2017 16:53:48 +0200 Subject: [PATCH] Set isolation level. Remove manual artifact cleanup at tenant delete (#471) * Set isolation level. Remove manual artifact cleanup at tenant delete (is cascaded). Signed-off-by: kaizimmerm * Needs to be read commited. Signed-off-by: kaizimmerm --- .../hawkbit/repository/jpa/JpaSystemManagement.java | 12 ++---------- .../repository/jpa/autoassign/AutoAssignChecker.java | 3 +++ 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/JpaSystemManagement.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/JpaSystemManagement.java index 4305130aa..df103c9ea 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/JpaSystemManagement.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/JpaSystemManagement.java @@ -58,9 +58,6 @@ public class JpaSystemManagement implements CurrentTenantCacheKeyGenerator, Syst @Autowired private TargetFilterQueryRepository targetFilterQueryRepository; - @Autowired - private ActionRepository actionRepository; - @Autowired private DistributionSetRepository distributionSetRepository; @@ -82,18 +79,12 @@ public class JpaSystemManagement implements CurrentTenantCacheKeyGenerator, Syst @Autowired private DistributionSetTagRepository distributionSetTagRepository; - @Autowired - private LocalArtifactRepository artifactRepository; - @Autowired private TenantConfigurationRepository tenantConfigurationRepository; @Autowired private RolloutRepository rolloutRepository; - @Autowired - private RolloutGroupRepository rolloutGroupRepository; - @Autowired private TenantAware tenantAware; @@ -196,6 +187,8 @@ public class JpaSystemManagement implements CurrentTenantCacheKeyGenerator, Syst final DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setName("initial-tenant-creation"); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW); + def.setReadOnly(false); + def.setIsolationLevel(Isolation.READ_UNCOMMITTED.value()); return systemSecurityContext.runAsSystemAsTenant( () -> new TransactionTemplate(txManager, def).execute(status -> tenantMetaDataRepository .save(new JpaTenantMetaData(createStandardSoftwareDataSetup(), tenant))), @@ -219,7 +212,6 @@ public class JpaSystemManagement implements CurrentTenantCacheKeyGenerator, Syst targetRepository.deleteByTenantIgnoreCase(tenant); targetFilterQueryRepository.deleteByTenantIgnoreCase(tenant); rolloutRepository.deleteByTenantIgnoreCase(tenant); - artifactRepository.deleteByTenantIgnoreCase(tenant); targetTagRepository.deleteByTenantIgnoreCase(tenant); distributionSetTagRepository.deleteByTenantIgnoreCase(tenant); distributionSetRepository.deleteByTenantIgnoreCase(tenant); diff --git a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/autoassign/AutoAssignChecker.java b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/autoassign/AutoAssignChecker.java index ae616e893..13ec2788a 100644 --- a/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/autoassign/AutoAssignChecker.java +++ b/hawkbit-repository/hawkbit-repository-jpa/src/main/java/org/eclipse/hawkbit/repository/jpa/autoassign/AutoAssignChecker.java @@ -29,6 +29,7 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.TransactionDefinition; +import org.springframework.transaction.annotation.Isolation; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.support.DefaultTransactionDefinition; @@ -87,6 +88,8 @@ public class AutoAssignChecker { final DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setName("autoAssignDSToTargets"); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW); + def.setReadOnly(false); + def.setIsolationLevel(Isolation.READ_COMMITTED.value()); transactionTemplate = new TransactionTemplate(transactionManager, def); }