Skip to content

Commit 6f6076e

Browse files
authored
Drop some params from IndexFieldData.Builder (backport of #59934) (#59972)
We never used the `IndexSettings` parameter and we only used the `MappedFieldType` parameter to get the name of the field which we already know everywhere where we build the `IFD.Builder`. This allows us to drop a fair bit of ceremony from a couple of tests.
1 parent 466e947 commit 6f6076e

File tree

46 files changed

+123
-160
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+123
-160
lines changed

modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/ScaledFloatFieldMapper.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
import org.elasticsearch.common.xcontent.XContentParser;
3939
import org.elasticsearch.common.xcontent.XContentParser.Token;
4040
import org.elasticsearch.common.xcontent.support.XContentMapValues;
41-
import org.elasticsearch.index.IndexSettings;
4241
import org.elasticsearch.index.fielddata.FieldData;
4342
import org.elasticsearch.index.fielddata.IndexFieldData;
4443
import org.elasticsearch.index.fielddata.IndexFieldDataCache;
@@ -267,12 +266,15 @@ public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) {
267266
failIfNoDocValues();
268267
return new IndexFieldData.Builder() {
269268
@Override
270-
public IndexFieldData<?> build(IndexSettings indexSettings, MappedFieldType fieldType, IndexFieldDataCache cache,
271-
CircuitBreakerService breakerService, MapperService mapperService) {
269+
public IndexFieldData<?> build(
270+
IndexFieldDataCache cache,
271+
CircuitBreakerService breakerService,
272+
MapperService mapperService
273+
) {
272274
final IndexNumericFieldData scaledValues = new SortedNumericIndexFieldData.Builder(
275+
name(),
273276
IndexNumericFieldData.NumericType.LONG
274-
)
275-
.build(indexSettings, fieldType, cache, breakerService, mapperService);
277+
).build(cache, breakerService, mapperService);
276278
return new ScaledFloatIndexFieldData(scaledValues, scalingFactor);
277279
}
278280
};

modules/mapper-extras/src/test/java/org/elasticsearch/index/mapper/ScaledFloatFieldTypeTests.java

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,7 @@
2929
import org.apache.lucene.search.IndexSearcher;
3030
import org.apache.lucene.search.Query;
3131
import org.apache.lucene.store.Directory;
32-
import org.elasticsearch.Version;
33-
import org.elasticsearch.cluster.metadata.IndexMetadata;
34-
import org.elasticsearch.common.settings.Settings;
3532
import org.elasticsearch.core.internal.io.IOUtils;
36-
import org.elasticsearch.index.IndexSettings;
3733
import org.elasticsearch.index.fielddata.IndexNumericFieldData;
3834
import org.elasticsearch.index.fielddata.LeafNumericFieldData;
3935
import org.elasticsearch.index.fielddata.SortedNumericDoubleValues;
@@ -151,18 +147,10 @@ public void testFieldData() throws IOException {
151147
doc.add(new SortedNumericDocValuesField("scaled_float2", 12));
152148
w.addDocument(doc);
153149
try (DirectoryReader reader = DirectoryReader.open(w)) {
154-
IndexMetadata indexMetadata = new IndexMetadata.Builder("index").settings(
155-
Settings.builder()
156-
.put("index.version.created", Version.CURRENT)
157-
.put("index.number_of_shards", 1)
158-
.put("index.number_of_replicas", 0).build()).build();
159-
IndexSettings indexSettings = new IndexSettings(indexMetadata, Settings.EMPTY);
160-
161150
// single-valued
162151
ScaledFloatFieldMapper.ScaledFloatFieldType f1
163152
= new ScaledFloatFieldMapper.ScaledFloatFieldType("scaled_float1", scalingFactor);
164-
IndexNumericFieldData fielddata = (IndexNumericFieldData) f1.fielddataBuilder("index")
165-
.build(indexSettings, f1, null, null, null);
153+
IndexNumericFieldData fielddata = (IndexNumericFieldData) f1.fielddataBuilder("index").build(null, null, null);
166154
assertEquals(fielddata.getNumericType(), IndexNumericFieldData.NumericType.DOUBLE);
167155
LeafNumericFieldData leafFieldData = fielddata.load(reader.leaves().get(0));
168156
SortedNumericDoubleValues values = leafFieldData.getDoubleValues();
@@ -173,7 +161,7 @@ public void testFieldData() throws IOException {
173161
// multi-valued
174162
ScaledFloatFieldMapper.ScaledFloatFieldType f2
175163
= new ScaledFloatFieldMapper.ScaledFloatFieldType("scaled_float2", scalingFactor);
176-
fielddata = (IndexNumericFieldData) f2.fielddataBuilder("index").build(indexSettings, f2, null, null, null);
164+
fielddata = (IndexNumericFieldData) f2.fielddataBuilder("index").build(null, null, null);
177165
leafFieldData = fielddata.load(reader.leaves().get(0));
178166
values = leafFieldData.getDoubleValues();
179167
assertTrue(values.advanceExact(0));

modules/parent-join/src/main/java/org/elasticsearch/join/mapper/MetaJoinFieldMapper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ public String typeName() {
9090
@Override
9191
public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) {
9292
failIfNoDocValues();
93-
return new SortedSetOrdinalsIndexFieldData.Builder(CoreValuesSourceType.BYTES);
93+
return new SortedSetOrdinalsIndexFieldData.Builder(name(), CoreValuesSourceType.BYTES);
9494
}
9595

9696
@Override

modules/parent-join/src/main/java/org/elasticsearch/join/mapper/ParentIdFieldMapper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ public String typeName() {
108108
@Override
109109
public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) {
110110
failIfNoDocValues();
111-
return new SortedSetOrdinalsIndexFieldData.Builder(CoreValuesSourceType.BYTES);
111+
return new SortedSetOrdinalsIndexFieldData.Builder(name(), CoreValuesSourceType.BYTES);
112112
}
113113

114114
@Override

modules/parent-join/src/main/java/org/elasticsearch/join/mapper/ParentJoinFieldMapper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ public String typeName() {
218218
@Override
219219
public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) {
220220
failIfNoDocValues();
221-
return new SortedSetOrdinalsIndexFieldData.Builder(CoreValuesSourceType.BYTES);
221+
return new SortedSetOrdinalsIndexFieldData.Builder(name(), CoreValuesSourceType.BYTES);
222222
}
223223

224224
@Override

modules/percolator/src/main/java/org/elasticsearch/percolator/PercolateQueryBuilder.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -729,8 +729,7 @@ public <IFD extends IndexFieldData<?>> IFD getForField(MappedFieldType fieldType
729729
IndexFieldData.Builder builder = fieldType.fielddataBuilder(shardContext.getFullyQualifiedIndex().getName());
730730
IndexFieldDataCache cache = new IndexFieldDataCache.None();
731731
CircuitBreakerService circuitBreaker = new NoneCircuitBreakerService();
732-
return (IFD) builder.build(shardContext.getIndexSettings(), fieldType, cache, circuitBreaker,
733-
shardContext.getMapperService());
732+
return (IFD) builder.build(cache, circuitBreaker, shardContext.getMapperService());
734733
}
735734
};
736735
}

plugins/analysis-icu/src/main/java/org/elasticsearch/index/mapper/ICUCollationKeywordFieldMapper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ public Query existsQuery(QueryShardContext context) {
107107
@Override
108108
public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) {
109109
failIfNoDocValues();
110-
return new SortedSetOrdinalsIndexFieldData.Builder(CoreValuesSourceType.BYTES);
110+
return new SortedSetOrdinalsIndexFieldData.Builder(name(), CoreValuesSourceType.BYTES);
111111
}
112112

113113
@Override

plugins/mapper-murmur3/src/main/java/org/elasticsearch/index/mapper/murmur3/Murmur3FieldMapper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ public String typeName() {
104104
@Override
105105
public IndexFieldData.Builder fielddataBuilder(String fullyQualifiedIndexName) {
106106
failIfNoDocValues();
107-
return new SortedNumericIndexFieldData.Builder(NumericType.LONG);
107+
return new SortedNumericIndexFieldData.Builder(name(), NumericType.LONG);
108108
}
109109

110110
@Override

server/src/main/java/org/elasticsearch/index/fielddata/IndexFieldData.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,7 @@
3636
import org.apache.lucene.util.BytesRef;
3737
import org.elasticsearch.common.Nullable;
3838
import org.elasticsearch.common.util.BigArrays;
39-
import org.elasticsearch.index.IndexSettings;
4039
import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested;
41-
import org.elasticsearch.index.mapper.MappedFieldType;
4240
import org.elasticsearch.index.mapper.MapperService;
4341
import org.elasticsearch.indices.breaker.CircuitBreakerService;
4442
import org.elasticsearch.search.DocValueFormat;
@@ -253,8 +251,7 @@ public abstract BucketedSort newBucketedSort(BigArrays bigArrays, SortOrder sort
253251

254252
interface Builder {
255253

256-
IndexFieldData<?> build(IndexSettings indexSettings, MappedFieldType fieldType, IndexFieldDataCache cache,
257-
CircuitBreakerService breakerService, MapperService mapperService);
254+
IndexFieldData<?> build(IndexFieldDataCache cache, CircuitBreakerService breakerService, MapperService mapperService);
258255
}
259256

260257
interface Global<FD extends LeafFieldData> extends IndexFieldData<FD> {

server/src/main/java/org/elasticsearch/index/fielddata/IndexFieldDataService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ public <IFD extends IndexFieldData<?>> IFD getForField(MappedFieldType fieldType
131131
}
132132
}
133133

134-
return (IFD) builder.build(indexSettings, fieldType, cache, circuitBreakerService, mapperService);
134+
return (IFD) builder.build(cache, circuitBreakerService, mapperService);
135135
}
136136

137137
/**

server/src/main/java/org/elasticsearch/index/fielddata/plain/AbstractLatLonPointIndexFieldData.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,11 @@
2626
import org.apache.lucene.search.SortField;
2727
import org.elasticsearch.common.Nullable;
2828
import org.elasticsearch.common.util.BigArrays;
29-
import org.elasticsearch.index.IndexSettings;
3029
import org.elasticsearch.index.fielddata.IndexFieldData;
3130
import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested;
3231
import org.elasticsearch.index.fielddata.IndexFieldDataCache;
3332
import org.elasticsearch.index.fielddata.IndexGeoPointFieldData;
3433
import org.elasticsearch.index.fielddata.LeafGeoPointFieldData;
35-
import org.elasticsearch.index.mapper.MappedFieldType;
3634
import org.elasticsearch.index.mapper.MapperService;
3735
import org.elasticsearch.indices.breaker.CircuitBreakerService;
3836
import org.elasticsearch.search.DocValueFormat;
@@ -111,16 +109,18 @@ static void checkCompatible(FieldInfo fieldInfo) {
111109
}
112110

113111
public static class Builder implements IndexFieldData.Builder {
112+
private final String name;
114113
private final ValuesSourceType valuesSourceType;
115114

116-
public Builder(ValuesSourceType valuesSourceType) {
115+
public Builder(String name, ValuesSourceType valuesSourceType) {
116+
this.name = name;
117117
this.valuesSourceType = valuesSourceType;
118118
}
119+
119120
@Override
120-
public IndexFieldData<?> build(IndexSettings indexSettings, MappedFieldType fieldType, IndexFieldDataCache cache,
121-
CircuitBreakerService breakerService, MapperService mapperService) {
121+
public IndexFieldData<?> build(IndexFieldDataCache cache, CircuitBreakerService breakerService, MapperService mapperService) {
122122
// ignore breaker
123-
return new LatLonPointIndexFieldData(fieldType.name(), valuesSourceType);
123+
return new LatLonPointIndexFieldData(name, valuesSourceType);
124124
}
125125
}
126126
}

server/src/main/java/org/elasticsearch/index/fielddata/plain/BinaryIndexFieldData.java

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,10 @@
2323
import org.apache.lucene.search.SortField;
2424
import org.elasticsearch.common.Nullable;
2525
import org.elasticsearch.common.util.BigArrays;
26-
import org.elasticsearch.index.IndexSettings;
2726
import org.elasticsearch.index.fielddata.IndexFieldData;
2827
import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested;
2928
import org.elasticsearch.index.fielddata.IndexFieldDataCache;
3029
import org.elasticsearch.index.fielddata.fieldcomparator.BytesRefFieldComparatorSource;
31-
import org.elasticsearch.index.mapper.MappedFieldType;
3230
import org.elasticsearch.index.mapper.MapperService;
3331
import org.elasticsearch.indices.breaker.CircuitBreakerService;
3432
import org.elasticsearch.search.DocValueFormat;
@@ -40,22 +38,17 @@
4038
public class BinaryIndexFieldData implements IndexFieldData<BinaryDVLeafFieldData> {
4139

4240
public static class Builder implements IndexFieldData.Builder {
41+
private final String name;
4342
private final ValuesSourceType valuesSourceType;
4443

45-
public Builder(ValuesSourceType valuesSourceType) {
44+
public Builder(String name, ValuesSourceType valuesSourceType) {
45+
this.name = name;
4646
this.valuesSourceType = valuesSourceType;
4747
}
4848

4949
@Override
50-
public BinaryIndexFieldData build(
51-
IndexSettings indexSettings,
52-
MappedFieldType fieldType,
53-
IndexFieldDataCache cache,
54-
CircuitBreakerService breakerService,
55-
MapperService mapperService
56-
) {
57-
final String fieldName = fieldType.name();
58-
return new BinaryIndexFieldData(fieldName, valuesSourceType);
50+
public BinaryIndexFieldData build(IndexFieldDataCache cache, CircuitBreakerService breakerService, MapperService mapperService) {
51+
return new BinaryIndexFieldData(name, valuesSourceType);
5952
}
6053
}
6154
protected final String fieldName;

server/src/main/java/org/elasticsearch/index/fielddata/plain/BytesBinaryIndexFieldData.java

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,9 @@
2424
import org.apache.lucene.search.SortField;
2525
import org.elasticsearch.common.Nullable;
2626
import org.elasticsearch.common.util.BigArrays;
27-
import org.elasticsearch.index.IndexSettings;
2827
import org.elasticsearch.index.fielddata.IndexFieldData;
2928
import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested;
3029
import org.elasticsearch.index.fielddata.IndexFieldDataCache;
31-
import org.elasticsearch.index.mapper.MappedFieldType;
3230
import org.elasticsearch.index.mapper.MapperService;
3331
import org.elasticsearch.indices.breaker.CircuitBreakerService;
3432
import org.elasticsearch.search.DocValueFormat;
@@ -90,19 +88,18 @@ public BytesBinaryDVLeafFieldData loadDirect(LeafReaderContext context) throws E
9088
}
9189

9290
public static class Builder implements IndexFieldData.Builder {
93-
ValuesSourceType valuesSourceType;
91+
private final String name;
92+
private final ValuesSourceType valuesSourceType;
9493

95-
public Builder(ValuesSourceType valuesSourceType) {
96-
this.valuesSourceType = valuesSourceType;
94+
public Builder(String name, ValuesSourceType valuesSourceType) {
95+
this.name = name;
96+
this.valuesSourceType = valuesSourceType;
9797
}
9898

9999
@Override
100-
public IndexFieldData<?> build(IndexSettings indexSettings, MappedFieldType fieldType, IndexFieldDataCache cache,
101-
CircuitBreakerService breakerService, MapperService mapperService) {
100+
public IndexFieldData<?> build(IndexFieldDataCache cache, CircuitBreakerService breakerService, MapperService mapperService) {
102101
// Ignore breaker
103-
final String fieldName = fieldType.name();
104-
return new BytesBinaryIndexFieldData(fieldName, valuesSourceType);
102+
return new BytesBinaryIndexFieldData(name, valuesSourceType);
105103
}
106-
107104
}
108105
}

server/src/main/java/org/elasticsearch/index/fielddata/plain/ConstantIndexFieldData.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,13 @@
2929
import org.apache.lucene.util.BytesRef;
3030
import org.elasticsearch.common.Nullable;
3131
import org.elasticsearch.common.util.BigArrays;
32-
import org.elasticsearch.index.IndexSettings;
3332
import org.elasticsearch.index.fielddata.AbstractSortedDocValues;
34-
import org.elasticsearch.index.fielddata.LeafOrdinalsFieldData;
3533
import org.elasticsearch.index.fielddata.IndexFieldData;
34+
import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested;
3635
import org.elasticsearch.index.fielddata.IndexFieldDataCache;
3736
import org.elasticsearch.index.fielddata.IndexOrdinalsFieldData;
38-
import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested;
37+
import org.elasticsearch.index.fielddata.LeafOrdinalsFieldData;
3938
import org.elasticsearch.index.fielddata.fieldcomparator.BytesRefFieldComparatorSource;
40-
import org.elasticsearch.index.mapper.MappedFieldType;
4139
import org.elasticsearch.index.mapper.MapperService;
4240
import org.elasticsearch.index.mapper.TextFieldMapper;
4341
import org.elasticsearch.indices.breaker.CircuitBreakerService;
@@ -57,17 +55,18 @@ public class ConstantIndexFieldData extends AbstractIndexOrdinalsFieldData {
5755
public static class Builder implements IndexFieldData.Builder {
5856

5957
private final Function<MapperService, String> valueFunction;
58+
private final String name;
6059
private final ValuesSourceType valuesSourceType;
6160

62-
public Builder(Function<MapperService, String> valueFunction, ValuesSourceType valuesSourceType) {
61+
public Builder(Function<MapperService, String> valueFunction, String name, ValuesSourceType valuesSourceType) {
6362
this.valueFunction = valueFunction;
63+
this.name = name;
6464
this.valuesSourceType = valuesSourceType;
6565
}
6666

6767
@Override
68-
public IndexFieldData<?> build(IndexSettings indexSettings, MappedFieldType fieldType, IndexFieldDataCache cache,
69-
CircuitBreakerService breakerService, MapperService mapperService) {
70-
return new ConstantIndexFieldData(fieldType.name(), valueFunction.apply(mapperService), valuesSourceType);
68+
public IndexFieldData<?> build(IndexFieldDataCache cache, CircuitBreakerService breakerService, MapperService mapperService) {
69+
return new ConstantIndexFieldData(name, valueFunction.apply(mapperService), valuesSourceType);
7170
}
7271

7372
}

server/src/main/java/org/elasticsearch/index/fielddata/plain/PagedBytesIndexFieldData.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
import org.elasticsearch.common.Nullable;
3737
import org.elasticsearch.common.breaker.CircuitBreaker;
3838
import org.elasticsearch.common.util.BigArrays;
39-
import org.elasticsearch.index.IndexSettings;
4039
import org.elasticsearch.index.fielddata.IndexFieldData;
4140
import org.elasticsearch.index.fielddata.IndexFieldData.XFieldComparatorSource.Nested;
4241
import org.elasticsearch.index.fielddata.IndexFieldDataCache;
@@ -46,7 +45,6 @@
4645
import org.elasticsearch.index.fielddata.fieldcomparator.BytesRefFieldComparatorSource;
4746
import org.elasticsearch.index.fielddata.ordinals.Ordinals;
4847
import org.elasticsearch.index.fielddata.ordinals.OrdinalsBuilder;
49-
import org.elasticsearch.index.mapper.MappedFieldType;
5048
import org.elasticsearch.index.mapper.MapperService;
5149
import org.elasticsearch.indices.breaker.CircuitBreakerService;
5250
import org.elasticsearch.search.DocValueFormat;
@@ -61,22 +59,22 @@ public class PagedBytesIndexFieldData extends AbstractIndexOrdinalsFieldData {
6159
private static final Logger logger = LogManager.getLogger(PagedBytesIndexFieldData.class);
6260

6361
public static class Builder implements IndexFieldData.Builder {
64-
62+
private final String name;
6563
private final double minFrequency, maxFrequency;
6664
private final int minSegmentSize;
6765
private final ValuesSourceType valuesSourceType;
6866

69-
public Builder(double minFrequency, double maxFrequency, int minSegmentSize, ValuesSourceType valuesSourceType) {
67+
public Builder(String name, double minFrequency, double maxFrequency, int minSegmentSize, ValuesSourceType valuesSourceType) {
68+
this.name = name;
7069
this.minFrequency = minFrequency;
7170
this.maxFrequency = maxFrequency;
7271
this.minSegmentSize = minSegmentSize;
7372
this.valuesSourceType = valuesSourceType;
7473
}
7574

7675
@Override
77-
public IndexOrdinalsFieldData build(IndexSettings indexSettings, MappedFieldType fieldType,
78-
IndexFieldDataCache cache, CircuitBreakerService breakerService, MapperService mapperService) {
79-
return new PagedBytesIndexFieldData(fieldType.name(), valuesSourceType, cache, breakerService,
76+
public IndexOrdinalsFieldData build(IndexFieldDataCache cache, CircuitBreakerService breakerService, MapperService mapperService) {
77+
return new PagedBytesIndexFieldData(name, valuesSourceType, cache, breakerService,
8078
minFrequency, maxFrequency, minSegmentSize);
8179
}
8280
}

0 commit comments

Comments
 (0)