diff options
author | Steve Marion <steve.marion@sonarsource.com> | 2024-05-06 18:03:36 +0200 |
---|---|---|
committer | sonartech <sonartech@sonarsource.com> | 2024-05-08 20:02:44 +0000 |
commit | cb1f5878464822e4e0caf660c9689c255f8cdb66 (patch) | |
tree | f4ebcb430c79e218bcc29e5aafbc3ecb03d80ca3 /server/sonar-webserver-core | |
parent | aedbebebed4b2048458a8a7b104f74de23cd2f22 (diff) | |
download | sonarqube-cb1f5878464822e4e0caf660c9689c255f8cdb66.tar.gz sonarqube-cb1f5878464822e4e0caf660c9689c255f8cdb66.zip |
SONAR-22141 implement simple linear ETA algorithm for db-migration.
Diffstat (limited to 'server/sonar-webserver-core')
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() { |