Skip to content

Commit c9bfdc4

Browse files
committed
temp
1 parent 2136af2 commit c9bfdc4

File tree

2 files changed

+32
-17
lines changed

2 files changed

+32
-17
lines changed

server/src/main/java/org/elasticsearch/index/IndexMode.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,8 @@ void validateWithOtherSettings(Map<Setting<?>, Object> settings) {
8080
}
8181
}
8282
settingRequiresTimeSeries(settings, IndexMetadata.INDEX_ROUTING_PATH);
83-
// TODO make start and stop time required
83+
settingRequiresTimeSeries(settings, IndexSettings.TIME_SERIES_START_TIME);
84+
settingRequiresTimeSeries(settings, IndexSettings.TIME_SERIES_END_TIME);
8485
}
8586

8687
private void settingRequiresTimeSeries(Map<Setting<?>, Object> settings, Setting<?> setting) {

server/src/test/java/org/elasticsearch/index/TimeSeriesModeTests.java

Lines changed: 30 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,14 @@
1010

1111
import org.elasticsearch.cluster.metadata.IndexMetadata;
1212
import org.elasticsearch.common.settings.Settings;
13+
import org.elasticsearch.common.time.DateUtils;
14+
import org.elasticsearch.index.mapper.DataStreamTimestampFieldMapper;
15+
import org.elasticsearch.index.mapper.DateFieldMapper;
16+
import org.elasticsearch.index.mapper.DateFieldMapper.DateFieldType;
17+
import org.elasticsearch.index.mapper.DocumentMapper;
18+
import org.elasticsearch.index.mapper.MappedFieldType;
19+
import org.elasticsearch.index.mapper.Mapper;
20+
import org.elasticsearch.index.mapper.MapperParsingException;
1321
import org.elasticsearch.index.mapper.MapperServiceTestCase;
1422
import org.elasticsearch.script.Script;
1523
import org.elasticsearch.script.ScriptContext;
@@ -25,44 +33,33 @@
2533
public class TimeSeriesModeTests extends MapperServiceTestCase {
2634

2735
public void testConfigureIndex() {
28-
Settings s = Settings.builder()
29-
.put(IndexSettings.MODE.getKey(), "time_series")
30-
.put(IndexMetadata.INDEX_ROUTING_PATH.getKey(), "foo")
31-
.build();
36+
Settings s = getSettings();
3237
assertSame(IndexMode.TIME_SERIES, IndexSettings.MODE.get(s));
3338
}
3439

3540
public void testPartitioned() {
36-
Settings s = Settings.builder()
37-
.put(IndexMetadata.INDEX_ROUTING_PARTITION_SIZE_SETTING.getKey(), 2)
38-
.put(IndexSettings.MODE.getKey(), "time_series")
39-
.build();
41+
Settings s = Settings.builder().put(getSettings()).put(IndexMetadata.INDEX_ROUTING_PARTITION_SIZE_SETTING.getKey(), 2).build();
4042
Exception e = expectThrows(IllegalArgumentException.class, () -> IndexSettings.MODE.get(s));
4143
assertThat(e.getMessage(), equalTo("[index.mode=time_series] is incompatible with [index.routing_partition_size]"));
4244
}
4345

4446
public void testSortField() {
45-
Settings s = Settings.builder()
46-
.put(IndexSortConfig.INDEX_SORT_FIELD_SETTING.getKey(), "a")
47-
.put(IndexSettings.MODE.getKey(), "time_series")
48-
.build();
47+
Settings s = Settings.builder().put(getSettings()).put(IndexSortConfig.INDEX_SORT_FIELD_SETTING.getKey(), "a").build();
4948
Exception e = expectThrows(IllegalArgumentException.class, () -> IndexSettings.MODE.get(s));
5049
assertThat(e.getMessage(), equalTo("[index.mode=time_series] is incompatible with [index.sort.field]"));
5150
}
5251

5352
public void testSortMode() {
54-
Settings s = Settings.builder()
53+
Settings s = Settings.builder().put(getSettings())
5554
.put(IndexSortConfig.INDEX_SORT_MISSING_SETTING.getKey(), "_last")
56-
.put(IndexSettings.MODE.getKey(), "time_series")
5755
.build();
5856
Exception e = expectThrows(IllegalArgumentException.class, () -> IndexSettings.MODE.get(s));
5957
assertThat(e.getMessage(), equalTo("[index.mode=time_series] is incompatible with [index.sort.missing]"));
6058
}
6159

6260
public void testSortOrder() {
63-
Settings s = Settings.builder()
61+
Settings s = Settings.builder().put(getSettings())
6462
.put(IndexSortConfig.INDEX_SORT_ORDER_SETTING.getKey(), "desc")
65-
.put(IndexSettings.MODE.getKey(), "time_series")
6663
.build();
6764
Exception e = expectThrows(IllegalArgumentException.class, () -> IndexSettings.MODE.get(s));
6865
assertThat(e.getMessage(), equalTo("[index.mode=time_series] is incompatible with [index.sort.order]"));
@@ -243,4 +240,21 @@ public LeafFactory newFactory(String fieldName, Map<String, Object> params, Sear
243240
}
244241
return super.compileScript(script, context);
245242
}
243+
244+
private Settings getSettings() {
245+
return getSettings(randomAlphaOfLength(5), 1, DateUtils.MAX_MILLIS_BEFORE_9999 - 1);
246+
}
247+
248+
private Settings getSettings(String routingPath) {
249+
return getSettings(routingPath, 1, DateUtils.MAX_MILLIS_BEFORE_9999 - 1);
250+
}
251+
252+
private Settings getSettings(String routingPath, long startTime, long endTime) {
253+
return Settings.builder()
254+
.put(IndexSettings.MODE.getKey(), "time_series")
255+
.put(IndexMetadata.INDEX_ROUTING_PATH.getKey(), routingPath)
256+
.put(IndexSettings.TIME_SERIES_START_TIME.getKey(), startTime)
257+
.put(IndexSettings.TIME_SERIES_END_TIME.getKey(), endTime)
258+
.build();
259+
}
246260
}

0 commit comments

Comments
 (0)