Search in sources :

Example 6 with IndicesOptions

use of org.graylog.shaded.elasticsearch7.org.elasticsearch.action.support.IndicesOptions in project elasticsearch by elastic.

the class SimpleClusterStateIT method testIndicesOptions.

public void testIndicesOptions() throws Exception {
    ClusterStateResponse clusterStateResponse = client().admin().cluster().prepareState().clear().setMetaData(true).setIndices("f*").get();
    assertThat(clusterStateResponse.getState().metaData().indices().size(), is(2));
    // close one index
    client().admin().indices().close(Requests.closeIndexRequest("fuu")).get();
    clusterStateResponse = client().admin().cluster().prepareState().clear().setMetaData(true).setIndices("f*").get();
    assertThat(clusterStateResponse.getState().metaData().indices().size(), is(1));
    assertThat(clusterStateResponse.getState().metaData().index("foo").getState(), equalTo(IndexMetaData.State.OPEN));
    // expand_wildcards_closed should toggle return only closed index fuu
    IndicesOptions expandCloseOptions = IndicesOptions.fromOptions(false, true, false, true);
    clusterStateResponse = client().admin().cluster().prepareState().clear().setMetaData(true).setIndices("f*").setIndicesOptions(expandCloseOptions).get();
    assertThat(clusterStateResponse.getState().metaData().indices().size(), is(1));
    assertThat(clusterStateResponse.getState().metaData().index("fuu").getState(), equalTo(IndexMetaData.State.CLOSE));
    // ignore_unavailable set to true should not raise exception on fzzbzz
    IndicesOptions ignoreUnavailabe = IndicesOptions.fromOptions(true, true, true, false);
    clusterStateResponse = client().admin().cluster().prepareState().clear().setMetaData(true).setIndices("fzzbzz").setIndicesOptions(ignoreUnavailabe).get();
    assertThat(clusterStateResponse.getState().metaData().indices().isEmpty(), is(true));
    // empty wildcard expansion result should work when allowNoIndices is
    // turned on
    IndicesOptions allowNoIndices = IndicesOptions.fromOptions(false, true, true, false);
    clusterStateResponse = client().admin().cluster().prepareState().clear().setMetaData(true).setIndices("a*").setIndicesOptions(allowNoIndices).get();
    assertThat(clusterStateResponse.getState().metaData().indices().isEmpty(), is(true));
}
Also used : ClusterStateResponse(org.elasticsearch.action.admin.cluster.state.ClusterStateResponse) IndicesOptions(org.elasticsearch.action.support.IndicesOptions)

Example 7 with IndicesOptions

use of org.graylog.shaded.elasticsearch7.org.elasticsearch.action.support.IndicesOptions in project elasticsearch by elastic.

the class SimpleClusterStateIT method testIndicesOptionsOnAllowNoIndicesFalse.

public void testIndicesOptionsOnAllowNoIndicesFalse() throws Exception {
    // empty wildcard expansion throws exception when allowNoIndices is turned off
    IndicesOptions allowNoIndices = IndicesOptions.fromOptions(false, false, true, false);
    try {
        client().admin().cluster().prepareState().clear().setMetaData(true).setIndices("a*").setIndicesOptions(allowNoIndices).get();
        fail("Expected IndexNotFoundException");
    } catch (IndexNotFoundException e) {
        assertThat(e.getMessage(), is("no such index"));
    }
}
Also used : IndexNotFoundException(org.elasticsearch.index.IndexNotFoundException) IndicesOptions(org.elasticsearch.action.support.IndicesOptions)

Example 8 with IndicesOptions

use of org.graylog.shaded.elasticsearch7.org.elasticsearch.action.support.IndicesOptions in project elasticsearch by elastic.

the class SimpleClusterStateIT method testIndicesIgnoreUnavailableFalse.

