Skip to content

Commit c7fe87e

Browse files
authored
Removes Set Policy API in favour of setting index.lifecycle.name directly (#34304)
* Removes Set Policy API in favour of setting index.lifecycle.name directly * Reinstates matcher that will still be used * Cleans up code after rebase * Adds test to check changing policy with ndex settings works * Fixes TimeseriesLifecycleActionsIT after API removal * Fixes docs tests * Fixes case on close where lifecycle service was never created
1 parent 89404ce commit c7fe87e

File tree

29 files changed

+176
-1967
lines changed

29 files changed

+176
-1967
lines changed

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

Lines changed: 2 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,16 @@
2222
import org.elasticsearch.action.ActionListener;
2323
import org.elasticsearch.action.support.master.AcknowledgedResponse;
2424
import org.elasticsearch.client.indexlifecycle.DeleteLifecyclePolicyRequest;
25+
import org.elasticsearch.client.indexlifecycle.ExplainLifecycleRequest;
26+
import org.elasticsearch.client.indexlifecycle.ExplainLifecycleResponse;
2527
import org.elasticsearch.client.indexlifecycle.GetLifecyclePolicyRequest;
2628
import org.elasticsearch.client.indexlifecycle.GetLifecyclePolicyResponse;
2729
import org.elasticsearch.client.indexlifecycle.LifecycleManagementStatusRequest;
2830
import org.elasticsearch.client.indexlifecycle.LifecycleManagementStatusResponse;
2931
import org.elasticsearch.client.indexlifecycle.PutLifecyclePolicyRequest;
30-
import org.elasticsearch.client.indexlifecycle.ExplainLifecycleRequest;
31-
import org.elasticsearch.client.indexlifecycle.ExplainLifecycleResponse;
3232
import org.elasticsearch.client.indexlifecycle.RetryLifecyclePolicyRequest;
3333
import org.elasticsearch.client.indexlifecycle.RemoveIndexLifecyclePolicyRequest;
3434
import org.elasticsearch.client.indexlifecycle.RemoveIndexLifecyclePolicyResponse;
35-
import org.elasticsearch.client.indexlifecycle.SetIndexLifecyclePolicyRequest;
36-
import org.elasticsearch.client.indexlifecycle.SetIndexLifecyclePolicyResponse;
3735
import org.elasticsearch.client.indexlifecycle.StartILMRequest;
3836
import org.elasticsearch.client.indexlifecycle.StopILMRequest;
3937

@@ -135,35 +133,6 @@ public void deleteLifecyclePolicyAsync(DeleteLifecyclePolicyRequest request, Req
135133
AcknowledgedResponse::fromXContent, listener, emptySet());
136134
}
137135

