Search in sources :

Example 1 with GetIndexRequest

use of org.elasticsearch.action.admin.indices.get.GetIndexRequest in project crate by crate.

the class PartitionedTableIntegrationTest method testInsertIntoClosedPartition.

@Test
public void testInsertIntoClosedPartition() throws Exception {
    execute("create table t (n integer) partitioned by (n)");
    ensureYellow();
    execute("insert into t (n) values (1)");
    ensureYellow();
    String[] indices = client().admin().indices().getIndex(new GetIndexRequest()).actionGet().getIndices();
    client().admin().indices().close(new CloseIndexRequest(indices[0])).actionGet();
    expectedException.expect(SQLActionException.class);
    expectedException.expectMessage(String.format("Unable to access the partition %s, it is closed", indices[0]));
    execute("insert into t (n) values (1)");
}
Also used : CloseIndexRequest(org.elasticsearch.action.admin.indices.close.CloseIndexRequest) GetIndexRequest(org.elasticsearch.action.admin.indices.get.GetIndexRequest) Test(org.junit.Test)

Example 2 with GetIndexRequest

use of org.elasticsearch.action.admin.indices.get.GetIndexRequest in project crate by crate.

the class PartitionedTableIntegrationTest method testSelectFromClosedPartition.

@Test
public void testSelectFromClosedPartition() throws Exception {
    execute("create table t (n integer) partitioned by (n)");
    ensureYellow();
    execute("insert into t (n) values (1)");
    ensureGreen();
    String[] indices = client().admin().indices().getIndex(new GetIndexRequest()).actionGet().getIndices();
    client().admin().indices().close(new CloseIndexRequest(indices[0])).actionGet();
    expectedException.expect(SQLActionException.class);
    expectedException.expectMessage(String.format("Unable to access the partition %s, it is closed", indices[0]));
    execute("select count(*) from t");
}
Also used : CloseIndexRequest(org.elasticsearch.action.admin.indices.close.CloseIndexRequest) GetIndexRequest(org.elasticsearch.action.admin.indices.get.GetIndexRequest) Test(org.junit.Test)

Example 3 with GetIndexRequest

use of org.elasticsearch.action.admin.indices.get.GetIndexRequest in project graylog2-server by Graylog2.

the class Indices method indexCreationDate.

@Nullable
public DateTime indexCreationDate(String index) {
    final GetIndexRequest indexRequest = c.admin().indices().prepareGetIndex().addFeatures(GetIndexRequest.Feature.SETTINGS).addIndices(index).request();
    try {
        final GetIndexResponse response = c.admin().indices().getIndex(indexRequest).actionGet();
        final Settings settings = response.settings().get(index);
        if (settings == null) {
            return null;
        }
        return new DateTime(settings.getAsLong("index.creation_date", 0L), DateTimeZone.UTC);
    } catch (ElasticsearchException e) {
        LOG.warn("Unable to read creation_date for index " + index, e.getRootCause());
        return null;
    }
}
Also used : GetIndexResponse(org.elasticsearch.action.admin.indices.get.GetIndexResponse) GetIndexRequest(org.elasticsearch.action.admin.indices.get.GetIndexRequest) ElasticsearchException(org.elasticsearch.ElasticsearchException) Settings(org.elasticsearch.common.settings.Settings) DateTime(org.joda.time.DateTime) Nullable(javax.annotation.Nullable)

Example 4 with GetIndexRequest

use of org.elasticsearch.action.admin.indices.get.GetIndexRequest in project incubator-sdap-mudrod by apache.

the class ESDriver method getIndexListWithPrefix.

public List<String> getIndexListWithPrefix(Object object) {
    LOG.info("Retrieving index list with prefix: {}", object.toString());
    String[] indices = client.admin().indices().getIndex(new GetIndexRequest()).actionGet().getIndices();
    ArrayList<String> indexList = new ArrayList<>();
    for (String indexName : indices) {
        if (indexName.startsWith(object.toString())) {
            indexList.add(indexName);
        }
    }
    return indexList;
}
Also used : GetIndexRequest(org.elasticsearch.action.admin.indices.get.GetIndexRequest)

