Skip to content

Commit 1b1aa4e

Browse files
authored
Fix a test bug around nested aggregations and field aliases. (#32287)
This issue affected both NestedAggregatorTest and ReverseNestedAggregatorTest.
1 parent bba1da6 commit 1b1aa4e

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

server/src/test/java/org/elasticsearch/search/aggregations/bucket/nested/NestedAggregatorTests.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -655,6 +655,7 @@ public void testPreGetChildLeafCollectors() throws IOException {
655655

656656
public void testFieldAlias() throws IOException {
657657
int numRootDocs = randomIntBetween(1, 20);
658+
int expectedNestedDocs = 0;
658659

659660
MappedFieldType fieldType = new NumberFieldMapper.NumberFieldType(
660661
NumberFieldMapper.NumberType.LONG);
@@ -665,6 +666,7 @@ public void testFieldAlias() throws IOException {
665666
for (int i = 0; i < numRootDocs; i++) {
666667
List<Document> documents = new ArrayList<>();
667668
int numNestedDocs = randomIntBetween(0, 20);
669+
expectedNestedDocs += numNestedDocs;
668670
generateDocuments(documents, numNestedDocs, i, NESTED_OBJECT, VALUE_FIELD_NAME);
669671

670672
Document document = new Document();
@@ -681,7 +683,6 @@ public void testFieldAlias() throws IOException {
681683
try (IndexReader indexReader = wrap(DirectoryReader.open(directory))) {
682684
NestedAggregationBuilder agg = nested(NESTED_AGG, NESTED_OBJECT).subAggregation(
683685
max(MAX_AGG_NAME).field(VALUE_FIELD_NAME));
684-
685686
NestedAggregationBuilder aliasAgg = nested(NESTED_AGG, NESTED_OBJECT).subAggregation(
686687
max(MAX_AGG_NAME).field(VALUE_FIELD_NAME + "-alias"));
687688

@@ -690,8 +691,8 @@ public void testFieldAlias() throws IOException {
690691
Nested aliasNested = search(newSearcher(indexReader, false, true),
691692
new MatchAllDocsQuery(), aliasAgg, fieldType);
692693

693-
assertTrue(nested.getDocCount() > 0);
694694
assertEquals(nested, aliasNested);
695+
assertEquals(expectedNestedDocs, nested.getDocCount());
695696
}
696697
}
697698
}

server/src/test/java/org/elasticsearch/search/aggregations/bucket/nested/ReverseNestedAggregatorTests.java

+6-2
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,7 @@ public void testMaxFromParentDocs() throws IOException {
169169

170170
public void testFieldAlias() throws IOException {
171171
int numParentDocs = randomIntBetween(1, 20);
172+
int expectedParentDocs = 0;
172173

173174
MappedFieldType fieldType = new NumberFieldMapper.NumberFieldType(
174175
NumberFieldMapper.NumberType.LONG);
@@ -179,6 +180,10 @@ public void testFieldAlias() throws IOException {
179180
for (int i = 0; i < numParentDocs; i++) {
180181
List<Document> documents = new ArrayList<>();
181182
int numNestedDocs = randomIntBetween(0, 20);
183+
if (numNestedDocs > 0) {
184+
expectedParentDocs++;
185+
}
186+
182187
for (int nested = 0; nested < numNestedDocs; nested++) {
183188
Document document = new Document();
184189
document.add(new Field(IdFieldMapper.NAME, Uid.encodeId(Integer.toString(i)),
@@ -203,7 +208,6 @@ public void testFieldAlias() throws IOException {
203208
}
204209

205210
try (IndexReader indexReader = wrap(DirectoryReader.open(directory))) {
206-
207211
MaxAggregationBuilder maxAgg = max(MAX_AGG_NAME).field(VALUE_FIELD_NAME);
208212
MaxAggregationBuilder aliasMaxAgg = max(MAX_AGG_NAME).field(VALUE_FIELD_NAME + "-alias");
209213

@@ -220,8 +224,8 @@ public void testFieldAlias() throws IOException {
220224
ReverseNested reverseNested = nested.getAggregations().get(REVERSE_AGG_NAME);
221225
ReverseNested aliasReverseNested = aliasNested.getAggregations().get(REVERSE_AGG_NAME);
222226

223-
assertTrue(reverseNested.getDocCount() > 0);
224227
assertEquals(reverseNested, aliasReverseNested);
228+
assertEquals(expectedParentDocs, reverseNested.getDocCount());
225229
}
226230
}
227231
}

0 commit comments

Comments
 (0)