aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-webserver-core
diff options
context:
space:
mode:
authorSteve Marion <steve.marion@sonarsource.com>2024-05-06 18:03:36 +0200
committersonartech <sonartech@sonarsource.com>2024-05-08 20:02:44 +0000
commitcb1f5878464822e4e0caf660c9689c255f8cdb66 (patch)
treef4ebcb430c79e218bcc29e5aafbc3ecb03d80ca3 /server/sonar-webserver-core
parentaedbebebed4b2048458a8a7b104f74de23cd2f22 (diff)
downloadsonarqube-cb1f5878464822e4e0caf660c9689c255f8cdb66.tar.gz
sonarqube-cb1f5878464822e4e0caf660c9689c255f8cdb66.zip
SONAR-22141 implement simple linear ETA algorithm for db-migration.
Diffstat (limited to 'server/sonar-webserver-core')
-rw-r--r--server/sonar-webserver-core/src/main/java/org/sonar/server/platform/db/migration/DatabaseMigrationImpl.java4
-rw-r--r--server/sonar-webserver-core/src/test/java/org/sonar/server/platform/db/migration/DatabaseMigrationImplTest.java18
2 files changed, 12 insertions, 10 deletions
diff --git a/server/sonar-webserver-core/src/main/java/org/sonar/server/platform/db/migration/DatabaseMigrationImpl.java b/server/sonar-webserver-core/src/main/java/org/sonar/server/platform/db/migration/DatabaseMigrationImpl.java
index 9ddd8346604..71ae6b5130e 100644
--- a/server/sonar-webserver-core/src/main/java/org/sonar/server/platform/db/migration/DatabaseMigrationImpl.java
+++ b/server/sonar-webserver-core/src/main/java/org/sonar/server/platform/db/migration/DatabaseMigrationImpl.java
@@ -19,7 +19,7 @@
*/
package org.sonar.server.platform.db.migration;
-import java.util.Date;
+import java.time.Instant;
import java.util.concurrent.Semaphore;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -73,7 +73,7 @@ public class DatabaseMigrationImpl implements DatabaseMigration {
private void doDatabaseMigration() {
migrationState.setStatus(Status.RUNNING);
- migrationState.setStartedAt(new Date());
+ migrationState.setStartedAt(Instant.now());
migrationState.setError(null);
Profiler profiler = Profiler.create(LOGGER);
try {
diff --git a/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/db/migration/DatabaseMigrationImplTest.java b/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/db/migration/DatabaseMigrationImplTest.java
index 0cab425a9ca..5e7d7b21233 100644
--- a/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/db/migration/DatabaseMigrationImplTest.java
+++ b/server/sonar-webserver-core/src/test/java/org/sonar/server/platform/db/migration/DatabaseMigrationImplTest.java
@@ -19,7 +19,7 @@
*/
package org.sonar.server.platform.db.migration;
-import java.util.Date;
+import java.time.Instant;
import org.junit.Test;
import org.mockito.InOrder;
import org.sonar.server.platform.Platform;
@@ -68,7 +68,7 @@ public class DatabaseMigrationImplTest {
underTest.startIt();
assertThat(migrationState.getStatus()).isEqualTo(DatabaseMigrationState.Status.SUCCEEDED);
- assertThat(migrationState.getError()).isNull();
+ assertThat(migrationState.getError()).isEmpty();
assertThat(migrationState.getStartedAt()).isNotNull();
}
@@ -79,7 +79,7 @@ public class DatabaseMigrationImplTest {
underTest.startIt();
assertThat(migrationState.getStatus()).isEqualTo(DatabaseMigrationState.Status.FAILED);
- assertThat(migrationState.getError()).isSameAs(AN_ERROR);
+ assertThat(migrationState.getError()).get().isSameAs(AN_ERROR);
assertThat(migrationState.getStartedAt()).isNotNull();
}
@@ -90,17 +90,19 @@ public class DatabaseMigrationImplTest {
underTest.startIt();
assertThat(migrationState.getStatus()).isEqualTo(DatabaseMigrationState.Status.FAILED);
- assertThat(migrationState.getError()).isSameAs(AN_ERROR);
- Date firstStartDate = migrationState.getStartedAt();
- assertThat(firstStartDate).isNotNull();
+ assertThat(migrationState.getError()).get().isSameAs(AN_ERROR);
+ assertThat(migrationState.getStartedAt()).isPresent();
+ Instant firstStartDate = migrationState.getStartedAt().get();
mockMigrationDoesNothing();
underTest.startIt();
assertThat(migrationState.getStatus()).isEqualTo(DatabaseMigrationState.Status.SUCCEEDED);
- assertThat(migrationState.getError()).isNull();
- assertThat(migrationState.getStartedAt()).isNotSameAs(firstStartDate);
+ assertThat(migrationState.getError()).isEmpty();
+ assertThat(migrationState.getStartedAt())
+ .get()
+ .isNotSameAs(firstStartDate);
}
private void mockMigrationThrowsError() {