Add a debug log while insert/replace change index operation Add a debug log while indexing a change doc, which helps in debugging issues when the ES ends up with a stale change doc. Change-Id: Id920dec50f0bf3e48dc2b64b671c4f8bc20023f9
diff --git a/src/main/java/com/google/gerrit/elasticsearch/ElasticChangeIndex.java b/src/main/java/com/google/gerrit/elasticsearch/ElasticChangeIndex.java index 8504e16..b6121e8 100644 --- a/src/main/java/com/google/gerrit/elasticsearch/ElasticChangeIndex.java +++ b/src/main/java/com/google/gerrit/elasticsearch/ElasticChangeIndex.java
@@ -17,6 +17,7 @@ import static java.util.Objects.requireNonNull; import com.google.common.collect.ImmutableSet; +import com.google.common.flogger.FluentLogger; import com.google.gerrit.elasticsearch.ElasticMapping.Mapping; import com.google.gerrit.elasticsearch.bulk.BulkRequest; import com.google.gerrit.elasticsearch.bulk.IndexRequest; @@ -52,6 +53,8 @@ /** Secondary index implementation using Elasticsearch. */ class ElasticChangeIndex extends AbstractElasticIndex<Change.Id, ChangeData> implements ChangeIndex { + private static final FluentLogger logger = FluentLogger.forEnclosingClass(); + static class ChangeMapping { final Mapping changes; final Mapping openChanges; @@ -99,6 +102,17 @@ BulkRequest bulk = new IndexRequest(getId(cd), indexName).add(new UpdateRequest<>(schema, cd, skipFields)); + if (logger.atFine().isEnabled()) { + String metaRevision = null; + try { + metaRevision = cd.metaRevisionOrThrow().name(); + } catch (Exception ignored) { + } + logger.atFine().log( + "Indexing: change: %s, status: %s, meta revision: %s", + cd.change().currentPatchSetId(), cd.change().getStatus(), metaRevision); + } + String uri = getURI(BULK); Response response = postRequestWithRefreshParam(uri, bulk); int statusCode = response.getStatusLine().getStatusCode();