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:
Alexander Reelsen 2017-05-18 11:46:03 +02:00 committed by GitHub
parent d6a9185857
commit adf480f8fd
10 changed files with 15 additions and 29 deletions

View File

@ -49,7 +49,6 @@ import java.util.stream.Collectors;
import static org.elasticsearch.cluster.routing.ShardRoutingState.RELOCATING;
import static org.elasticsearch.cluster.routing.ShardRoutingState.STARTED;
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;
@ -215,7 +214,6 @@ public class WatcherService extends AbstractComponent {
List<Watch> watches = new ArrayList<>();
SearchRequest searchRequest = new SearchRequest(INDEX)
.types(DOC_TYPE)
.scroll(scrollTimeout)
.preference(Preference.ONLY_LOCAL.toString())
.source(new SearchSourceBuilder()

View File

@ -51,7 +51,7 @@ import static org.elasticsearch.xpack.watcher.support.Exceptions.ioException;
public class TriggeredWatchStore extends AbstractComponent {
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 WatcherClientProxy client;
@ -215,7 +215,6 @@ public class TriggeredWatchStore extends AbstractComponent {
Collection<TriggeredWatch> triggeredWatches = new ArrayList<>(ids.size());
SearchRequest searchRequest = new SearchRequest(TriggeredWatchStore.INDEX_NAME)
.types(TriggeredWatchStore.DOC_TYPE)
.scroll(scrollTimeout)
.preference(Preference.LOCAL.toString())
.source(new SearchSourceBuilder()

View File

@ -56,7 +56,7 @@ public class Watch implements ToXContentObject {
public static final String ALL_ACTIONS_ID = "_all";
public static final String INCLUDE_STATUS_KEY = "include_status";
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 Trigger trigger;

View File

@ -1,5 +1,5 @@
{
"index_patterns": ".triggered_watches",
"index_patterns": ".triggered_watches*",
"order": 2147483647,
"settings": {
"index.number_of_shards": 1,
@ -8,7 +8,7 @@
"index.priority": 900
},
"mappings": {
"triggered_watch": {
"doc": {
"dynamic" : "strict",
"properties": {
"trigger_event": {

View File

@ -1,5 +1,5 @@
{
"index_patterns": ".watches",
"index_patterns": ".watches*",
"order": 2147483647,
"settings": {
"index.number_of_shards": 1,
@ -7,7 +7,7 @@
"index.priority": 800
},
"mappings": {
"watch": {
"doc": {
"dynamic" : "strict",
"properties": {
"_status": {

View File

@ -5,6 +5,7 @@
*/
package org.elasticsearch.xpack.watcher;
import org.apache.lucene.util.LuceneTestCase.AwaitsFix;
import org.elasticsearch.AbstractOldXPackIndicesBackwardsCompatibilityTestCase;
import org.elasticsearch.Version;
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.Interval;
import org.elasticsearch.xpack.watcher.trigger.schedule.ScheduleTrigger;
import org.elasticsearch.xpack.watcher.watch.Watch;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
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.greaterThanOrEqualTo;
import static org.hamcrest.Matchers.hasEntry;
@ -40,6 +38,8 @@ import static org.hamcrest.Matchers.not;
/**
* 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 {
@Override
@ -61,16 +61,6 @@ public class OldWatcherIndicesBackwardsCompatibilityTests extends AbstractOldXPa
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 {
assertWatchIndexContentsWork(version);
assertBasicWatchInteractions();

View File

@ -310,7 +310,7 @@ public abstract class AbstractWatcherIntegrationTestCase extends ESIntegTestCase
.setCause("Index to test aliases with .watches index")
.addAlias(new Alias(Watch.INDEX))
.setSettings((Map<String, Object>) parserMap.get("settings"))
.addMapping("watch", (Map<String, Object>) allMappings.get("watch"))
.addMapping("doc", (Map<String, Object>) allMappings.get("doc"))
.get();
assertAcked(response);
ensureGreen(newIndex);
@ -343,7 +343,7 @@ public abstract class AbstractWatcherIntegrationTestCase extends ESIntegTestCase
.setCause("Index to test aliases with .triggered-watches index")
.addAlias(new Alias(TriggeredWatchStore.INDEX_NAME))
.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();
assertAcked(response);
ensureGreen(newIndex);

View File

@ -113,8 +113,7 @@ public class HistoryIntegrationTests extends AbstractWatcherIntegrationTestCase
".properties.request.properties.body.enabled";
assertThat(source.getValue(chainedPath), is(false));
} else {
String path =
"doc.properties.result.properties.input.properties.search.properties.request.properties.body.enabled";
String path = "doc.properties.result.properties.input.properties.search.properties.request.properties.body.enabled";
assertThat(source.getValue(path), is(false));
}
}

View File

@ -136,7 +136,7 @@ public class ActivateWatchTests extends AbstractWatcherIntegrationTestCase {
assertThat(getWatchResponse, notNullValue());
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);
Set<String> filters = Sets.newHashSet(
@ -156,7 +156,7 @@ public class ActivateWatchTests extends AbstractWatcherIntegrationTestCase {
source.toXContent(builder, ToXContent.EMPTY_PARAMS);
// 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)
.get();
assertThat(indexResponse.getId(), is("_id"));

View File

@ -45,7 +45,7 @@ public class WatchStatusIntegrationTests extends AbstractWatcherIntegrationTestC
assertThat(getWatchResponse.getSource(), 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();
XContentSource source = new XContentSource(getResponse.getSourceAsBytesRef(), XContentType.JSON);
String lastChecked = source.getValue("status.last_checked");