aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-server
diff options
context:
space:
mode:
authorJenkins CI <ci@sonarsource.com>2015-03-20 13:02:09 +0100
committerJenkins CI <ci@sonarsource.com>2015-03-20 13:02:09 +0100
commit8e5797b672c6b3370698e706c823f41cef2514d4 (patch)
tree27cd26043ff0389d35435a08ecc19d8a525adde5 /server/sonar-server
parent37d694868e5bdf177d1103e261750a379a2b45e1 (diff)
parent4010dadc61187e390d044408873cdce1af4829f6 (diff)
downloadsonarqube-8e5797b672c6b3370698e706c823f41cef2514d4.tar.gz
sonarqube-8e5797b672c6b3370698e706c823f41cef2514d4.zip
Automatic merge from branch-5.1
* origin/branch-5.1: Do not retry to index failed requests in BulkIndexer Fix some quality flaws
Diffstat (limited to 'server/sonar-server')
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/activity/index/ActivityResultSetIterator.java3
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/es/BulkIndexer.java36
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/source/index/SourceFileResultSetIterator.java3
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/util/DateCollectorTest.java1
4 files changed, 10 insertions, 33 deletions
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 5e6aae81311..430db67a0c5 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;
@@ -76,7 +77,7 @@ class ActivityResultSetIterator extends ResultSetIterator<UpdateRequest> {
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/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<ActionRequest> 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);
}
}
}
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 ab01ae4d44d..3158d3cef7a 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<SourceFileRes
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();
writer.prop(SourceLineIndexDefinition.FIELD_PROJECT_UUID, projectUuid);
writer.prop(SourceLineIndexDefinition.FIELD_FILE_UUID, fileUuid);
diff --git a/server/sonar-server/src/test/java/org/sonar/server/util/DateCollectorTest.java b/server/sonar-server/src/test/java/org/sonar/server/util/DateCollectorTest.java
index da7369eee7f..9b7a28d8859 100644
--- a/server/sonar-server/src/test/java/org/sonar/server/util/DateCollectorTest.java
+++ b/server/sonar-server/src/test/java/org/sonar/server/util/DateCollectorTest.java
@@ -36,6 +36,7 @@ public class DateCollectorTest {
@Test
public void max() throws Exception {
collector.add(DateUtils.parseDate("2013-06-01"));
+ collector.add(null);
collector.add(DateUtils.parseDate("2014-01-01"));
collector.add(DateUtils.parseDate("2013-08-01"));