Skip to content

Commit 0d2ee6a

Browse files
committed
Always write doc_values param to mapping for wildcard field
I made a mistake making this parameter default to false. In 3.0, I would like to switch the default to true. An index upgraded from 2.x with the default (false) value should specifically emit the value to avoid implicitly picking up the new default (true). Signed-off-by: Michael Froh <[email protected]>
1 parent fccd6c5 commit 0d2ee6a

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

server/src/main/java/org/opensearch/index/mapper/WildcardFieldMapper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ public static final class Builder extends ParametrizedFieldMapper.Builder {
101101
);
102102
private final Parameter<String> normalizer = Parameter.stringParam("normalizer", false, m -> toType(m).normalizerName, "default");
103103
private final Parameter<Map<String, String>> meta = Parameter.metaParam();
104-
private final Parameter<Boolean> hasDocValues = Parameter.docValuesParam(m -> toType(m).hasDocValues, false);
104+
private final Parameter<Boolean> hasDocValues = Parameter.docValuesParam(m -> toType(m).hasDocValues, false).alwaysSerialize();
105105
private final IndexAnalyzers indexAnalyzers;
106106

107107
public Builder(String name, IndexAnalyzers indexAnalyzers) {

server/src/test/java/org/opensearch/index/mapper/WildcardFieldMapperTests.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ public class WildcardFieldMapperTests extends MapperTestCase {
4949
@Override
5050
protected void minimalMapping(XContentBuilder b) throws IOException {
5151
b.field("type", "wildcard");
52+
b.field("doc_values", false);
5253
}
5354

5455
@Override
@@ -59,7 +60,10 @@ protected void writeFieldValue(XContentBuilder builder) throws IOException {
5960
@Override
6061
protected void registerParameters(ParameterChecker checker) throws IOException {
6162
checker.registerConflictCheck("normalizer", b -> b.field("normalizer", "lowercase"));
62-
checker.registerConflictCheck("doc_values", b -> b.field("doc_values", true));
63+
checker.registerConflictCheck("doc_values", fieldMapping(this::minimalMapping), fieldMapping(xcb -> {
64+
xcb.field("type", "wildcard");
65+
xcb.field("doc_values", true);
66+
}));
6367
checker.registerConflictCheck("null_value", b -> b.field("null_value", "foo"));
6468
checker.registerUpdateCheck(b -> b.field("ignore_above", 256), m -> assertEquals(256, ((WildcardFieldMapper) m).ignoreAbove()));
6569
}

0 commit comments

Comments
 (0)