Merge branch 'stable-3.6' * stable-3.6: Remove dependency on //java/com/google/gerrit/proto Restore dockerized integration tests Adapt Bazel build and deps to latest stable-3.5 Adapt to the latest Index interface in stable-3.5 Also adapt account and change index implementation to removal of support for legacy numeric type done in: I6a040f55cc. Change-Id: I360f99595aec8430de593318eff5c403fe5a9040
diff --git a/src/main/java/com/google/gerrit/elasticsearch/ElasticAccountIndex.java b/src/main/java/com/google/gerrit/elasticsearch/ElasticAccountIndex.java index 8967789..beb57bd 100644 --- a/src/main/java/com/google/gerrit/elasticsearch/ElasticAccountIndex.java +++ b/src/main/java/com/google/gerrit/elasticsearch/ElasticAccountIndex.java
@@ -91,15 +91,12 @@ @Override public DataSource<AccountState> getSource(Predicate<AccountState> p, QueryOptions opts) throws QueryParseException { + boolean useLegacyNumericFields = schema.hasField(AccountField.ID); JsonArray sortArray = getSortArray( - schema.useLegacyNumericFields() - ? AccountField.ID.getName() - : AccountField.ID_STR.getName()); + useLegacyNumericFields ? AccountField.ID.getName() : AccountField.ID_STR.getName()); return new ElasticQuerySource( - p, - opts.filterFields(o -> IndexUtils.accountFields(o, schema.useLegacyNumericFields())), - sortArray); + p, opts.filterFields(o -> IndexUtils.accountFields(o, useLegacyNumericFields)), sortArray); } @Override @@ -129,7 +126,7 @@ source .getAsJsonObject() .get( - schema.useLegacyNumericFields() + schema.hasField(AccountField.ID) ? AccountField.ID.getName() : AccountField.ID_STR.getName()) .getAsInt());
diff --git a/src/main/java/com/google/gerrit/elasticsearch/ElasticChangeIndex.java b/src/main/java/com/google/gerrit/elasticsearch/ElasticChangeIndex.java index 7d4e0c7..83be597 100644 --- a/src/main/java/com/google/gerrit/elasticsearch/ElasticChangeIndex.java +++ b/src/main/java/com/google/gerrit/elasticsearch/ElasticChangeIndex.java
@@ -69,7 +69,6 @@ private final ChangeMapping mapping; private final ChangeData.Factory changeDataFactory; private final Schema<ChangeData> schema; - private final FieldDef<ChangeData, ?> idField; private final ImmutableSet<String> skipFields; @Inject @@ -84,8 +83,6 @@ this.changeDataFactory = changeDataFactory; this.schema = schema; this.mapping = new ChangeMapping(schema, client.adapter()); - this.idField = - this.schema.useLegacyNumericFields() ? ChangeField.LEGACY_ID : ChangeField.LEGACY_ID_STR; this.skipFields = MergeabilityComputationBehavior.fromConfig(gerritConfig).includeInIndex() ? ImmutableSet.of() @@ -110,8 +107,7 @@ @Override public DataSource<ChangeData> getSource(Predicate<ChangeData> p, QueryOptions opts) throws QueryParseException { - QueryOptions filteredOpts = - opts.filterFields(o -> IndexUtils.changeFields(o, schema.useLegacyNumericFields())); + QueryOptions filteredOpts = opts.filterFields(o -> IndexUtils.changeFields(o)); return new ElasticQuerySource(p, filteredOpts, getSortArray()); } @@ -122,7 +118,7 @@ JsonArray sortArray = new JsonArray(); addNamedElement(ChangeField.UPDATED.getName(), properties, sortArray); addNamedElement(ChangeField.MERGED_ON.getName(), getMergedOnSortOptions(), sortArray); - addNamedElement(idField.getName(), properties, sortArray); + addNamedElement(ChangeField.LEGACY_ID_STR.getName(), properties, sortArray); return sortArray; } @@ -160,7 +156,7 @@ JsonElement c = source.get(ChangeField.CHANGE.getName()); if (c == null) { - int id = source.get(idField.getName()).getAsInt(); + int id = source.get(ChangeField.LEGACY_ID_STR.getName()).getAsInt(); // IndexUtils#changeFields ensures either CHANGE or PROJECT is always present. String projectName = requireNonNull(source.get(ChangeField.PROJECT.getName()).getAsString()); return changeDataFactory.create(Project.nameKey(projectName), Change.id(id));