]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-10689 add INFO log when dropping ES index in migration
authorSimon Brandhof <simon.brandhof@sonarsource.com>
Tue, 29 May 2018 20:22:20 +0000 (22:22 +0200)
committerSonarTech <sonartech@sonarsource.com>
Tue, 12 Jun 2018 18:21:00 +0000 (20:21 +0200)
server/sonar-server/src/main/java/org/sonar/server/es/MigrationEsClientImpl.java
server/sonar-server/src/test/java/org/sonar/server/es/MigrationEsClientImplTest.java

index 4d30aea9940f49d2122f22e705d380ed5e281a2e..c3df7eda91959a1e87e1f86670b205c7849fee41 100644 (file)
@@ -25,6 +25,7 @@ import java.util.Arrays;
 import java.util.Set;
 import java.util.stream.Stream;
 import org.elasticsearch.action.admin.indices.mapping.get.GetMappingsResponse;
+import org.sonar.api.utils.log.Loggers;
 import org.sonar.server.platform.db.migration.es.MigrationEsClient;
 
 public class MigrationEsClientImpl implements MigrationEsClient {
@@ -41,6 +42,11 @@ public class MigrationEsClientImpl implements MigrationEsClient {
     Stream.concat(Stream.of(name), Arrays.stream(otherNames))
       .distinct()
       .filter(existingIndices::contains)
-      .forEach(index -> client.nativeClient().admin().indices().prepareDelete(index).get());
+      .forEach(this::deleteIndex);
+  }
+
+  private void deleteIndex(String index) {
+    Loggers.get(getClass()).info("Drop Elasticsearch index [{}]", index);
+    client.nativeClient().admin().indices().prepareDelete(index).get();
   }
 }
index 62a4e498e47fb128b08c8cd48e87bafa6e8086bb..21b039d055c90029bf8c7fd5e3506bbc65c301b5 100644 (file)
@@ -24,12 +24,16 @@ import org.elasticsearch.cluster.metadata.IndexMetaData;
 import org.junit.Rule;
 import org.junit.Test;
 import org.sonar.api.config.internal.MapSettings;
+import org.sonar.api.utils.log.LogTester;
+import org.sonar.api.utils.log.LoggerLevel;
 import org.sonar.server.platform.db.migration.es.MigrationEsClient;
 
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.sonar.server.es.NewIndex.SettingsConfiguration.newBuilder;
 
 public class MigrationEsClientImplTest {
+  @Rule
+  public LogTester logTester = new LogTester();
   @Rule
   public EsTester es = EsTester.createCustom(
     new SimpleIndexDefinition("a"),
@@ -45,6 +49,8 @@ public class MigrationEsClientImplTest {
     assertThat(loadExistingIndices())
       .doesNotContain("a")
       .contains("b", "c");
+    assertThat(logTester.logs(LoggerLevel.INFO))
+      .contains("Drop Elasticsearch index [a]");
   }
 
   @Test
@@ -54,6 +60,9 @@ public class MigrationEsClientImplTest {
     assertThat(loadExistingIndices())
       .doesNotContain("a", "c")
       .contains("b");
+    assertThat(logTester.logs(LoggerLevel.INFO))
+      .contains("Drop Elasticsearch index [a]", "Drop Elasticsearch index [c]")
+      .doesNotContain("Drop Elasticsearch index [xxx]");
   }
 
   private Iterator<String> loadExistingIndices() {