Skip to content

Commit f8e4b30

Browse files
authored
CCR: mention how to enable soft deletes in error message when not enabled (#36476)
1 parent 636bc0f commit f8e4b30

File tree

4 files changed

+13
-6
lines changed

4 files changed

+13
-6
lines changed

x-pack/plugin/ccr/src/main/java/org/elasticsearch/xpack/ccr/action/TransportPutFollowAction.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,9 +124,11 @@ private void createFollowerIndex(
124124
listener.onFailure(new IllegalArgumentException("leader index [" + request.getLeaderIndex() + "] does not exist"));
125125
return;
126126
}
127-
if (leaderIndexMetaData.getSettings().getAsBoolean(IndexSettings.INDEX_SOFT_DELETES_SETTING.getKey(), false) == false) {
127+
if (IndexSettings.INDEX_SOFT_DELETES_SETTING.get(leaderIndexMetaData.getSettings()) == false) {
128128
listener.onFailure(
129-
new IllegalArgumentException("leader index [" + request.getLeaderIndex() + "] does not have soft deletes enabled"));
129+
new IllegalArgumentException("leader index [" + request.getLeaderIndex() + "] does not have soft deletes enabled. " +
130+
"soft deletes must be enabled when the index is created by setting " + IndexSettings.INDEX_SOFT_DELETES_SETTING.getKey()
131+
+ " to true"));
130132
return;
131133
}
132134

x-pack/plugin/ccr/src/main/java/org/elasticsearch/xpack/ccr/action/TransportResumeFollowAction.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,9 +211,10 @@ static void validate(
211211
}
212212
}
213213

214-
if (leaderIndex.getSettings().getAsBoolean(IndexSettings.INDEX_SOFT_DELETES_SETTING.getKey(), false) == false) {
214+
if (IndexSettings.INDEX_SOFT_DELETES_SETTING.get(leaderIndex.getSettings()) == false) {
215215
throw new IllegalArgumentException("leader index [" + leaderIndex.getIndex().getName() +
216-
"] does not have soft deletes enabled");
216+
"] does not have soft deletes enabled. soft deletes must be enabled when the index is created by setting "
217+
+ IndexSettings.INDEX_SOFT_DELETES_SETTING.getKey() + " to true");
217218
}
218219
if (followIndex.getSettings().getAsBoolean(IndexSettings.INDEX_SOFT_DELETES_SETTING.getKey(), false) == false) {
219220
throw new IllegalArgumentException("follower index [" + request.getFollowerIndex() + "] does not have soft deletes enabled");

x-pack/plugin/ccr/src/test/java/org/elasticsearch/xpack/ccr/LocalIndexFollowingIT.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,9 @@ public void testDoNotCreateFollowerIfLeaderDoesNotHaveSoftDeletes() throws Excep
7979
putFollowRequest.setFollowRequest(followRequest);
8080
IllegalArgumentException error = expectThrows(IllegalArgumentException.class,
8181
() -> client().execute(PutFollowAction.INSTANCE, putFollowRequest).actionGet());
82-
assertThat(error.getMessage(), equalTo("leader index [leader-index] does not have soft deletes enabled"));
82+
assertThat(error.getMessage(), equalTo("leader index [leader-index] does not have soft deletes enabled. " +
83+
"soft deletes must be enabled when the index is created by setting " + IndexSettings.INDEX_SOFT_DELETES_SETTING.getKey()
84+
+ " to true"));
8385
assertThat(client().admin().indices().prepareExists("follower-index").get().isExists(), equalTo(false));
8486
}
8587

x-pack/plugin/ccr/src/test/java/org/elasticsearch/xpack/ccr/action/TransportResumeFollowActionTests.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,9 @@ public void testValidation() throws IOException {
7676
IndexMetaData leaderIMD = createIMD("index1", 5, Settings.EMPTY, null);
7777
IndexMetaData followIMD = createIMD("index2", 5, Settings.EMPTY, customMetaData);
7878
Exception e = expectThrows(IllegalArgumentException.class, () -> validate(request, leaderIMD, followIMD, UUIDs, null));
79-
assertThat(e.getMessage(), equalTo("leader index [index1] does not have soft deletes enabled"));
79+
assertThat(e.getMessage(), equalTo("leader index [index1] does not have soft deletes enabled. " +
80+
"soft deletes must be enabled when the index is created by setting " + IndexSettings.INDEX_SOFT_DELETES_SETTING.getKey()
81+
+ " to true"));
8082
}
8183
{
8284
// should fail because the follower index does not have soft deletes enabled

0 commit comments

Comments
 (0)