|
8 | 8 |
|
9 | 9 | package org.elasticsearch.datastreams.logsdb.qa;
|
10 | 10 |
|
| 11 | +import org.elasticsearch.common.settings.Settings; |
11 | 12 | import org.elasticsearch.common.time.DateFormatter;
|
12 | 13 | import org.elasticsearch.common.time.FormatNames;
|
13 | 14 | import org.elasticsearch.core.CheckedConsumer;
|
| 15 | +import org.elasticsearch.index.mapper.Mapper; |
14 | 16 | import org.elasticsearch.index.mapper.ObjectMapper;
|
15 | 17 | import org.elasticsearch.logsdb.datageneration.DataGenerator;
|
16 | 18 | import org.elasticsearch.logsdb.datageneration.DataGeneratorSpecification;
|
|
36 | 38 | */
|
37 | 39 | public class StandardVersusLogsIndexModeRandomDataChallengeRestIT extends StandardVersusLogsIndexModeChallengeRestIT {
|
38 | 40 | private final ObjectMapper.Subobjects subobjects;
|
| 41 | + private final boolean keepArraySource; |
39 | 42 |
|
40 | 43 | private final DataGenerator dataGenerator;
|
41 | 44 |
|
42 | 45 | public StandardVersusLogsIndexModeRandomDataChallengeRestIT() {
|
43 | 46 | super();
|
44 | 47 | this.subobjects = randomFrom(ObjectMapper.Subobjects.values());
|
| 48 | + this.keepArraySource = randomBoolean(); |
45 | 49 |
|
46 | 50 | var specificationBuilder = DataGeneratorSpecification.builder().withFullyDynamicMapping(randomBoolean());
|
47 | 51 | if (subobjects != ObjectMapper.Subobjects.ENABLED) {
|
@@ -120,6 +124,13 @@ public void contenderMappings(XContentBuilder builder) throws IOException {
|
120 | 124 | }
|
121 | 125 | }
|
122 | 126 |
|
| 127 | + @Override |
| 128 | + public void contenderSettings(Settings.Builder builder) { |
| 129 | + if (keepArraySource) { |
| 130 | + builder.put(Mapper.SYNTHETIC_SOURCE_KEEP_INDEX_SETTING.getKey(), "arrays"); |
| 131 | + } |
| 132 | + } |
| 133 | + |
123 | 134 | @Override
|
124 | 135 | protected XContentBuilder generateDocument(final Instant timestamp) throws IOException {
|
125 | 136 | var document = XContentFactory.jsonBuilder();
|
|
0 commit comments