public void testIndicesIgnoreUnavailableFalse() throws Exception {
    // ignore_unavailable set to false throws exception when allowNoIndices is turned off
    IndicesOptions allowNoIndices = IndicesOptions.fromOptions(false, true, true, false);
    try {
        client().admin().cluster().prepareState().clear().setMetaData(true).setIndices("fzzbzz").setIndicesOptions(allowNoIndices).get();
        fail("Expected IndexNotFoundException");
    } catch (IndexNotFoundException e) {
        assertThat(e.getMessage(), is("no such index"));
    }
}
Also used : IndexNotFoundException(org.elasticsearch.index.IndexNotFoundException) IndicesOptions(org.elasticsearch.action.support.IndicesOptions)

Example 9 with IndicesOptions

use of org.graylog.shaded.elasticsearch7.org.elasticsearch.action.support.IndicesOptions in project elasticsearch by elastic.

the class IndexNameExpressionResolverTests method testIndexOptionsWildcardExpansion.

public void testIndexOptionsWildcardExpansion() {
    MetaData.Builder mdBuilder = MetaData.builder().put(indexBuilder("foo").state(IndexMetaData.State.CLOSE)).put(indexBuilder("bar")).put(indexBuilder("foobar").putAlias(AliasMetaData.builder("barbaz")));
    ClusterState state = ClusterState.builder(new ClusterName("_name")).metaData(mdBuilder).build();
    // Only closed
    IndicesOptions options = IndicesOptions.fromOptions(false, true, false, true);
    IndexNameExpressionResolver.Context context = new IndexNameExpressionResolver.Context(state, options);
    String[] results = indexNameExpressionResolver.concreteIndexNames(context, Strings.EMPTY_ARRAY);
    assertEquals(1, results.length);
    assertEquals("foo", results[0]);
    results = indexNameExpressionResolver.concreteIndexNames(context, "foo*");
    assertEquals(1, results.length);
    assertEquals("foo", results[0]);
    // no wildcards, so wildcard expansion don't apply
    results = indexNameExpressionResolver.concreteIndexNames(context, "bar");
    assertEquals(1, results.length);
    assertEquals("bar", results[0]);
    // Only open
    options = IndicesOptions.fromOptions(false, true, true, false);
    context = new IndexNameExpressionResolver.Context(state, options);
    results = indexNameExpressionResolver.concreteIndexNames(context, Strings.EMPTY_ARRAY);
    assertEquals(2, results.length);
    assertThat(results, arrayContainingInAnyOrder("bar", "foobar"));
    results = indexNameExpressionResolver.concreteIndexNames(context, "foo*");
    assertEquals(1, results.length);
    assertEquals("foobar", results[0]);
    results = indexNameExpressionResolver.concreteIndexNames(context, "bar");
    assertEquals(1, results.length);
    assertEquals("bar", results[0]);
    // Open and closed
    options = IndicesOptions.fromOptions(false, true, true, true);
    context = new IndexNameExpressionResolver.Context(state, options);
    results = indexNameExpressionResolver.concreteIndexNames(context, Strings.EMPTY_ARRAY);
    assertEquals(3, results.length);
    assertThat(results, arrayContainingInAnyOrder("bar", "foobar", "foo"));
    results = indexNameExpressionResolver.concreteIndexNames(context, "foo*");
    assertEquals(2, results.length);
    assertThat(results, arrayContainingInAnyOrder("foobar", "foo"));
    results = indexNameExpressionResolver.concreteIndexNames(context, "bar");
    assertEquals(1, results.length);
    assertEquals("bar", results[0]);
    results = indexNameExpressionResolver.concreteIndexNames(context, "*", "-foo*");
    assertEquals(1, results.length);
    assertEquals("bar", results[0]);
    results = indexNameExpressionResolver.concreteIndexNames(context, "-*");
    assertEquals(0, results.length);
    options = IndicesOptions.fromOptions(false, false, true, true);
    context = new IndexNameExpressionResolver.Context(state, options);
    try {
        indexNameExpressionResolver.concreteIndexNames(context, "-*");
        fail();
    } catch (IndexNotFoundException e) {
        assertThat(e.getResourceId().toString(), equalTo("[-*]"));
    }
}
Also used : ClusterState(org.elasticsearch.cluster.ClusterState) ClusterName(org.elasticsearch.cluster.ClusterName) IndexNotFoundException(org.elasticsearch.index.IndexNotFoundException) Matchers.containsString(org.hamcrest.Matchers.containsString) IndicesOptions(org.elasticsearch.action.support.IndicesOptions)

