Skip to content

Commit a527095

Browse files
committed
Merge branch 'master' into ccr
* master: Avoid randomization bug in FeatureAwareTests Adjust BWC version on client features Add TRACE, CONNECT, and PATCH http methods (#31035) Adjust BWC version on client features [DOCS] Make geoshape docs less memory hungry (#31014) Fix handling of percent-encoded spaces in Windows batch files (#31034) [Docs] Fix a typo in Create Index naming limitation (#30891) Introduce client feature tracking (#31020) Ensure that index_prefixes settings cannot be changed (#30967) REST high-level client: add delete ingest pipeline API (#30865) [ML][TEST] Fix bucket count assertion in all tests in ModelPlotsIT (#31026) Allow rollup job creation only if cluster is x-pack ready (#30963) Fix interoperability with < 6.3 transport clients (#30971) Add an option to split keyword field on whitespace at query time (#30691) [Tests] Fix alias names in PutIndexTemplateRequestTests (#30960) REST high-level client: add get ingest pipeline API (#30847) Cross Cluster Search: preserve remote status code (#30976) High-level client: list tasks failure to not lose nodeId (#31001) [DOCS] Fixes links (#31011) Watcher: Give test a little more time Reuse expiration date of trial licenses (#30950) Remove unused query methods from MappedFieldType. (#30987) Transport client: Don't validate node in handshake (#30737) [DOCS] Clarify not all PKCS12 usable as truststores (#30750) HLRest: Allow caller to set per request options (#30490) Remove version read/write logic in Verify Response (#30879) [DOCS] Update readme for testing x-pack code snippets (#30696) Ensure intended key is selected in SamlAuthenticatorTests (#30993) Core: Remove RequestBuilder from Action (#30966)
2 parents 2a9a200 + 5bfe2ba commit a527095

File tree

455 files changed

+3416
-2528
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

455 files changed

+3416
-2528
lines changed

CONTRIBUTING.md

+8
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,14 @@ Before submitting your changes, run the test suite to make sure that nothing is
209209
./gradlew check
210210
```
211211

212+
If your changes affect only the documentation, run:
213+
214+
```sh
215+
./gradlew -p docs check
216+
```
217+
For more information about testing code examples in the documentation, see
218+
https://github.com/elastic/elasticsearch/blob/master/docs/README.asciidoc
219+
212220
### Project layout
213221

214222
This repository is split into many top level directories. The most important

client/benchmark/src/main/java/org/elasticsearch/client/benchmark/transport/TransportClientBenchmark.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ private static final class TransportBulkRequestExecutor implements BulkRequestEx
7979

8080
@Override
8181
public boolean bulkIndex(List<String> bulkData) {
82-
NoopBulkRequestBuilder builder = NoopBulkAction.INSTANCE.newRequestBuilder(client);
82+
NoopBulkRequestBuilder builder = new NoopBulkRequestBuilder(client,NoopBulkAction.INSTANCE);
8383
for (String bulkItem : bulkData) {
8484
builder.add(new IndexRequest(indexName, typeName).source(bulkItem.getBytes(StandardCharsets.UTF_8), XContentType.JSON));
8585
}
@@ -108,7 +108,7 @@ private TransportSearchRequestExecutor(TransportClient client, String indexName)
108108
@Override
109109
public boolean search(String source) {
110110
final SearchResponse response;
111-
NoopSearchRequestBuilder builder = NoopSearchAction.INSTANCE.newRequestBuilder(client);
111+
NoopSearchRequestBuilder builder = new NoopSearchRequestBuilder(client, NoopSearchAction.INSTANCE);
112112
try {
113113
builder.setIndices(indexName);
114114
builder.setQuery(QueryBuilders.wrapperQuery(source));

client/client-benchmark-noop-api-plugin/src/main/java/org/elasticsearch/plugin/noop/action/bulk/NoopBulkAction.java

+1-7
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,8 @@
2121
import org.elasticsearch.action.Action;
2222
import org.elasticsearch.action.bulk.BulkRequest;
2323
import org.elasticsearch.action.bulk.BulkResponse;
24-
import org.elasticsearch.client.ElasticsearchClient;
2524

26-
public class NoopBulkAction extends Action<BulkRequest, BulkResponse, NoopBulkRequestBuilder> {
25+
public class NoopBulkAction extends Action<BulkRequest, BulkResponse> {
2726
public static final String NAME = "mock:data/write/bulk";
2827

2928
public static final NoopBulkAction INSTANCE = new NoopBulkAction();
@@ -32,11 +31,6 @@ private NoopBulkAction() {
3231
super(NAME);
3332
}
3433

35-
@Override
36-
public NoopBulkRequestBuilder newRequestBuilder(ElasticsearchClient client) {
37-
return new NoopBulkRequestBuilder(client, this);
38-
}
39-
4034
@Override
4135
public BulkResponse newResponse() {
4236
return new BulkResponse(null, 0);

client/client-benchmark-noop-api-plugin/src/main/java/org/elasticsearch/plugin/noop/action/bulk/NoopBulkRequestBuilder.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
import org.elasticsearch.common.unit.TimeValue;
3636
import org.elasticsearch.common.xcontent.XContentType;
3737

38-
public class NoopBulkRequestBuilder extends ActionRequestBuilder<BulkRequest, BulkResponse, NoopBulkRequestBuilder>
38+
public class NoopBulkRequestBuilder extends ActionRequestBuilder<BulkRequest, BulkResponse>
3939
implements WriteRequestBuilder<NoopBulkRequestBuilder> {
4040

4141
public NoopBulkRequestBuilder(ElasticsearchClient client, NoopBulkAction action) {

client/client-benchmark-noop-api-plugin/src/main/java/org/elasticsearch/plugin/noop/action/search/NoopSearchAction.java

+1-7
Original file line numberDiff line numberDiff line change
@@ -21,21 +21,15 @@
2121
import org.elasticsearch.action.Action;
2222
import org.elasticsearch.action.search.SearchRequest;
2323
import org.elasticsearch.action.search.SearchResponse;
24-
import org.elasticsearch.client.ElasticsearchClient;
2524

26-
public class NoopSearchAction extends Action<SearchRequest, SearchResponse, NoopSearchRequestBuilder> {
25+
public class NoopSearchAction extends Action<SearchRequest, SearchResponse> {
2726
public static final NoopSearchAction INSTANCE = new NoopSearchAction();
2827
public static final String NAME = "mock:data/read/search";
2928

3029
public NoopSearchAction() {
3130
super(NAME);
3231
}
3332

34-
@Override
35-
public NoopSearchRequestBuilder newRequestBuilder(ElasticsearchClient client) {
36-
return new NoopSearchRequestBuilder(client, this);
37-
}
38-
3933
@Override
4034
public SearchResponse newResponse() {
4135
return new SearchResponse();

client/client-benchmark-noop-api-plugin/src/main/java/org/elasticsearch/plugin/noop/action/search/NoopSearchRequestBuilder.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
import java.util.Arrays;
4343
import java.util.List;
4444

45-
public class NoopSearchRequestBuilder extends ActionRequestBuilder<SearchRequest, SearchResponse, NoopSearchRequestBuilder> {
45+
public class NoopSearchRequestBuilder extends ActionRequestBuilder<SearchRequest, SearchResponse> {
4646

4747
public NoopSearchRequestBuilder(ElasticsearchClient client, NoopSearchAction action) {
4848
super(client, action, new SearchRequest());

client/rest-high-level/src/main/java/org/elasticsearch/client/ClusterClient.java

+54-5
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,10 @@
2424
import org.elasticsearch.action.admin.cluster.settings.ClusterUpdateSettingsRequest;
2525
import org.elasticsearch.action.admin.cluster.settings.ClusterUpdateSettingsResponse;
2626
import org.elasticsearch.action.ingest.PutPipelineRequest;
27-
import org.elasticsearch.action.ingest.PutPipelineResponse;
27+
import org.elasticsearch.action.ingest.GetPipelineRequest;
28+
import org.elasticsearch.action.ingest.GetPipelineResponse;
29+
import org.elasticsearch.action.ingest.DeletePipelineRequest;
30+
import org.elasticsearch.action.ingest.WritePipelineResponse;
2831

2932
import java.io.IOException;
3033

@@ -72,9 +75,9 @@ public void putSettingsAsync(ClusterUpdateSettingsRequest clusterUpdateSettingsR
7275
* See
7376
* <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/put-pipeline-api.html"> Put Pipeline API on elastic.co</a>
7477
*/
75-
public PutPipelineResponse putPipeline(PutPipelineRequest request, Header... headers) throws IOException {
78+
public WritePipelineResponse putPipeline(PutPipelineRequest request, Header... headers) throws IOException {
7679
return restHighLevelClient.performRequestAndParseEntity( request, RequestConverters::putPipeline,
77-
PutPipelineResponse::fromXContent, emptySet(), headers);
80+
WritePipelineResponse::fromXContent, emptySet(), headers);
7881
}
7982

8083
/**
@@ -83,8 +86,54 @@ public PutPipelineResponse putPipeline(PutPipelineRequest request, Header... hea
8386
* See
8487
* <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/put-pipeline-api.html"> Put Pipeline API on elastic.co</a>
8588
*/
86-
public void putPipelineAsync(PutPipelineRequest request, ActionListener<PutPipelineResponse> listener, Header... headers) {
89+
public void putPipelineAsync(PutPipelineRequest request, ActionListener<WritePipelineResponse> listener, Header... headers) {
8790
restHighLevelClient.performRequestAsyncAndParseEntity( request, RequestConverters::putPipeline,
88-
PutPipelineResponse::fromXContent, listener, emptySet(), headers);
91+
WritePipelineResponse::fromXContent, listener, emptySet(), headers);
92+
}
93+
94+
/**
95+
* Get an existing pipeline
96+
* <p>
97+
* See
98+
* <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/get-pipeline-api.html"> Get Pipeline API on elastic.co</a>
99+
*/
100+
public GetPipelineResponse getPipeline(GetPipelineRequest request, Header... headers) throws IOException {
101+
return restHighLevelClient.performRequestAndParseEntity( request, RequestConverters::getPipeline,
102+
GetPipelineResponse::fromXContent, emptySet(), headers);
103+
}
104+
105+
/**
106+
* Asynchronously get an existing pipeline
107+
* <p>
108+
* See
109+
* <a href="https://www.elastic.co/guide/en/elasticsearch/reference/master/get-pipeline-api.html"> Get Pipeline API on elastic.co</a>
110+
*/
111+
public void getPipelineAsync(GetPipelineRequest request, ActionListener<GetPipelineResponse> listener, Header... headers) {
112+
restHighLevelClient.performRequestAsyncAndParseEntity( request, RequestConverters::getPipeline,
113+
GetPipelineResponse::fromXContent, listener, emptySet(), headers);
114+
}
115+
116+
/**
117+
* Delete an existing pipeline
118+
* <p>
119+
* See
120+
* <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-pipeline-api.html">
121+
* Delete Pipeline API on elastic.co</a>
122+
*/
123+
public WritePipelineResponse deletePipeline(DeletePipelineRequest request, Header... headers) throws IOException {
124+
return restHighLevelClient.performRequestAndParseEntity( request, RequestConverters::deletePipeline,
125+
WritePipelineResponse::fromXContent, emptySet(), headers);
126+
}
127+
128+
/**
129+
* Asynchronously delete an existing pipeline
130+
* <p>
131+
* See
132+
* <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-pipeline-api.html">
133+
* Delete Pipeline API on elastic.co</a>
134+
*/
135+
public void deletePipelineAsync(DeletePipelineRequest request, ActionListener<WritePipelineResponse> listener, Header... headers) {
136+
restHighLevelClient.performRequestAsyncAndParseEntity( request, RequestConverters::deletePipeline,
137+
WritePipelineResponse::fromXContent, listener, emptySet(), headers);
89138
}
90139
}

client/rest-high-level/src/main/java/org/elasticsearch/client/RequestConverters.java

+28
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,9 @@
6060
import org.elasticsearch.action.get.GetRequest;
6161
import org.elasticsearch.action.get.MultiGetRequest;
6262
import org.elasticsearch.action.index.IndexRequest;
63+
import org.elasticsearch.action.ingest.DeletePipelineRequest;
6364
import org.elasticsearch.action.ingest.PutPipelineRequest;
65+
import org.elasticsearch.action.ingest.GetPipelineRequest;
6466
import org.elasticsearch.action.search.ClearScrollRequest;
6567
import org.elasticsearch.action.search.MultiSearchRequest;
6668
import org.elasticsearch.action.search.SearchRequest;
@@ -620,6 +622,18 @@ static Request clusterPutSettings(ClusterUpdateSettingsRequest clusterUpdateSett
620622
return request;
621623
}
622624

625+
static Request getPipeline(GetPipelineRequest getPipelineRequest) {
626+
String endpoint = new EndpointBuilder()
627+
.addPathPartAsIs("_ingest/pipeline")
628+
.addCommaSeparatedPathParts(getPipelineRequest.getIds())
629+
.build();
630+
Request request = new Request(HttpGet.METHOD_NAME, endpoint);
631+
632+
Params parameters = new Params(request);
633+
parameters.withMasterTimeout(getPipelineRequest.masterNodeTimeout());
634+
return request;
635+
}
636+
623637
static Request putPipeline(PutPipelineRequest putPipelineRequest) throws IOException {
624638
String endpoint = new EndpointBuilder()
625639
.addPathPartAsIs("_ingest/pipeline")
@@ -635,6 +649,20 @@ static Request putPipeline(PutPipelineRequest putPipelineRequest) throws IOExcep
635649
return request;
636650
}
637651

652+
static Request deletePipeline(DeletePipelineRequest deletePipelineRequest) {
653+
String endpoint = new EndpointBuilder()
654+
.addPathPartAsIs("_ingest/pipeline")
655+
.addPathPart(deletePipelineRequest.getId())
656+
.build();
657+
Request request = new Request(HttpDelete.METHOD_NAME, endpoint);
658+
659+
Params parameters = new Params(request);
660+
parameters.withTimeout(deletePipelineRequest.timeout());
661+
parameters.withMasterTimeout(deletePipelineRequest.masterNodeTimeout());
662+
663+
return request;
664+
}
665+
638666
static Request listTasks(ListTasksRequest listTaskRequest) {
639667
if (listTaskRequest.getTaskId() != null && listTaskRequest.getTaskId().isSet()) {
640668
throw new IllegalArgumentException("TaskId cannot be used for list tasks request");

0 commit comments

Comments
 (0)