Example 5 with GetIndexRequest

use of org.elasticsearch.action.admin.indices.get.GetIndexRequest in project elasticsearch by elastic.

the class RestGetIndicesAction method prepareRequest.

@Override
public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException {
    String[] indices = Strings.splitStringByCommaToArray(request.param("index"));
    String[] featureParams = request.paramAsStringArray("type", null);
    // Work out if the indices is a list of features
    if (featureParams == null && indices.length > 0 && indices[0] != null && indices[0].startsWith("_") && !"_all".equals(indices[0])) {
        featureParams = indices;
        indices = new String[] { "_all" };
    }
    final GetIndexRequest getIndexRequest = new GetIndexRequest();
    getIndexRequest.indices(indices);
    if (featureParams != null) {
        Feature[] features = Feature.convertToFeatures(featureParams);
        getIndexRequest.features(features);
    }
    getIndexRequest.indicesOptions(IndicesOptions.fromRequest(request, getIndexRequest.indicesOptions()));
    getIndexRequest.local(request.paramAsBoolean("local", getIndexRequest.local()));
    getIndexRequest.humanReadable(request.paramAsBoolean("human", false));
    final boolean defaults = request.paramAsBoolean("include_defaults", false);
    return channel -> client.admin().indices().getIndex(getIndexRequest, new RestBuilderListener<GetIndexResponse>(channel) {

        @Override
        public RestResponse buildResponse(final GetIndexResponse response, final XContentBuilder builder) throws Exception {
            builder.startObject();
            {
                for (final String index : response.indices()) {
                    builder.startObject(index);
                    {
                        for (final Feature feature : getIndexRequest.features()) {
                            switch(feature) {
                                case ALIASES:
                                    writeAliases(response.aliases().get(index), builder, request);
                                    break;
                                case MAPPINGS:
                                    writeMappings(response.mappings().get(index), builder);
                                    break;
                                case SETTINGS:
                                    writeSettings(response.settings().get(index), builder, request, defaults);
                                    break;
                                default:
                                    throw new IllegalStateException("feature [" + feature + "] is not valid");
                            }
                        }
                    }
                    builder.endObject();
                }
            }
            builder.endObject();
            return new BytesRestResponse(OK, builder);
        }

        private void writeAliases(final List<AliasMetaData> aliases, final XContentBuilder builder, final Params params) throws IOException {
            builder.startObject("aliases");
            {
                if (aliases != null) {
                    for (final AliasMetaData alias : aliases) {
                        AliasMetaData.Builder.toXContent(alias, builder, params);
                    }
                }
            }
            builder.endObject();
        }

        private void writeMappings(final ImmutableOpenMap<String, MappingMetaData> mappings, final XContentBuilder builder) throws IOException {
            builder.startObject("mappings");
            {
                if (mappings != null) {
                    for (final ObjectObjectCursor<String, MappingMetaData> typeEntry : mappings) {
                        builder.field(typeEntry.key);
                        builder.map(typeEntry.value.sourceAsMap());
                    }
                }
            }
            builder.endObject();
        }

        private void writeSettings(final Settings settings, final XContentBuilder builder, final Params params, final boolean defaults) throws IOException {
            builder.startObject("settings");
            {
                settings.toXContent(builder, params);
            }
            builder.endObject();
            if (defaults) {
                builder.startObject("defaults");
                {
                    settingsFilter.filter(indexScopedSettings.diff(settings, RestGetIndicesAction.this.settings)).toXContent(builder, request);
                }
                builder.endObject();
            }
        }
    });
}
Also used : BaseRestHandler(org.elasticsearch.rest.BaseRestHandler) GET(org.elasticsearch.rest.RestRequest.Method.GET) ImmutableOpenMap(org.elasticsearch.common.collect.ImmutableOpenMap) MappingMetaData(org.elasticsearch.cluster.metadata.MappingMetaData) XContentBuilder(org.elasticsearch.common.xcontent.XContentBuilder) Strings(org.elasticsearch.common.Strings) ObjectObjectCursor(com.carrotsearch.hppc.cursors.ObjectObjectCursor) Feature(org.elasticsearch.action.admin.indices.get.GetIndexRequest.Feature) Settings(org.elasticsearch.common.settings.Settings) GetIndexResponse(org.elasticsearch.action.admin.indices.get.GetIndexResponse) IndicesOptions(org.elasticsearch.action.support.IndicesOptions) RestRequest(org.elasticsearch.rest.RestRequest) OK(org.elasticsearch.rest.RestStatus.OK) NodeClient(org.elasticsearch.client.node.NodeClient) HEAD(org.elasticsearch.rest.RestRequest.Method.HEAD) SettingsFilter(org.elasticsearch.common.settings.SettingsFilter) GetIndexRequest(org.elasticsearch.action.admin.indices.get.GetIndexRequest) RestResponse(org.elasticsearch.rest.RestResponse) Params(org.elasticsearch.common.xcontent.ToXContent.Params) AliasMetaData(org.elasticsearch.cluster.metadata.AliasMetaData) RestBuilderListener(org.elasticsearch.rest.action.RestBuilderListener) Set(java.util.Set) IOException(java.io.IOException) RestController(org.elasticsearch.rest.RestController) IndexScopedSettings(org.elasticsearch.common.settings.IndexScopedSettings) BytesRestResponse(org.elasticsearch.rest.BytesRestResponse) List(java.util.List) RestResponse(org.elasticsearch.rest.RestResponse) BytesRestResponse(org.elasticsearch.rest.BytesRestResponse) Params(org.elasticsearch.common.xcontent.ToXContent.Params) IOException(java.io.IOException) MappingMetaData(org.elasticsearch.cluster.metadata.MappingMetaData) Feature(org.elasticsearch.action.admin.indices.get.GetIndexRequest.Feature) IOException(java.io.IOException) AliasMetaData(org.elasticsearch.cluster.metadata.AliasMetaData) GetIndexResponse(org.elasticsearch.action.admin.indices.get.GetIndexResponse) GetIndexRequest(org.elasticsearch.action.admin.indices.get.GetIndexRequest) BytesRestResponse(org.elasticsearch.rest.BytesRestResponse) XContentBuilder(org.elasticsearch.common.xcontent.XContentBuilder) Settings(org.elasticsearch.common.settings.Settings) IndexScopedSettings(org.elasticsearch.common.settings.IndexScopedSettings)

