|
@@ -102,13 +102,11 @@ import static org.elasticsearch.cluster.metadata.IndexMetaData.SETTING_VERSION_C
|
|
|
public class MetaDataCreateIndexService extends AbstractComponent {
|
|
|
|
|
|
public static final int MAX_INDEX_NAME_BYTES = 255;
|
|
|
- private static final DefaultIndexTemplateFilter DEFAULT_INDEX_TEMPLATE_FILTER = new DefaultIndexTemplateFilter();
|
|
|
|
|
|
private final ClusterService clusterService;
|
|
|
private final IndicesService indicesService;
|
|
|
private final AllocationService allocationService;
|
|
|
private final AliasValidator aliasValidator;
|
|
|
- private final IndexTemplateFilter indexTemplateFilter;
|
|
|
private final Environment env;
|
|
|
private final NodeServicesProvider nodeServicesProvider;
|
|
|
private final IndexScopedSettings indexScopedSettings;
|
|
@@ -117,8 +115,7 @@ public class MetaDataCreateIndexService extends AbstractComponent {
|
|
|
@Inject
|
|
|
public MetaDataCreateIndexService(Settings settings, ClusterService clusterService,
|
|
|
IndicesService indicesService, AllocationService allocationService,
|
|
|
- AliasValidator aliasValidator,
|
|
|
- Set<IndexTemplateFilter> indexTemplateFilters, Environment env,
|
|
|
+ AliasValidator aliasValidator, Environment env,
|
|
|
NodeServicesProvider nodeServicesProvider, IndexScopedSettings indexScopedSettings,
|
|
|
ThreadPool threadPool) {
|
|
|
super(settings);
|
|
@@ -129,18 +126,6 @@ public class MetaDataCreateIndexService extends AbstractComponent {
|
|
|
this.env = env;
|
|
|
this.nodeServicesProvider = nodeServicesProvider;
|
|
|
this.indexScopedSettings = indexScopedSettings;
|
|
|
-
|
|
|
- if (indexTemplateFilters.isEmpty()) {
|
|
|
- this.indexTemplateFilter = DEFAULT_INDEX_TEMPLATE_FILTER;
|
|
|
- } else {
|
|
|
- IndexTemplateFilter[] templateFilters = new IndexTemplateFilter[indexTemplateFilters.size() + 1];
|
|
|
- templateFilters[0] = DEFAULT_INDEX_TEMPLATE_FILTER;
|
|
|
- int i = 1;
|
|
|
- for (IndexTemplateFilter indexTemplateFilter : indexTemplateFilters) {
|
|
|
- templateFilters[i++] = indexTemplateFilter;
|
|
|
- }
|
|
|
- this.indexTemplateFilter = new IndexTemplateFilter.Compound(templateFilters);
|
|
|
- }
|
|
|
this.activeShardsObserver = new ActiveShardsObserver(settings, clusterService, threadPool);
|
|
|
}
|
|
|
|
|
@@ -242,7 +227,7 @@ public class MetaDataCreateIndexService extends AbstractComponent {
|
|
|
|
|
|
// we only find a template when its an API call (a new index)
|
|
|
// find templates, highest order are better matching
|
|
|
- List<IndexTemplateMetaData> templates = findTemplates(request, currentState, indexTemplateFilter);
|
|
|
+ List<IndexTemplateMetaData> templates = findTemplates(request, currentState);
|
|
|
|
|
|
Map<String, Custom> customs = new HashMap<>();
|
|
|
|
|
@@ -470,11 +455,11 @@ public class MetaDataCreateIndexService extends AbstractComponent {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
- private List<IndexTemplateMetaData> findTemplates(CreateIndexClusterStateUpdateRequest request, ClusterState state, IndexTemplateFilter indexTemplateFilter) throws IOException {
|
|
|
+ private List<IndexTemplateMetaData> findTemplates(CreateIndexClusterStateUpdateRequest request, ClusterState state) throws IOException {
|
|
|
List<IndexTemplateMetaData> templates = new ArrayList<>();
|
|
|
for (ObjectCursor<IndexTemplateMetaData> cursor : state.metaData().templates().values()) {
|
|
|
IndexTemplateMetaData template = cursor.value;
|
|
|
- if (indexTemplateFilter.apply(request, template)) {
|
|
|
+ if (Regex.simpleMatch(template.template(), request.index())) {
|
|
|
templates.add(template);
|
|
|
}
|
|
|
}
|
|
@@ -525,13 +510,6 @@ public class MetaDataCreateIndexService extends AbstractComponent {
|
|
|
return validationErrors;
|
|
|
}
|
|
|
|
|
|
- private static class DefaultIndexTemplateFilter implements IndexTemplateFilter {
|
|
|
- @Override
|
|
|
- public boolean apply(CreateIndexClusterStateUpdateRequest request, IndexTemplateMetaData template) {
|
|
|
- return Regex.simpleMatch(template.template(), request.index());
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* Validates the settings and mappings for shrinking an index.
|
|
|
* @return the list of nodes at least one instance of the source index shards are allocated
|