Watcher: Rename watch and triggered watch types to `doc (elastic/x-pack-elasticsearch#1414)
Note: This disables the BWC tests until the upgrade API is here Original commit: elastic/x-pack-elasticsearch@8011fa06e3
This commit is contained in:
parent
d6a9185857
commit
adf480f8fd
|
@ -49,7 +49,6 @@ import java.util.stream.Collectors;
|
||||||
import static org.elasticsearch.cluster.routing.ShardRoutingState.RELOCATING;
|
import static org.elasticsearch.cluster.routing.ShardRoutingState.RELOCATING;
|
||||||
import static org.elasticsearch.cluster.routing.ShardRoutingState.STARTED;
|
import static org.elasticsearch.cluster.routing.ShardRoutingState.STARTED;
|
||||||
import static org.elasticsearch.xpack.watcher.support.Exceptions.illegalState;
|
import static org.elasticsearch.xpack.watcher.support.Exceptions.illegalState;
|
||||||
import static org.elasticsearch.xpack.watcher.watch.Watch.DOC_TYPE;
|
|
||||||
import static org.elasticsearch.xpack.watcher.watch.Watch.INDEX;
|
import static org.elasticsearch.xpack.watcher.watch.Watch.INDEX;
|
||||||
|
|
||||||
|
|
||||||
|
@ -215,7 +214,6 @@ public class WatcherService extends AbstractComponent {
|
||||||
List<Watch> watches = new ArrayList<>();
|
List<Watch> watches = new ArrayList<>();
|
||||||
|
|
||||||
SearchRequest searchRequest = new SearchRequest(INDEX)
|
SearchRequest searchRequest = new SearchRequest(INDEX)
|
||||||
.types(DOC_TYPE)
|
|
||||||
.scroll(scrollTimeout)
|
.scroll(scrollTimeout)
|
||||||
.preference(Preference.ONLY_LOCAL.toString())
|
.preference(Preference.ONLY_LOCAL.toString())
|
||||||
.source(new SearchSourceBuilder()
|
.source(new SearchSourceBuilder()
|
||||||
|
|
|
@ -51,7 +51,7 @@ import static org.elasticsearch.xpack.watcher.support.Exceptions.ioException;
|
||||||
public class TriggeredWatchStore extends AbstractComponent {
|
public class TriggeredWatchStore extends AbstractComponent {
|
||||||
|
|
||||||
public static final String INDEX_NAME = ".triggered_watches";
|
public static final String INDEX_NAME = ".triggered_watches";
|
||||||
public static final String DOC_TYPE = "triggered_watch";
|
public static final String DOC_TYPE = "doc";
|
||||||
|
|
||||||
private final int scrollSize;
|
private final int scrollSize;
|
||||||
private final WatcherClientProxy client;
|
private final WatcherClientProxy client;
|
||||||
|
@ -215,7 +215,6 @@ public class TriggeredWatchStore extends AbstractComponent {
|
||||||
Collection<TriggeredWatch> triggeredWatches = new ArrayList<>(ids.size());
|
Collection<TriggeredWatch> triggeredWatches = new ArrayList<>(ids.size());
|
||||||
|
|
||||||
SearchRequest searchRequest = new SearchRequest(TriggeredWatchStore.INDEX_NAME)
|
SearchRequest searchRequest = new SearchRequest(TriggeredWatchStore.INDEX_NAME)
|
||||||
.types(TriggeredWatchStore.DOC_TYPE)
|
|
||||||
.scroll(scrollTimeout)
|
.scroll(scrollTimeout)
|
||||||
.preference(Preference.LOCAL.toString())
|
.preference(Preference.LOCAL.toString())
|
||||||
.source(new SearchSourceBuilder()
|
.source(new SearchSourceBuilder()
|
||||||
|
|
|
@ -56,7 +56,7 @@ public class Watch implements ToXContentObject {
|
||||||
public static final String ALL_ACTIONS_ID = "_all";
|
public static final String ALL_ACTIONS_ID = "_all";
|
||||||
public static final String INCLUDE_STATUS_KEY = "include_status";
|
public static final String INCLUDE_STATUS_KEY = "include_status";
|
||||||
public static final String INDEX = ".watches";
|
public static final String INDEX = ".watches";
|
||||||
public static final String DOC_TYPE = "watch";
|
public static final String DOC_TYPE = "doc";
|
||||||
|
|
||||||
private final String id;
|
private final String id;
|
||||||
private final Trigger trigger;
|
private final Trigger trigger;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"index_patterns": ".triggered_watches",
|
"index_patterns": ".triggered_watches*",
|
||||||
"order": 2147483647,
|
"order": 2147483647,
|
||||||
"settings": {
|
"settings": {
|
||||||
"index.number_of_shards": 1,
|
"index.number_of_shards": 1,
|
||||||
|
@ -8,7 +8,7 @@
|
||||||
"index.priority": 900
|
"index.priority": 900
|
||||||
},
|
},
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"triggered_watch": {
|
"doc": {
|
||||||
"dynamic" : "strict",
|
"dynamic" : "strict",
|
||||||
"properties": {
|
"properties": {
|
||||||
"trigger_event": {
|
"trigger_event": {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"index_patterns": ".watches",
|
"index_patterns": ".watches*",
|
||||||
"order": 2147483647,
|
"order": 2147483647,
|
||||||
"settings": {
|
"settings": {
|
||||||
"index.number_of_shards": 1,
|
"index.number_of_shards": 1,
|
||||||
|
@ -7,7 +7,7 @@
|
||||||
"index.priority": 800
|
"index.priority": 800
|
||||||
},
|
},
|
||||||
"mappings": {
|
"mappings": {
|
||||||
"watch": {
|
"doc": {
|
||||||
"dynamic" : "strict",
|
"dynamic" : "strict",
|
||||||
"properties": {
|
"properties": {
|
||||||
"_status": {
|
"_status": {
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
*/
|
*/
|
||||||
package org.elasticsearch.xpack.watcher;
|
package org.elasticsearch.xpack.watcher;
|
||||||
|
|
||||||
|
import org.apache.lucene.util.LuceneTestCase.AwaitsFix;
|
||||||
import org.elasticsearch.AbstractOldXPackIndicesBackwardsCompatibilityTestCase;
|
import org.elasticsearch.AbstractOldXPackIndicesBackwardsCompatibilityTestCase;
|
||||||
import org.elasticsearch.Version;
|
import org.elasticsearch.Version;
|
||||||
import org.elasticsearch.action.search.SearchResponse;
|
import org.elasticsearch.action.search.SearchResponse;
|
||||||
|
@ -21,15 +22,12 @@ import org.elasticsearch.xpack.watcher.transport.actions.stats.WatcherStatsRespo
|
||||||
import org.elasticsearch.xpack.watcher.trigger.schedule.IntervalSchedule;
|
import org.elasticsearch.xpack.watcher.trigger.schedule.IntervalSchedule;
|
||||||
import org.elasticsearch.xpack.watcher.trigger.schedule.IntervalSchedule.Interval;
|
import org.elasticsearch.xpack.watcher.trigger.schedule.IntervalSchedule.Interval;
|
||||||
import org.elasticsearch.xpack.watcher.trigger.schedule.ScheduleTrigger;
|
import org.elasticsearch.xpack.watcher.trigger.schedule.ScheduleTrigger;
|
||||||
import org.elasticsearch.xpack.watcher.watch.Watch;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static org.elasticsearch.common.unit.TimeValue.timeValueSeconds;
|
import static org.elasticsearch.common.unit.TimeValue.timeValueSeconds;
|
||||||
import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder;
|
|
||||||
import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertAcked;
|
|
||||||
import static org.hamcrest.Matchers.everyItem;
|
import static org.hamcrest.Matchers.everyItem;
|
||||||
import static org.hamcrest.Matchers.greaterThanOrEqualTo;
|
import static org.hamcrest.Matchers.greaterThanOrEqualTo;
|
||||||
import static org.hamcrest.Matchers.hasEntry;
|
import static org.hamcrest.Matchers.hasEntry;
|
||||||
|
@ -40,6 +38,8 @@ import static org.hamcrest.Matchers.not;
|
||||||
/**
|
/**
|
||||||
* Tests for watcher indexes created before 5.0.
|
* Tests for watcher indexes created before 5.0.
|
||||||
*/
|
*/
|
||||||
|
// This will only work, when the upgrade API is in place!
|
||||||
|
@AwaitsFix(bugUrl = "https://github.com/elastic/x-pack-elasticsearch/issues/1303")
|
||||||
public class OldWatcherIndicesBackwardsCompatibilityTests extends AbstractOldXPackIndicesBackwardsCompatibilityTestCase {
|
public class OldWatcherIndicesBackwardsCompatibilityTests extends AbstractOldXPackIndicesBackwardsCompatibilityTestCase {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -61,16 +61,6 @@ public class OldWatcherIndicesBackwardsCompatibilityTests extends AbstractOldXPa
|
||||||
assertThat(states, everyItem(is(WatcherState.STARTED)));
|
assertThat(states, everyItem(is(WatcherState.STARTED)));
|
||||||
});
|
});
|
||||||
|
|
||||||
// in order to go from 5.x to master, we assume someone executed the upgrade API, which will install the new index templates
|
|
||||||
// in this test we just do this manually, by adding the _status field to the mapping
|
|
||||||
// this can be removed once the API supports regular upgrade from 5.x to 6.x
|
|
||||||
assertAcked(client().admin().indices().preparePutMapping(Watch.INDEX).setType(Watch.DOC_TYPE)
|
|
||||||
.setSource(jsonBuilder().startObject().startObject("properties").startObject("status")
|
|
||||||
.field("type", "object")
|
|
||||||
.field("enabled", false)
|
|
||||||
.field("dynamic", true).endObject().endObject().endObject())
|
|
||||||
.get());
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
assertWatchIndexContentsWork(version);
|
assertWatchIndexContentsWork(version);
|
||||||
assertBasicWatchInteractions();
|
assertBasicWatchInteractions();
|
||||||
|
|
|
@ -310,7 +310,7 @@ public abstract class AbstractWatcherIntegrationTestCase extends ESIntegTestCase
|
||||||
.setCause("Index to test aliases with .watches index")
|
.setCause("Index to test aliases with .watches index")
|
||||||
.addAlias(new Alias(Watch.INDEX))
|
.addAlias(new Alias(Watch.INDEX))
|
||||||
.setSettings((Map<String, Object>) parserMap.get("settings"))
|
.setSettings((Map<String, Object>) parserMap.get("settings"))
|
||||||
.addMapping("watch", (Map<String, Object>) allMappings.get("watch"))
|
.addMapping("doc", (Map<String, Object>) allMappings.get("doc"))
|
||||||
.get();
|
.get();
|
||||||
assertAcked(response);
|
assertAcked(response);
|
||||||
ensureGreen(newIndex);
|
ensureGreen(newIndex);
|
||||||
|
@ -343,7 +343,7 @@ public abstract class AbstractWatcherIntegrationTestCase extends ESIntegTestCase
|
||||||
.setCause("Index to test aliases with .triggered-watches index")
|
.setCause("Index to test aliases with .triggered-watches index")
|
||||||
.addAlias(new Alias(TriggeredWatchStore.INDEX_NAME))
|
.addAlias(new Alias(TriggeredWatchStore.INDEX_NAME))
|
||||||
.setSettings((Map<String, Object>) parserMap.get("settings"))
|
.setSettings((Map<String, Object>) parserMap.get("settings"))
|
||||||
.addMapping("triggered_watch", (Map<String, Object>) allMappings.get("triggered_watch"))
|
.addMapping("doc", (Map<String, Object>) allMappings.get("doc"))
|
||||||
.get();
|
.get();
|
||||||
assertAcked(response);
|
assertAcked(response);
|
||||||
ensureGreen(newIndex);
|
ensureGreen(newIndex);
|
||||||
|
|
|
@ -113,8 +113,7 @@ public class HistoryIntegrationTests extends AbstractWatcherIntegrationTestCase
|
||||||
".properties.request.properties.body.enabled";
|
".properties.request.properties.body.enabled";
|
||||||
assertThat(source.getValue(chainedPath), is(false));
|
assertThat(source.getValue(chainedPath), is(false));
|
||||||
} else {
|
} else {
|
||||||
String path =
|
String path = "doc.properties.result.properties.input.properties.search.properties.request.properties.body.enabled";
|
||||||
"doc.properties.result.properties.input.properties.search.properties.request.properties.body.enabled";
|
|
||||||
assertThat(source.getValue(path), is(false));
|
assertThat(source.getValue(path), is(false));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -136,7 +136,7 @@ public class ActivateWatchTests extends AbstractWatcherIntegrationTestCase {
|
||||||
assertThat(getWatchResponse, notNullValue());
|
assertThat(getWatchResponse, notNullValue());
|
||||||
assertThat(getWatchResponse.getStatus().state().isActive(), is(true));
|
assertThat(getWatchResponse.getStatus().state().isActive(), is(true));
|
||||||
|
|
||||||
GetResponse getResponse = client().prepareGet(".watches", "watch", "_id").get();
|
GetResponse getResponse = client().prepareGet(".watches", "doc", "_id").get();
|
||||||
XContentSource source = new XContentSource(getResponse.getSourceAsBytesRef(), XContentType.JSON);
|
XContentSource source = new XContentSource(getResponse.getSourceAsBytesRef(), XContentType.JSON);
|
||||||
|
|
||||||
Set<String> filters = Sets.newHashSet(
|
Set<String> filters = Sets.newHashSet(
|
||||||
|
@ -156,7 +156,7 @@ public class ActivateWatchTests extends AbstractWatcherIntegrationTestCase {
|
||||||
source.toXContent(builder, ToXContent.EMPTY_PARAMS);
|
source.toXContent(builder, ToXContent.EMPTY_PARAMS);
|
||||||
|
|
||||||
// now that we filtered out the watch status state, lets put it back in
|
// now that we filtered out the watch status state, lets put it back in
|
||||||
IndexResponse indexResponse = client().prepareIndex(".watches", "watch", "_id")
|
IndexResponse indexResponse = client().prepareIndex(".watches", "doc", "_id")
|
||||||
.setSource(builder.bytes(), XContentType.JSON)
|
.setSource(builder.bytes(), XContentType.JSON)
|
||||||
.get();
|
.get();
|
||||||
assertThat(indexResponse.getId(), is("_id"));
|
assertThat(indexResponse.getId(), is("_id"));
|
||||||
|
|
|
@ -45,7 +45,7 @@ public class WatchStatusIntegrationTests extends AbstractWatcherIntegrationTestC
|
||||||
assertThat(getWatchResponse.getSource(), notNullValue());
|
assertThat(getWatchResponse.getSource(), notNullValue());
|
||||||
assertThat(getWatchResponse.getStatus().lastChecked(), is(notNullValue()));
|
assertThat(getWatchResponse.getStatus().lastChecked(), is(notNullValue()));
|
||||||
|
|
||||||
GetResponse getResponse = client().prepareGet(".watches", "watch", "_name").get();
|
GetResponse getResponse = client().prepareGet(".watches", "doc", "_name").get();
|
||||||
getResponse.getSource();
|
getResponse.getSource();
|
||||||
XContentSource source = new XContentSource(getResponse.getSourceAsBytesRef(), XContentType.JSON);
|
XContentSource source = new XContentSource(getResponse.getSourceAsBytesRef(), XContentType.JSON);
|
||||||
String lastChecked = source.getValue("status.last_checked");
|
String lastChecked = source.getValue("status.last_checked");
|
||||||
|
|
Loading…
Reference in New Issue