Example 10 with IndicesOptions

use of org.graylog.shaded.elasticsearch7.org.elasticsearch.action.support.IndicesOptions in project elasticsearch by elastic.

the class IndexNameExpressionResolverTests method testConcreteIndicesWildcardNoMatch.

/**
     * test resolving wildcard pattern that matches no index of alias for random IndicesOptions
     */
public void testConcreteIndicesWildcardNoMatch() {
    for (int i = 0; i < 10; i++) {
        IndicesOptions indicesOptions = IndicesOptions.fromOptions(randomBoolean(), randomBoolean(), randomBoolean(), randomBoolean());
        MetaData.Builder mdBuilder = MetaData.builder().put(indexBuilder("aaa").state(State.OPEN).putAlias(AliasMetaData.builder("aaa_alias1"))).put(indexBuilder("bbb").state(State.OPEN).putAlias(AliasMetaData.builder("bbb_alias1"))).put(indexBuilder("ccc").state(State.CLOSE).putAlias(AliasMetaData.builder("ccc_alias1")));
        ClusterState state = ClusterState.builder(new ClusterName("_name")).metaData(mdBuilder).build();
        IndexNameExpressionResolver.Context context = new IndexNameExpressionResolver.Context(state, indicesOptions);
        // asking for non existing wildcard pattern should return empty list or exception
        if (indicesOptions.allowNoIndices()) {
            String[] concreteIndices = indexNameExpressionResolver.concreteIndexNames(context, "Foo*");
            assertThat(concreteIndices, notNullValue());
            assertThat(concreteIndices.length, equalTo(0));
        } else {
            try {
                indexNameExpressionResolver.concreteIndexNames(context, "Foo*");
                fail("expecting exception when result empty and allowNoIndicec=false");
            } catch (IndexNotFoundException e) {
            // expected exception
            }
        }
    }
}
Also used : ClusterState(org.elasticsearch.cluster.ClusterState) ClusterName(org.elasticsearch.cluster.ClusterName) IndexNotFoundException(org.elasticsearch.index.IndexNotFoundException) Matchers.containsString(org.hamcrest.Matchers.containsString) IndicesOptions(org.elasticsearch.action.support.IndicesOptions)

Aggregations

IndicesOptions (org.elasticsearch.action.support.IndicesOptions)39 ClusterState (org.elasticsearch.cluster.ClusterState)11 IndexNotFoundException (org.elasticsearch.index.IndexNotFoundException)11 ClusterName (org.elasticsearch.cluster.ClusterName)9 Matchers.containsString (org.hamcrest.Matchers.containsString)9 HashSet (java.util.HashSet)6 Set (java.util.Set)6 Arrays (java.util.Arrays)5 List (java.util.List)5 ArrayList (java.util.ArrayList)4 XContentBuilder (org.elasticsearch.common.xcontent.XContentBuilder)4 SearchRequest (org.graylog.shaded.elasticsearch7.org.elasticsearch.action.search.SearchRequest)4 SearchSourceBuilder (org.graylog.shaded.elasticsearch7.org.elasticsearch.search.builder.SearchSourceBuilder)4 Row (io.crate.data.Row)3 Row1 (io.crate.data.Row1)3 RowConsumer (io.crate.data.RowConsumer)3 OneRowActionListener (io.crate.execution.support.OneRowActionListener)3 DependencyCarrier (io.crate.planner.DependencyCarrier)3 Plan (io.crate.planner.Plan)3 PlannerContext (io.crate.planner.PlannerContext)3