if (action.removeIndex()) { IndexMetaData index = currentState.metaData().getIndices().get(action.getIndex()); if (index == null) { throw new IndexNotFoundException(action.getIndex()); if (action.removeIndex()) { IndexMetaData index = metadata.get(action.getIndex()); if (index == null) { throw new IndexNotFoundException(action.getIndex()); aliasValidator.validateAlias(alias, action.getIndex(), indexRouting, indexLookup); if (Strings.hasLength(filter)) { IndexService indexService = indices.get(index.getIndex().getName()); indices.put(action.getIndex(), indexService); changed |= action.apply(newAliasValidator, metadata, index);
public static AliasAction newRemoveAliasAction(String index, String alias) { return new AliasAction(Type.REMOVE, index, alias); }
public AliasActions filter(String filter) { aliasAction.filter(filter); return this; }
public static AliasAction readAliasAction(StreamInput in) throws IOException { AliasAction aliasAction = new AliasAction(); aliasAction.readFrom(in); return aliasAction; }
/** * Allows to validate an {@link org.elasticsearch.cluster.metadata.AliasAction} and make sure * it's valid before it gets added to the index metadata. Doesn't validate the alias filter. * @throws IllegalArgumentException if the alias is not valid */ public void validateAliasAction(AliasAction aliasAction, MetaData metaData) { validateAlias(aliasAction.alias(), aliasAction.index(), aliasAction.indexRouting(), metaData); }
for (AliasAction aliasAction : request.actions()) { aliasValidator.validateAliasAction(aliasAction, currentState.metaData()); if (!currentState.metaData().hasIndex(aliasAction.index())) { throw new IndexNotFoundException(aliasAction.index()); MetaData.Builder builder = MetaData.builder(currentState.metaData()); for (AliasAction aliasAction : request.actions()) { IndexMetaData indexMetaData = builder.get(aliasAction.index()); if (indexMetaData == null) { throw new IndexNotFoundException(aliasAction.index()); if (aliasAction.actionType() == AliasAction.Type.ADD) { String filter = aliasAction.filter(); if (Strings.hasLength(filter)) { aliasValidator.validateAliasFilter(aliasAction.alias(), filter, indexService.queryParserService()); aliasAction.alias()) .filter(filter) .indexRouting(aliasAction.indexRouting()) .searchRouting(aliasAction.searchRouting()) .build(); AliasMetaData aliasMd = indexMetaData.getAliases().get(aliasAction.alias()); if (aliasMd != null && aliasMd.equals(newAliasMd)) { } else if (aliasAction.actionType() == AliasAction.Type.REMOVE) { if (!indexMetaData.getAliases().containsKey(aliasAction.alias())) {
/** * Adds a new alias to an existing index. * @param indexName the index name * @param alias the alias * @param setRouting if true will route by appid (alias) * @return true if acknowledged */ public static boolean addIndexAlias(String indexName, final String alias, boolean setRouting) { AliasAction act = new AliasAction(AliasAction.Type.ADD, indexName, alias); if (setRouting) { act.searchRouting(alias); act.indexRouting(alias); act.filter(FilterBuilders.termFilter(Config._APPID, alias)); } return getClient().admin().indices().prepareAliases().addAliasAction(act). execute().actionGet().isAcknowledged(); }
for (String index : concreteIndices) { for (String alias : action.concreteAliases(state.metaData(), index)) { AliasAction finalAction = new AliasAction(action.aliasAction()); finalAction.index(index); finalAction.alias(alias); finalActions.add(finalAction);
public void searchRouting(String searchRouting) { aliasAction.searchRouting(searchRouting); }
public void indexRouting(String indexRouting) { aliasAction.indexRouting(indexRouting); }
@Override public boolean expandAliasesWildcards() { //remove operations support wildcards among aliases, add operations don't return aliasAction.actionType() == Type.REMOVE; }
public Type actionType() { return aliasAction.actionType(); }
if (action.removeIndex()) { IndexMetaData index = currentState.metaData().getIndices().get(action.getIndex()); if (index == null) { throw new IndexNotFoundException(action.getIndex()); if (action.removeIndex()) { IndexMetaData index = metadata.get(action.getIndex()); if (index == null) { throw new IndexNotFoundException(action.getIndex()); aliasValidator.validateAlias(alias, action.getIndex(), indexRouting, indexLookup); if (Strings.hasLength(filter)) { IndexService indexService = indices.get(index.getIndex()); indices.put(action.getIndex(), indexService); changed |= action.apply(newAliasValidator, metadata, index);
public static AliasAction newAddAliasAction(String index, String alias) { return new AliasAction(Type.ADD, index, alias); }
public AliasActions filter(QueryBuilder filter) { aliasAction.filter(filter); return this; }
if (action.removeIndex()) { IndexMetaData index = currentState.metaData().getIndices().get(action.getIndex()); if (index == null) { throw new IndexNotFoundException(action.getIndex()); if (action.removeIndex()) { IndexMetaData index = metadata.get(action.getIndex()); if (index == null) { throw new IndexNotFoundException(action.getIndex()); aliasValidator.validateAlias(alias, action.getIndex(), indexRouting, indexLookup); if (Strings.hasLength(filter)) { IndexService indexService = indices.get(index.getIndex().getName()); indices.put(action.getIndex(), indexService); changed |= action.apply(newAliasValidator, metadata, index);
public AliasActions(AliasAction.Type type, String[] indices, String[] aliases) { aliasAction = new AliasAction(type); indices(indices); aliases(aliases); }
public AliasActions filter(Map<String, Object> filter) { aliasAction.filter(filter); return this; }
if (action.removeIndex()) { IndexMetaData index = currentState.metaData().getIndices().get(action.getIndex()); if (index == null) { throw new IndexNotFoundException(action.getIndex()); if (action.removeIndex()) { IndexMetaData index = metadata.get(action.getIndex()); if (index == null) { throw new IndexNotFoundException(action.getIndex()); aliasValidator.validateAlias(alias, action.getIndex(), indexRouting, indexLookup); if (Strings.hasLength(filter)) { IndexService indexService = indices.get(index.getIndex().getName()); indices.put(action.getIndex(), indexService); changed |= action.apply(newAliasValidator, metadata, index);