Skip to content

Commit 44df062

Browse files
authored
Remove v7 compat from {PUT,DELETE} /_snapshot/${REPO} APIs (#114726)
This exception mangling only existed for v7 API compatibility and is no longer needed.
1 parent 98c9a70 commit 44df062

File tree

4 files changed

+19
-46
lines changed

4 files changed

+19
-46
lines changed

server/src/main/java/org/elasticsearch/repositories/RepositoriesService.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -937,8 +937,7 @@ private static boolean indexSettingsMatchRepositoryMetadata(IndexMetadata indexM
937937
private static RepositoryConflictException newRepositoryConflictException(String repository, String reason) {
938938
return new RepositoryConflictException(
939939
repository,
940-
"trying to modify or unregister repository that is currently used (" + reason + ')',
941-
"trying to modify or unregister repository [" + repository + "] that is currently used (" + reason + ')'
940+
"trying to modify or unregister repository that is currently used (" + reason + ')'
942941
);
943942
}
944943

server/src/main/java/org/elasticsearch/repositories/RepositoryConflictException.java

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111

1212
import org.elasticsearch.common.io.stream.StreamInput;
1313
import org.elasticsearch.common.io.stream.StreamOutput;
14+
import org.elasticsearch.core.UpdateForV9;
1415
import org.elasticsearch.rest.RestStatus;
1516

1617
import java.io.IOException;
@@ -19,30 +20,25 @@
1920
* Repository conflict exception
2021
*/
2122
public class RepositoryConflictException extends RepositoryException {
22-
private final String backwardCompatibleMessage;
23-
24-
public RepositoryConflictException(String repository, String message, String backwardCompatibleMessage) {
23+
public RepositoryConflictException(String repository, String message) {
2524
super(repository, message);
26-
this.backwardCompatibleMessage = backwardCompatibleMessage;
2725
}
2826

2927
@Override
3028
public RestStatus status() {
3129
return RestStatus.CONFLICT;
3230
}
3331

34-
public String getBackwardCompatibleMessage() {
35-
return backwardCompatibleMessage;
36-
}
37-
32+
@UpdateForV9(owner = UpdateForV9.Owner.DISTRIBUTED_COORDINATION) // drop unneeded string from wire format
3833
public RepositoryConflictException(StreamInput in) throws IOException {
3934
super(in);
40-
this.backwardCompatibleMessage = in.readString();
35+
in.readString();
4136
}
4237

4338
@Override
39+
@UpdateForV9(owner = UpdateForV9.Owner.DISTRIBUTED_COORDINATION) // drop unneeded string from wire format
4440
protected void writeTo(StreamOutput out, Writer<Throwable> nestedExceptionsWriter) throws IOException {
4541
super.writeTo(out, nestedExceptionsWriter);
46-
out.writeString(backwardCompatibleMessage);
42+
out.writeString("");
4743
}
4844
}

server/src/main/java/org/elasticsearch/rest/action/admin/cluster/RestDeleteRepositoryAction.java

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,7 @@
1010
package org.elasticsearch.rest.action.admin.cluster;
1111

1212
import org.elasticsearch.action.admin.cluster.repositories.delete.DeleteRepositoryRequest;
13-
import org.elasticsearch.action.support.master.AcknowledgedResponse;
1413
import org.elasticsearch.client.internal.node.NodeClient;
15-
import org.elasticsearch.core.RestApiVersion;
16-
import org.elasticsearch.repositories.RepositoryConflictException;
1714
import org.elasticsearch.rest.BaseRestHandler;
1815
import org.elasticsearch.rest.RestRequest;
1916
import org.elasticsearch.rest.Scope;
@@ -45,19 +42,11 @@ public String getName() {
4542

4643
@Override
4744
public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException {
48-
String name = request.param("repository");
49-
final var deleteRepositoryRequest = new DeleteRepositoryRequest(getMasterNodeTimeout(request), getAckTimeout(request), name);
50-
return channel -> client.admin()
51-
.cluster()
52-
.deleteRepository(
53-
deleteRepositoryRequest,
54-
new RestToXContentListener<AcknowledgedResponse>(channel).delegateResponse((delegate, err) -> {
55-
if (request.getRestApiVersion().equals(RestApiVersion.V_7) && err instanceof RepositoryConflictException) {
56-
delegate.onFailure(new IllegalStateException(((RepositoryConflictException) err).getBackwardCompatibleMessage()));
57-
} else {
58-
delegate.onFailure(err);
59-
}
60-
})
61-
);
45+
final var deleteRepositoryRequest = new DeleteRepositoryRequest(
46+
getMasterNodeTimeout(request),
47+
getAckTimeout(request),
48+
request.param("repository")
49+
);
50+
return channel -> client.admin().cluster().deleteRepository(deleteRepositoryRequest, new RestToXContentListener<>(channel));
6251
}
6352
}

server/src/main/java/org/elasticsearch/rest/action/admin/cluster/RestPutRepositoryAction.java

Lines changed: 6 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,7 @@
1010
package org.elasticsearch.rest.action.admin.cluster;
1111

1212
import org.elasticsearch.action.admin.cluster.repositories.put.PutRepositoryRequest;
13-
import org.elasticsearch.action.support.master.AcknowledgedResponse;
1413
import org.elasticsearch.client.internal.node.NodeClient;
15-
import org.elasticsearch.core.RestApiVersion;
16-
import org.elasticsearch.repositories.RepositoryConflictException;
1714
import org.elasticsearch.rest.BaseRestHandler;
1815
import org.elasticsearch.rest.RestRequest;
1916
import org.elasticsearch.rest.Scope;
@@ -47,23 +44,15 @@ public String getName() {
4744

4845
@Override
4946
public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException {
50-
String name = request.param("repository");
51-
final var putRepositoryRequest = new PutRepositoryRequest(getMasterNodeTimeout(request), getAckTimeout(request), name);
47+
final var putRepositoryRequest = new PutRepositoryRequest(
48+
getMasterNodeTimeout(request),
49+
getAckTimeout(request),
50+
request.param("repository")
51+
);
5252
try (XContentParser parser = request.contentParser()) {
5353
putRepositoryRequest.source(parser.mapOrdered());
5454
}
5555
putRepositoryRequest.verify(request.paramAsBoolean("verify", true));
56-
return channel -> client.admin()
57-
.cluster()
58-
.putRepository(
59-
putRepositoryRequest,
60-
new RestToXContentListener<AcknowledgedResponse>(channel).delegateResponse((delegate, err) -> {
61-
if (request.getRestApiVersion().equals(RestApiVersion.V_7) && err instanceof RepositoryConflictException) {
62-
delegate.onFailure(new IllegalStateException(((RepositoryConflictException) err).getBackwardCompatibleMessage()));
63-
} else {
64-
delegate.onFailure(err);
65-
}
66-
})
67-
);
56+
return channel -> client.admin().cluster().putRepository(putRepositoryRequest, new RestToXContentListener<>(channel));
6857
}
6958
}

0 commit comments

Comments
 (0)