diff options
author | Eric Hartmann <hartmann.eric@gmail.com> | 2017-09-06 17:52:29 +0200 |
---|---|---|
committer | Eric Hartmann <hartmann.eric@gmail.Com> | 2017-09-14 18:18:20 +0200 |
commit | 89e6fc25ae823c2d572ffe60159a05096bf5b2eb (patch) | |
tree | ef025c8726f31e58ff2c7fbca5ecdd9a4f1534d1 /server | |
parent | 31d1f3edfce3e40d51504dc4af1932806806d752 (diff) | |
download | sonarqube-89e6fc25ae823c2d572ffe60159a05096bf5b2eb.tar.gz sonarqube-89e6fc25ae823c2d572ffe60159a05096bf5b2eb.zip |
SONAR-9762 Purge must not catch exception
Diffstat (limited to 'server')
2 files changed, 2 insertions, 38 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/dbcleaner/ProjectCleaner.java b/server/sonar-server/src/main/java/org/sonar/server/computation/dbcleaner/ProjectCleaner.java index d2969f7c840..1def57fd52b 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/dbcleaner/ProjectCleaner.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/dbcleaner/ProjectCleaner.java @@ -60,8 +60,8 @@ public class ProjectCleaner { PurgeConfiguration configuration = newDefaultPurgeConfiguration(projectConfig, idUuidPair, disabledComponentUuids); - cleanHistoricalData(session, configuration.rootProjectIdUuid().getUuid(), projectConfig); - doPurge(session, configuration); + periodCleaner.clean(session, configuration.rootProjectIdUuid().getUuid(), projectConfig); + purgeDao.purge(session, configuration, purgeListener, profiler); session.commit(); logProfiling(start, projectConfig); @@ -76,22 +76,4 @@ public class ProjectCleaner { LOG.info("\n -------- End of profiling for purge --------\n"); } } - - private void cleanHistoricalData(DbSession session, String rootUuid, Configuration config) { - try { - periodCleaner.clean(session, rootUuid, config); - } catch (Exception e) { - // purge errors must no fail the batch - LOG.error("Fail to clean historical data [uuid=" + rootUuid + "]", e); - } - } - - private void doPurge(DbSession session, PurgeConfiguration configuration) { - try { - purgeDao.purge(session, configuration, purgeListener, profiler); - } catch (Exception e) { - // purge errors must no fail the report analysis - LOG.error("Fail to purge data [id=" + configuration.rootProjectIdUuid().getId() + "]", e); - } - } } diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/dbcleaner/ProjectCleanerTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/dbcleaner/ProjectCleanerTest.java index 611a8d14c53..fc9c4ab88fb 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/computation/dbcleaner/ProjectCleanerTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/computation/dbcleaner/ProjectCleanerTest.java @@ -86,22 +86,4 @@ public class ProjectCleanerTest { verify(periodCleaner).clean(any(DbSession.class), anyString(), any(Configuration.class)); verify(dao).purge(any(DbSession.class), any(PurgeConfiguration.class), any(PurgeListener.class), any(PurgeProfiler.class)); } - - @Test - public void if_dao_purge_fails_it_should_not_interrupt_program_execution() { - doThrow(RuntimeException.class).when(dao).purge(any(DbSession.class), any(PurgeConfiguration.class), any(PurgeListener.class), any(PurgeProfiler.class)); - - underTest.purge(mock(DbSession.class), mock(IdUuidPair.class), settings.asConfig(), emptyList()); - - verify(dao).purge(any(DbSession.class), any(PurgeConfiguration.class), any(PurgeListener.class), any(PurgeProfiler.class)); - } - - @Test - public void if_profiler_cleaning_fails_it_should_not_interrupt_program_execution() { - doThrow(RuntimeException.class).when(periodCleaner).clean(any(DbSession.class), anyString(), any(Configuration.class)); - - underTest.purge(mock(DbSession.class), mock(IdUuidPair.class), settings.asConfig(), emptyList()); - - verify(periodCleaner).clean(any(DbSession.class), anyString(), any(Configuration.class)); - } } |