138-
/**
139-
* Set the index lifecycle policy for an index
140-
* See <a href="https://fix-me-when-we-have-docs.com">
141-
* the docs</a> for more.
142-
* @param request the request
143-
* @param options the request options (e.g. headers), use {@link RequestOptions#DEFAULT} if nothing needs to be customized
144-
* @return the response
145-
* @throws IOException in case there is a problem sending the request or parsing back the response
146-
*/
147-
public SetIndexLifecyclePolicyResponse setIndexLifecyclePolicy(SetIndexLifecyclePolicyRequest request,
148-
RequestOptions options) throws IOException {
149-
return restHighLevelClient.performRequestAndParseEntity(request, RequestConverters::setIndexLifecyclePolicy, options,
150-
SetIndexLifecyclePolicyResponse::fromXContent, emptySet());
151-
}
152-
153-
/**
154-
* Asynchronously set the index lifecycle policy for an index
155-
* See <a href="https://fix-me-when-we-have-docs.com">
156-
* the docs</a> for more.
157-
* @param request the request
158-
* @param options the request options (e.g. headers), use {@link RequestOptions#DEFAULT} if nothing needs to be customized
159-
* @param listener the listener to be notified upon request completion
160-
*/
161-
public void setIndexLifecyclePolicyAsync(SetIndexLifecyclePolicyRequest request, RequestOptions options,
162-
ActionListener<SetIndexLifecyclePolicyResponse> listener) {
163-
restHighLevelClient.performRequestAsyncAndParseEntity(request, RequestConverters::setIndexLifecyclePolicy, options,
164-
SetIndexLifecyclePolicyResponse::fromXContent, listener, emptySet());
165-
}
166-
167136
/**
168137
* Remove the index lifecycle policy for an index
169138
* See <a href="https://fix-me-when-we-have-docs.com">

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

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@
5757
import org.elasticsearch.client.indexlifecycle.PutLifecyclePolicyRequest;
5858
import org.elasticsearch.client.indexlifecycle.RetryLifecyclePolicyRequest;
5959
import org.elasticsearch.client.indexlifecycle.RemoveIndexLifecyclePolicyRequest;
60-
import org.elasticsearch.client.indexlifecycle.SetIndexLifecyclePolicyRequest;
6160
import org.elasticsearch.client.indexlifecycle.StartILMRequest;
6261
import org.elasticsearch.client.indexlifecycle.StopILMRequest;
6362
import org.elasticsearch.client.security.RefreshPolicy;
@@ -641,20 +640,6 @@ static Request deleteLifecyclePolicy(DeleteLifecyclePolicyRequest deleteLifecycl
641640
return request;
642641
}
643642

644-
static Request setIndexLifecyclePolicy(SetIndexLifecyclePolicyRequest setPolicyRequest) {
645-
String[] indices = setPolicyRequest.indices() == null ? Strings.EMPTY_ARRAY : setPolicyRequest.indices();
646-
Request request = new Request(HttpPut.METHOD_NAME,
647-
new EndpointBuilder()
648-
.addCommaSeparatedPathParts(indices)
649-
.addPathPartAsIs("_ilm")
650-
.addPathPart(setPolicyRequest.policy())
651-
.build());
652-
Params params = new Params(request);
653-
params.withIndicesOptions(setPolicyRequest.indicesOptions());
654-
params.withMasterTimeout(setPolicyRequest.masterNodeTimeout());
655-
return request;
656-
}
657-
658643
static Request removeIndexLifecyclePolicy(RemoveIndexLifecyclePolicyRequest removePolicyRequest) {
659644
String[] indices = removePolicyRequest.indices() == null ?
660645
Strings.EMPTY_ARRAY : removePolicyRequest.indices().toArray(new String[] {});

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

Lines changed: 0 additions & 122 deletions
This file was deleted.

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

Lines changed: 0 additions & 111 deletions
This file was deleted.

client/rest-high-level/src/test/java/org/elasticsearch/client/IndexLifecycleIT.java

Lines changed: 3 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,6 @@
4545
import org.elasticsearch.client.indexlifecycle.RemoveIndexLifecyclePolicyRequest;
4646
import org.elasticsearch.client.indexlifecycle.RemoveIndexLifecyclePolicyResponse;
4747
import org.elasticsearch.client.indexlifecycle.RolloverAction;
48-
import org.elasticsearch.client.indexlifecycle.SetIndexLifecyclePolicyRequest;
49-
import org.elasticsearch.client.indexlifecycle.SetIndexLifecyclePolicyResponse;
5048
import org.elasticsearch.client.indexlifecycle.ShrinkAction;
5149
import org.elasticsearch.client.indexlifecycle.StartILMRequest;
5250
import org.elasticsearch.client.indexlifecycle.StopILMRequest;
@@ -71,42 +69,16 @@
7169

7270
public class IndexLifecycleIT extends ESRestHighLevelClientTestCase {
7371

74-
public void testSetIndexLifecyclePolicy() throws Exception {
75-
String policyName = randomAlphaOfLength(10);
76-
LifecyclePolicy policy = createRandomPolicy(policyName);
77-
PutLifecyclePolicyRequest putRequest = new PutLifecyclePolicyRequest(policy);
78-
assertAcked(execute(putRequest, highLevelClient().indexLifecycle()::putLifecyclePolicy,
79-
highLevelClient().indexLifecycle()::putLifecyclePolicyAsync));
80-
81-
createIndex("foo", Settings.builder().put("index.lifecycle.name", "bar").build());
82-
createIndex("baz", Settings.builder().put("index.lifecycle.name", "eggplant").build());
83-
SetIndexLifecyclePolicyRequest req = new SetIndexLifecyclePolicyRequest(policyName, "foo", "baz");
84-
SetIndexLifecyclePolicyResponse response = execute(req, highLevelClient().indexLifecycle()::setIndexLifecyclePolicy,
85-
highLevelClient().indexLifecycle()::setIndexLifecyclePolicyAsync);
86-
assertThat(response.hasFailures(), is(false));
87-
assertThat(response.getFailedIndexes().isEmpty(), is(true));
88-
89-
GetSettingsRequest getSettingsRequest = new GetSettingsRequest().indices("foo", "baz");
90-
GetSettingsResponse settingsResponse = highLevelClient().indices().getSettings(getSettingsRequest, RequestOptions.DEFAULT);
91-
assertThat(settingsResponse.getSetting("foo", "index.lifecycle.name"), equalTo(policyName));
92-
assertThat(settingsResponse.getSetting("baz", "index.lifecycle.name"), equalTo(policyName));
93-
}
94-
9572
public void testRemoveIndexLifecyclePolicy() throws Exception {
9673
String policyName = randomAlphaOfLength(10);
9774
LifecyclePolicy policy = createRandomPolicy(policyName);
9875
PutLifecyclePolicyRequest putRequest = new PutLifecyclePolicyRequest(policy);
9976
assertAcked(execute(putRequest, highLevelClient().indexLifecycle()::putLifecyclePolicy,
10077
highLevelClient().indexLifecycle()::putLifecyclePolicyAsync));
10178

102-
createIndex("foo", Settings.builder().put("index.lifecycle.name", "bar").build());
103-
createIndex("baz", Settings.builder().put("index.lifecycle.name", "eggplant").build());
104-
createIndex("rbh", Settings.builder().put("index.lifecycle.name", "whatisthis").build());
105-
SetIndexLifecyclePolicyRequest setReq = new SetIndexLifecyclePolicyRequest(policyName, "foo", "baz", "rbh");
106-
SetIndexLifecyclePolicyResponse setResp = execute(setReq, highLevelClient().indexLifecycle()::setIndexLifecyclePolicy,
107-
highLevelClient().indexLifecycle()::setIndexLifecyclePolicyAsync);
108-
assertThat(setResp.hasFailures(), is(false));
109-
assertThat(setResp.getFailedIndexes().isEmpty(), is(true));
79+
createIndex("foo", Settings.builder().put("index.lifecycle.name", policyName).build());
80+
createIndex("baz", Settings.builder().put("index.lifecycle.name", policyName).build());
81+
createIndex("rbh", Settings.builder().put("index.lifecycle.name", policyName).build());
11082

11183
GetSettingsRequest getSettingsRequest = new GetSettingsRequest().indices("foo", "baz", "rbh");
11284
GetSettingsResponse settingsResponse = highLevelClient().indices().getSettings(getSettingsRequest, RequestOptions.DEFAULT);

0 commit comments

Comments
 (0)