Skip to content

Commit

Permalink
[7.7][ML] Use non-zero timeout when force stopping DF analytics (#56423
Browse files Browse the repository at this point in the history
…) (#56431)

We have been using a zero timeout in the case that DF analytics
is stopped. This may cause a timeout when we cancel, for example,
the reindex task.

This commit fixes this by using the default timeout instead.

Backport of #56423
  • Loading branch information
dimitris-athanasiou committed May 8, 2020
1 parent 2800db5 commit 1684ddd
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,15 @@
import java.util.HashSet;
import java.util.Objects;
import java.util.Set;
import java.util.concurrent.TimeUnit;

public class StopDataFrameAnalyticsAction extends ActionType<StopDataFrameAnalyticsAction.Response> {

public static final StopDataFrameAnalyticsAction INSTANCE = new StopDataFrameAnalyticsAction();
public static final String NAME = "cluster:admin/xpack/ml/data_frame/analytics/stop";

public static final TimeValue DEFAULT_TIMEOUT = new TimeValue(30, TimeUnit.SECONDS);

private StopDataFrameAnalyticsAction() {
super(NAME, StopDataFrameAnalyticsAction.Response::new);
}
Expand Down Expand Up @@ -76,6 +79,7 @@ public static Request parseRequest(String id, XContentParser parser) {

public Request(String id) {
setId(id);
setTimeout(DEFAULT_TIMEOUT);
}

public Request(StreamInput in) throws IOException {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
import org.elasticsearch.xpack.core.ml.MlTasks;
import org.elasticsearch.xpack.core.ml.action.GetDataFrameAnalyticsStatsAction;
import org.elasticsearch.xpack.core.ml.action.StartDataFrameAnalyticsAction;
import org.elasticsearch.xpack.core.ml.action.StopDataFrameAnalyticsAction;
import org.elasticsearch.xpack.core.ml.dataframe.DataFrameAnalyticsState;
import org.elasticsearch.xpack.core.ml.dataframe.DataFrameAnalyticsTaskState;
import org.elasticsearch.xpack.core.ml.job.messages.Messages;
Expand Down Expand Up @@ -105,7 +106,7 @@ public StatsHolder getStatsHolder() {

@Override
protected void onCancelled() {
stop(getReasonCancelled(), TimeValue.ZERO);
stop(getReasonCancelled(), StopDataFrameAnalyticsAction.DEFAULT_TIMEOUT);
markAsCompleted();
}

Expand Down

0 comments on commit 1684ddd

Please sign in to comment.