From 4296d305d4189621d2b8a42848899284b04fa38e Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Fri, 20 Mar 2015 11:51:54 +0100 Subject: Fix some quality flaws --- .../org/sonar/server/activity/index/ActivityResultSetIterator.java | 3 ++- .../org/sonar/server/source/index/SourceFileResultSetIterator.java | 3 ++- .../src/test/java/org/sonar/server/util/DateCollectorTest.java | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) (limited to 'server/sonar-server') diff --git a/server/sonar-server/src/main/java/org/sonar/server/activity/index/ActivityResultSetIterator.java b/server/sonar-server/src/main/java/org/sonar/server/activity/index/ActivityResultSetIterator.java index 9bb8cdd7b35..8a292c0e8f3 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/activity/index/ActivityResultSetIterator.java +++ b/server/sonar-server/src/main/java/org/sonar/server/activity/index/ActivityResultSetIterator.java @@ -19,6 +19,7 @@ */ package org.sonar.server.activity.index; +import org.apache.commons.io.Charsets; import org.apache.commons.lang.StringUtils; import org.elasticsearch.action.update.UpdateRequest; import org.sonar.api.utils.KeyValueFormat; @@ -80,7 +81,7 @@ class ActivityResultSetIterator extends ResultSetIterator { protected UpdateRequest read(ResultSet rs) throws SQLException { ByteArrayOutputStream bytes = new ByteArrayOutputStream(); // all the fields must be present, even if value is null - JsonWriter writer = JsonWriter.of(new OutputStreamWriter(bytes)).setSerializeNulls(true); + JsonWriter writer = JsonWriter.of(new OutputStreamWriter(bytes, Charsets.UTF_8)).setSerializeNulls(true); writer.beginObject(); String key = rs.getString(1); writer.prop(ActivityIndexDefinition.FIELD_KEY, key); diff --git a/server/sonar-server/src/main/java/org/sonar/server/source/index/SourceFileResultSetIterator.java b/server/sonar-server/src/main/java/org/sonar/server/source/index/SourceFileResultSetIterator.java index cf346eaf8b0..a662fa02207 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/source/index/SourceFileResultSetIterator.java +++ b/server/sonar-server/src/main/java/org/sonar/server/source/index/SourceFileResultSetIterator.java @@ -19,6 +19,7 @@ */ package org.sonar.server.source.index; +import org.apache.commons.io.Charsets; import org.apache.commons.lang.StringUtils; import org.elasticsearch.action.update.UpdateRequest; import org.sonar.api.utils.text.JsonWriter; @@ -117,7 +118,7 @@ public class SourceFileResultSetIterator extends ResultSetIterator Date: Fri, 20 Mar 2015 11:52:12 +0100 Subject: Do not retry to index failed requests in BulkIndexer --- .../main/java/org/sonar/server/es/BulkIndexer.java | 36 +++------------------- 1 file changed, 5 insertions(+), 31 deletions(-) (limited to 'server/sonar-server') diff --git a/server/sonar-server/src/main/java/org/sonar/server/es/BulkIndexer.java b/server/sonar-server/src/main/java/org/sonar/server/es/BulkIndexer.java index 218da47bd84..a43ba7a4fcd 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/es/BulkIndexer.java +++ b/server/sonar-server/src/main/java/org/sonar/server/es/BulkIndexer.java @@ -20,7 +20,6 @@ package org.sonar.server.es; import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; import com.google.common.collect.Maps; import org.elasticsearch.action.ActionListener; import org.elasticsearch.action.ActionRequest; @@ -42,7 +41,6 @@ import org.sonar.api.utils.log.Logger; import org.sonar.api.utils.log.Loggers; import org.sonar.server.util.ProgressLogger; -import java.util.List; import java.util.Map; import java.util.concurrent.Semaphore; import java.util.concurrent.TimeUnit; @@ -103,8 +101,6 @@ public class BulkIndexer implements Startable { return this; } - - @Override public void start() { Preconditions.checkState(bulkRequest == null, ALREADY_STARTED_MESSAGE); @@ -212,35 +208,13 @@ public class BulkIndexer implements Startable { semaphore.release(); counter.addAndGet(response.getItems().length); - List retries = Lists.newArrayList(); for (BulkItemResponse item : response.getItems()) { if (item.isFailed()) { - ActionRequest retry = req.request().requests().get(item.getItemId()); - retries.add(retry); - } - } - - if (!retries.isEmpty()) { - LOGGER.warn(String.format("%d index requests failed. Trying again.", retries.size())); - BulkRequestBuilder retryBulk = client.prepareBulk(); - for (ActionRequest retry : retries) { - retryBulk.request().add(retry); - } - BulkResponse retryBulkResponse = retryBulk.get(); - if (retryBulkResponse.hasFailures()) { - LOGGER.error("New attempt to index documents failed"); - for (int index = 0; index < retryBulkResponse.getItems().length; index++) { - BulkItemResponse item = retryBulkResponse.getItems()[index]; - if (item.isFailed()) { - StringBuilder sb = new StringBuilder(); - String msg = sb.append("\n[").append(index) - .append("]: index [").append(item.getIndex()).append("], type [").append(item.getType()).append("], id [").append(item.getId()) - .append("], message [").append(item.getFailureMessage()).append("]").toString(); - LOGGER.error(msg); - } - } - } else { - LOGGER.info("New index attempt succeeded"); + StringBuilder sb = new StringBuilder(); + String msg = sb + .append("index [").append(item.getIndex()).append("], type [").append(item.getType()).append("], id [").append(item.getId()) + .append("], message [").append(item.getFailureMessage()).append("]").toString(); + LOGGER.error(msg); } } } -- cgit v1.2.3