Skip to content

Commit

Permalink
Revert "Don't print synthetic source in mapping for bwc tests elastic#2"
Browse files Browse the repository at this point in the history
This reverts commit 44e8156.
  • Loading branch information
kkrik-es committed Oct 11, 2023
1 parent 123c296 commit c9d380b
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 33 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -114,17 +114,17 @@ public static class Builder extends MetadataFieldMapper.Builder {
);

private final IndexMode indexMode;
private final boolean setDefaultSytheticMode;

public Builder(IndexMode indexMode, boolean setDefaultSytheticMode) {
public Builder(IndexMode indexMode, IndexVersion indexVersion) {
super(Defaults.NAME);
this.indexMode = indexMode;
this.setDefaultSytheticMode = setDefaultSytheticMode;
this.mode = new Parameter<>(
"mode",
true,
// The default mode for TimeSeries is left empty on purpose, so that mapping printings include the synthetic source mode.
() -> getIndexMode() == IndexMode.TIME_SERIES && setDefaultSytheticMode ? Mode.SYNTHETIC : null,
() -> getIndexMode() == IndexMode.TIME_SERIES && indexVersion.between(IndexVersion.V_8_7_0, IndexVersion.V_8_10_0)
? Mode.SYNTHETIC
: null,
(n, c, o) -> Mode.valueOf(o.toString().toUpperCase(Locale.ROOT)),
m -> toType(m).enabled.explicit() ? null : toType(m).mode,
(b, n, v) -> b.field(n, v.toString().toLowerCase(Locale.ROOT)),
Expand Down Expand Up @@ -171,8 +171,7 @@ public SourceFieldMapper build() {
enabled.get(),
includes.getValue().toArray(String[]::new),
excludes.getValue().toArray(String[]::new),
indexMode,
setDefaultSytheticMode
indexMode
);
if (indexMode != null) {
indexMode.validateSourceFieldMapper(sourceFieldMapper);
Expand All @@ -189,10 +188,7 @@ private IndexMode getIndexMode() {
c -> c.getIndexSettings().getMode() == IndexMode.TIME_SERIES
? c.getIndexSettings().getIndexVersionCreated().onOrAfter(IndexVersion.V_8_7_0) ? TSDB_DEFAULT : TSDB_LEGACY_DEFAULT
: DEFAULT,
c -> new Builder(
c.getIndexSettings().getMode(),
c.getIndexSettings().getIndexVersionCreated().between(IndexVersion.V_8_7_0, IndexVersion.V_8_10_0)
)
c -> new Builder(c.getIndexSettings().getMode(), c.getIndexSettings().getIndexVersionCreated())
);

static final class SourceFieldType extends MappedFieldType {
Expand Down Expand Up @@ -234,25 +230,8 @@ public Query termQuery(Object value, SearchExecutionContext context) {
private final SourceFilter sourceFilter;

private final IndexMode indexMode;
private final boolean setDefaultSytheticMode;

private SourceFieldMapper(
Mode mode,
Explicit<Boolean> enabled,
String[] includes,
String[] excludes,
IndexMode indexMode) {
this(mode, enabled, includes, excludes, indexMode, false);
}

private SourceFieldMapper(
Mode mode,
Explicit<Boolean> enabled,
String[] includes,
String[] excludes,
IndexMode indexMode,
boolean setDefaultSytheticMode
) {
private SourceFieldMapper(Mode mode, Explicit<Boolean> enabled, String[] includes, String[] excludes, IndexMode indexMode) {
super(new SourceFieldType((enabled.explicit() && enabled.value()) || (enabled.explicit() == false && mode != Mode.DISABLED)));
assert enabled.explicit() == false || mode == null;
this.mode = mode;
Expand All @@ -265,7 +244,6 @@ private SourceFieldMapper(
}
this.complete = stored() && sourceFilter == null;
this.indexMode = indexMode;
this.setDefaultSytheticMode = setDefaultSytheticMode;
}

private static SourceFilter buildSourceFilter(String[] includes, String[] excludes) {
Expand Down Expand Up @@ -335,7 +313,7 @@ protected String contentType() {

@Override
public FieldMapper.Builder getMergeBuilder() {
return new Builder(indexMode, setDefaultSytheticMode).init(this);
return new Builder(indexMode, IndexVersion.current()).init(this);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
import org.elasticsearch.common.bytes.BytesReference;
import org.elasticsearch.common.xcontent.XContentHelper;
import org.elasticsearch.index.IndexMode;
import org.elasticsearch.index.IndexVersion;
import org.elasticsearch.xcontent.XContentBuilder;
import org.elasticsearch.xcontent.XContentFactory;
import org.elasticsearch.xcontent.XContentParser;
Expand Down Expand Up @@ -241,8 +242,8 @@ public void testSyntheticSourceInTimeSeries() throws IOException {
}

public void testSyntheticSourceInTimeSeriesBwc() throws IOException {
SourceFieldMapper sourceMapper = new SourceFieldMapper.Builder(IndexMode.TIME_SERIES, true).build();
SourceFieldMapper sourceMapper = new SourceFieldMapper.Builder(IndexMode.TIME_SERIES, IndexVersion.V_8_8_0).build();
assertTrue(sourceMapper.isSynthetic());
assertEquals("{}", sourceMapper.toString());
assertEquals("{\"_source\":{\"mode\":\"synthetic\"}}", sourceMapper.toString());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -381,7 +381,7 @@ public void testSearchRequestRuntimeFieldsAndMultifieldDetection() {

public void testSyntheticSourceSearchLookup() throws IOException {
// Build a mapping using synthetic source
SourceFieldMapper sourceMapper = new SourceFieldMapper.Builder(null, false).setSynthetic().build();
SourceFieldMapper sourceMapper = new SourceFieldMapper.Builder(null, IndexVersion.current()).setSynthetic().build();
RootObjectMapper root = new RootObjectMapper.Builder("_doc", Explicit.IMPLICIT_TRUE).add(
new KeywordFieldMapper.Builder("cat", IndexVersion.current()).ignoreAbove(100)
).build(MapperBuilderContext.root(true, false));
Expand Down

0 comments on commit c9d380b

Please sign in to comment.