summaryrefslogtreecommitdiffstats
path: root/sonar-server
diff options
context:
space:
mode:
Diffstat (limited to 'sonar-server')
-rw-r--r--sonar-server/src/main/java/org/sonar/server/db/migrations/violation/Progress.java15
-rw-r--r--sonar-server/src/main/java/org/sonar/server/db/migrations/violation/Referentials.java6
2 files changed, 10 insertions, 11 deletions
diff --git a/sonar-server/src/main/java/org/sonar/server/db/migrations/violation/Progress.java b/sonar-server/src/main/java/org/sonar/server/db/migrations/violation/Progress.java
index d74f6182b65..c21f017bef1 100644
--- a/sonar-server/src/main/java/org/sonar/server/db/migrations/violation/Progress.java
+++ b/sonar-server/src/main/java/org/sonar/server/db/migrations/violation/Progress.java
@@ -24,6 +24,7 @@ import org.slf4j.LoggerFactory;
import java.util.TimerTask;
import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicLong;
/**
* This task logs every minute the status of migration. It is destroyed
@@ -34,18 +35,18 @@ class Progress extends TimerTask {
static final String THREAD_NAME = "Violation Migration Progress";
static final long DELAY_MS = 60000L;
- private final AtomicInteger counter = new AtomicInteger(0);
+ private final AtomicLong counter = new AtomicLong(0L);
private final Logger logger;
- private final int totalViolations;
+ private final long totalViolations;
private final long start;
- Progress(int totalViolations, Logger logger, long startDate) {
+ Progress(long totalViolations, Logger logger, long startDate) {
this.totalViolations = totalViolations;
this.logger = logger;
this.start = startDate;
}
- Progress(int totalViolations) {
+ Progress(long totalViolations) {
this(totalViolations, LoggerFactory.getLogger(Progress.class), System.currentTimeMillis());
}
@@ -55,12 +56,12 @@ class Progress extends TimerTask {
@Override
public void run() {
- int totalIssues = counter.get();
+ long totalIssues = counter.get();
long durationMinutes = (System.currentTimeMillis() - start) / 60000L;
- int percents = (100 * totalIssues) / totalViolations;
+ int percents = (int)((100L * totalIssues) / totalViolations);
if (totalIssues>0 && durationMinutes > 0) {
int frequency = (int) (totalIssues / durationMinutes);
- int remaining = (totalViolations - totalIssues) / frequency;
+ long remaining = (totalViolations - totalIssues) / frequency;
logger.info(String.format(
"%d%% [%d/%d violations, %d minutes remaining]", percents, totalIssues, totalViolations, remaining)
);
diff --git a/sonar-server/src/main/java/org/sonar/server/db/migrations/violation/Referentials.java b/sonar-server/src/main/java/org/sonar/server/db/migrations/violation/Referentials.java
index 2260b160f4d..df64c46aacd 100644
--- a/sonar-server/src/main/java/org/sonar/server/db/migrations/violation/Referentials.java
+++ b/sonar-server/src/main/java/org/sonar/server/db/migrations/violation/Referentials.java
@@ -46,9 +46,7 @@ class Referentials {
private final Map<Long, String> loginsByUserId;
private final Map<Long, String> plansById;
private final Queue<long[]> groupsOfViolationIds;
-
- // int is enough, it allows to upgrade up to 2 billions violations !
- private int totalViolations = 0;
+ private long totalViolations = 0L;
Referentials(Database database) throws SQLException {
loginsByUserId = selectLongString(database, "select id,login from users");
@@ -66,7 +64,7 @@ class Referentials {
return id != null ? loginsByUserId.get(id) : null;
}
- int totalViolations() {
+ long totalViolations() {
return totalViolations;
}