Aggregations

GetIndexRequest (org.elasticsearch.action.admin.indices.get.GetIndexRequest)6 CloseIndexRequest (org.elasticsearch.action.admin.indices.close.CloseIndexRequest)3 GetIndexResponse (org.elasticsearch.action.admin.indices.get.GetIndexResponse)2 Test (org.junit.Test)2 ObjectObjectCursor (com.carrotsearch.hppc.cursors.ObjectObjectCursor)1 IOException (java.io.IOException)1 ArrayList (java.util.ArrayList)1 List (java.util.List)1 Set (java.util.Set)1 Nullable (javax.annotation.Nullable)1 ElasticsearchException (org.elasticsearch.ElasticsearchException)1 DocWriteRequest (org.elasticsearch.action.DocWriteRequest)1 ClusterSearchShardsRequest (org.elasticsearch.action.admin.cluster.shards.ClusterSearchShardsRequest)1 IndicesAliasesRequest (org.elasticsearch.action.admin.indices.alias.IndicesAliasesRequest)1 GetAliasesRequest (org.elasticsearch.action.admin.indices.alias.get.GetAliasesRequest)1 ClearIndicesCacheRequest (org.elasticsearch.action.admin.indices.cache.clear.ClearIndicesCacheRequest)1 CreateIndexRequest (org.elasticsearch.action.admin.indices.create.CreateIndexRequest)1 DeleteIndexRequest (org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest)1 IndicesExistsRequest (org.elasticsearch.action.admin.indices.exists.indices.IndicesExistsRequest)1 TypesExistsRequest (org.elasticsearch.action.admin.indices.exists.types.TypesExistsRequest)1