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();