summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorEric Hartmann <hartmann.eric@gmail.com>2017-09-06 17:52:29 +0200
committerEric Hartmann <hartmann.eric@gmail.Com>2017-09-14 18:18:20 +0200
commit89e6fc25ae823c2d572ffe60159a05096bf5b2eb (patch)
treeef025c8726f31e58ff2c7fbca5ecdd9a4f1534d1 /server
parent31d1f3edfce3e40d51504dc4af1932806806d752 (diff)
downloadsonarqube-89e6fc25ae823c2d572ffe60159a05096bf5b2eb.tar.gz
sonarqube-89e6fc25ae823c2d572ffe60159a05096bf5b2eb.zip
SONAR-9762 Purge must not catch exception
Diffstat (limited to 'server')
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/computation/dbcleaner/ProjectCleaner.java22
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/computation/dbcleaner/ProjectCleanerTest.java18
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));
- }
}