|
@@ -22,7 +22,6 @@ import org.elasticsearch.test.ESTestCase;
|
|
|
import org.elasticsearch.test.VersionUtils;
|
|
|
import org.hamcrest.Matchers;
|
|
|
|
|
|
-import java.time.Instant;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.Collections;
|
|
|
import java.util.HashSet;
|
|
@@ -683,30 +682,41 @@ public class IndexSettingsTests extends ESTestCase {
|
|
|
assertSettingDeprecationsAndWarnings(new Setting<?>[] { IndexMetadata.INDEX_DATA_PATH_SETTING });
|
|
|
}
|
|
|
|
|
|
+ public void testNoTimeRange() {
|
|
|
+ final Settings originalSettings = Settings.builder().build();
|
|
|
+ IndexSettings indexSettings = new IndexSettings(newIndexMeta("test", originalSettings), Settings.EMPTY);
|
|
|
+ assertNull(indexSettings.getTimestampBounds());
|
|
|
+ }
|
|
|
+
|
|
|
public void testUpdateTimeSeriesTimeRange() {
|
|
|
long endTime = System.currentTimeMillis();
|
|
|
long startTime = endTime - TimeUnit.DAYS.toMillis(1);
|
|
|
- final Settings settings = Settings.builder()
|
|
|
+ final Settings originalSettings = Settings.builder()
|
|
|
.put(IndexSettings.MODE.getKey(), IndexMode.TIME_SERIES)
|
|
|
.put(IndexMetadata.INDEX_ROUTING_PATH.getKey(), "foo")
|
|
|
.put(TIME_SERIES_START_TIME.getKey(), startTime)
|
|
|
.put(TIME_SERIES_END_TIME.getKey(), endTime)
|
|
|
.build();
|
|
|
- IndexMetadata metadata = newIndexMeta("test", settings);
|
|
|
- IndexSettings indexSettings = new IndexSettings(metadata, Settings.EMPTY);
|
|
|
+ IndexSettings indexSettings = new IndexSettings(newIndexMeta("test", originalSettings), Settings.EMPTY);
|
|
|
+ assertEquals(startTime, indexSettings.getTimestampBounds().startTime());
|
|
|
+ assertEquals(endTime, indexSettings.getTimestampBounds().endTime());
|
|
|
|
|
|
- // test update end_time
|
|
|
- // smaller
|
|
|
+ Settings endTimeBackwards = Settings.builder()
|
|
|
+ .put(originalSettings)
|
|
|
+ .put(TIME_SERIES_END_TIME.getKey(), endTime - randomLongBetween(1, 1000))
|
|
|
+ .build();
|
|
|
IllegalArgumentException e = expectThrows(
|
|
|
IllegalArgumentException.class,
|
|
|
- () -> indexSettings.updateTimeSeriesEndTime(Instant.ofEpochMilli(endTime - randomLongBetween(1, 1000)))
|
|
|
+ () -> indexSettings.updateIndexMetadata(newIndexMeta("test", endTimeBackwards))
|
|
|
);
|
|
|
assertThat(e.getMessage(), Matchers.containsString("index.time_series.end_time must be larger than current value"));
|
|
|
|
|
|
- // success
|
|
|
long newEndTime = endTime + randomLongBetween(1, 1000);
|
|
|
- indexSettings.updateTimeSeriesEndTime(Instant.ofEpochMilli(newEndTime));
|
|
|
- assertEquals(newEndTime, indexSettings.getTimeSeriesEndTime());
|
|
|
+ Settings endTimeForwards = Settings.builder().put(originalSettings).put(TIME_SERIES_END_TIME.getKey(), newEndTime).build();
|
|
|
+ indexSettings.updateIndexMetadata(newIndexMeta("test", endTimeForwards));
|
|
|
+
|
|
|
+ assertEquals(startTime, indexSettings.getTimestampBounds().startTime());
|
|
|
+ assertEquals(newEndTime, indexSettings.getTimestampBounds().endTime());
|
|
|
}
|
|
|
|
|
|
public void testTimeSeriesTimeBoundary() {
|