|
8 | 8 |
|
9 | 9 | import org.apache.logging.log4j.LogManager;
|
10 | 10 | import org.apache.logging.log4j.Logger;
|
| 11 | +import org.elasticsearch.ResourceNotFoundException; |
11 | 12 | import org.elasticsearch.action.ActionListener;
|
12 | 13 | import org.elasticsearch.action.support.ActionFilters;
|
13 | 14 | import org.elasticsearch.action.support.master.TransportMasterNodeAction;
|
@@ -63,7 +64,13 @@ protected void masterOperation(final GetSnapshotLifecycleAction.Request request,
|
63 | 64 | final ActionListener<GetSnapshotLifecycleAction.Response> listener) {
|
64 | 65 | SnapshotLifecycleMetadata snapMeta = state.metaData().custom(SnapshotLifecycleMetadata.TYPE);
|
65 | 66 | if (snapMeta == null) {
|
66 |
| - listener.onResponse(new GetSnapshotLifecycleAction.Response(Collections.emptyList())); |
| 67 | + if (request.getLifecycleIds().length == 0) { |
| 68 | + listener.onResponse(new GetSnapshotLifecycleAction.Response(Collections.emptyList())); |
| 69 | + } else { |
| 70 | + listener.onFailure(new ResourceNotFoundException( |
| 71 | + "snapshot lifecycle policy or policies {} not found, no policies are configured", |
| 72 | + Arrays.toString(request.getLifecycleIds()))); |
| 73 | + } |
67 | 74 | } else {
|
68 | 75 | final Map<String, SnapshotLifecyclePolicyItem.SnapshotInProgress> inProgress;
|
69 | 76 | SnapshotsInProgress sip = state.custom(SnapshotsInProgress.TYPE);
|
@@ -95,7 +102,16 @@ protected void masterOperation(final GetSnapshotLifecycleAction.Request request,
|
95 | 102 | })
|
96 | 103 | .map(policyMeta -> new SnapshotLifecyclePolicyItem(policyMeta, inProgress.get(policyMeta.getPolicy().getId())))
|
97 | 104 | .collect(Collectors.toList());
|
98 |
| - listener.onResponse(new GetSnapshotLifecycleAction.Response(lifecycles)); |
| 105 | + if (lifecycles.size() == 0) { |
| 106 | + if (request.getLifecycleIds().length == 0) { |
| 107 | + listener.onResponse(new GetSnapshotLifecycleAction.Response(Collections.emptyList())); |
| 108 | + } else { |
| 109 | + listener.onFailure(new ResourceNotFoundException("snapshot lifecycle policy or policies {} not found", |
| 110 | + Arrays.toString(request.getLifecycleIds()))); |
| 111 | + } |
| 112 | + } else { |
| 113 | + listener.onResponse(new GetSnapshotLifecycleAction.Response(lifecycles)); |
| 114 | + } |
99 | 115 | }
|
100 | 116 | }
|
101 | 117 |
|
|
0 commit comments