Browse Source

Fix issues with daylight saving time

tags/7.5
Simon Brandhof 6 years ago
parent
commit
b4125add7a

+ 6
- 10
server/sonar-ce/src/main/java/org/sonar/ce/queue/PurgeCeActivities.java View File

@@ -19,10 +19,11 @@
*/
package org.sonar.ce.queue;

import java.util.Calendar;
import java.util.Date;
import java.util.Set;
import org.sonar.api.Startable;
import org.sonar.api.ce.ComputeEngineSide;
import org.sonar.api.utils.DateUtils;
import org.sonar.api.utils.System2;
import org.sonar.api.utils.log.Logger;
import org.sonar.api.utils.log.Loggers;
@@ -49,24 +50,19 @@ public class PurgeCeActivities implements Startable {
@Override
public void start() {
try (DbSession dbSession = dbClient.openSession(false)) {
Calendar sixMonthsAgo = Calendar.getInstance();
long now = system2.now();
sixMonthsAgo.setTimeInMillis(now);
sixMonthsAgo.add(Calendar.DATE, -180);
Date sixMonthsAgo = DateUtils.addDays(new Date(system2.now()), -180);

LOGGER.info("Delete the Compute Engine tasks created before {}", sixMonthsAgo.getTime());
Set<String> ceActivityUuids = dbClient.ceActivityDao().selectOlderThan(dbSession, sixMonthsAgo.getTimeInMillis())
Set<String> ceActivityUuids = dbClient.ceActivityDao().selectOlderThan(dbSession, sixMonthsAgo.getTime())
.stream()
.map(CeActivityDto::getUuid)
.collect(toSet());
dbClient.ceActivityDao().deleteByUuids(dbSession, ceActivityUuids);

Calendar fourWeeksAgo = Calendar.getInstance();
fourWeeksAgo.setTimeInMillis(system2.now());
fourWeeksAgo.add(Calendar.DATE, -28);
Date fourWeeksAgo = DateUtils.addDays(new Date(system2.now()), -28);

LOGGER.info("Delete the Scanner contexts tasks created before {}", fourWeeksAgo.getTime());
Set<String> scannerContextUuids = dbClient.ceScannerContextDao().selectOlderThan(dbSession, fourWeeksAgo.getTimeInMillis());
Set<String> scannerContextUuids = dbClient.ceScannerContextDao().selectOlderThan(dbSession, fourWeeksAgo.getTime());
dbClient.ceScannerContextDao().deleteByUuids(
dbSession,
concat(ceActivityUuids.stream(), scannerContextUuids.stream()).collect(toSet()));

+ 1
- 1
server/sonar-db-dao/src/main/java/org/sonar/db/purge/PurgeConfiguration.java View File

@@ -25,9 +25,9 @@ import java.util.Collection;
import java.util.Date;
import java.util.Optional;
import javax.annotation.CheckForNull;
import org.apache.commons.lang.time.DateUtils;
import org.sonar.api.config.Configuration;
import org.sonar.api.resources.Scopes;
import org.sonar.api.utils.DateUtils;
import org.sonar.api.utils.System2;
import org.sonar.core.config.PurgeConstants;


Loading…
Cancel
Save