|
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;
|
@@ -64,7 +65,13 @@ protected void masterOperation(final GetSnapshotLifecycleAction.Request request,
|
64 | 65 | final ActionListener<GetSnapshotLifecycleAction.Response> listener) {
|
65 | 66 | SnapshotLifecycleMetadata snapMeta = state.metaData().custom(SnapshotLifecycleMetadata.TYPE);
|
66 | 67 | if (snapMeta == null) {
|
67 |
| - listener.onResponse(new GetSnapshotLifecycleAction.Response(Collections.emptyList())); |
| 68 | + if (request.getLifecycleIds().length == 0) { |
| 69 | + listener.onResponse(new GetSnapshotLifecycleAction.Response(Collections.emptyList())); |
| 70 | + } else { |
| 71 | + listener.onFailure(new ResourceNotFoundException( |
| 72 | + "snapshot lifecycle policy or policies {} not found, no policies are configured", |
| 73 | + Arrays.toString(request.getLifecycleIds()))); |
| 74 | + } |
68 | 75 | } else {
|
69 | 76 | final Map<String, SnapshotLifecyclePolicyItem.SnapshotInProgress> inProgress;
|
70 | 77 | SnapshotsInProgress sip = state.custom(SnapshotsInProgress.TYPE);
|
@@ -99,7 +106,16 @@ protected void masterOperation(final GetSnapshotLifecycleAction.Request request,
|
99 | 106 | new SnapshotLifecyclePolicyItem(policyMeta, inProgress.get(policyMeta.getPolicy().getId()),
|
100 | 107 | slmStats.getMetrics().get(policyMeta.getPolicy().getId())))
|
101 | 108 | .collect(Collectors.toList());
|
102 |
| - listener.onResponse(new GetSnapshotLifecycleAction.Response(lifecycles)); |
| 109 | + if (lifecycles.size() == 0) { |
| 110 | + if (request.getLifecycleIds().length == 0) { |
| 111 | + listener.onResponse(new GetSnapshotLifecycleAction.Response(Collections.emptyList())); |
| 112 | + } else { |
| 113 | + listener.onFailure(new ResourceNotFoundException("snapshot lifecycle policy or policies {} not found", |
| 114 | + Arrays.toString(request.getLifecycleIds()))); |
| 115 | + } |
| 116 | + } else { |
| 117 | + listener.onResponse(new GetSnapshotLifecycleAction.Response(lifecycles)); |
| 118 | + } |
103 | 119 | }
|
104 | 120 | }
|
105 | 121 |
|
|
0 commit comments