Skip to content

Commit

Permalink
[DOCS] Updates methods for upgrading machine learning (elastic#38876)
Browse files Browse the repository at this point in the history
  • Loading branch information
lcawl committed Feb 15, 2019
1 parent 176013e commit 7f917eb
Show file tree
Hide file tree
Showing 4 changed files with 64 additions and 4 deletions.
32 changes: 32 additions & 0 deletions docs/reference/upgrade/close-ml.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
[testenv="platinum"]

If your {ml} indices were created earlier than the previous major version, they
must be reindexed. In those circumstances, there must be no machine learning
jobs running during the upgrade.

In all other circumstances, there is no requirement to close your {ml} jobs.
There are, however, advantages to doing so. If you choose to leave your jobs
running during the upgrade, they are affected when you stop the {ml} nodes. The
jobs move to another {ml} node and restore the model states. This scenario has
the least disruption to the active {ml} jobs but incurs the highest load on the
cluster.

To close all {ml} jobs before you upgrade, see
{stack-ov}/stopping-ml.html[Stopping {ml}]. This method persists the model
state at the moment of closure, which means that when you open your jobs after
the upgrade, they use the exact same model. This scenario takes the most time,
however, especially if you have many jobs or jobs with large model states.

To temporarily halt the tasks associated with your {ml} jobs and {dfeeds} and
prevent new jobs from opening, use the <<ml-set-upgrade-mode,set upgrade mode API>>:

[source,js]
--------------------------------------------------
POST _ml/set_upgrade_mode?enabled=true
--------------------------------------------------
// CONSOLE

This method does not persist the absolute latest model state, rather it uses the
last model state that was automatically saved. By halting the tasks, you avoid
incurring the cost of managing active jobs during the upgrade and it's quicker
than stopping {dfeeds} and closing jobs.
11 changes: 9 additions & 2 deletions docs/reference/upgrade/cluster_restart.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,11 @@ recovery.
include::synced-flush.asciidoc[]
--

. *Stop any machine learning jobs that are running.* See
{xpack-ref}/stopping-ml.html[Stopping Machine Learning].
. *Stop any machine learning jobs that are running.*
+
--
include::close-ml.asciidoc[]
--

. *Shutdown all nodes.*
+
Expand Down Expand Up @@ -132,3 +135,7 @@ GET _cat/recovery
--

. *Restart machine learning jobs.*
+
--
include::open-ml.asciidoc[]
--
13 changes: 13 additions & 0 deletions docs/reference/upgrade/open-ml.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[testenv="platinum"]
If you closed all {ml} jobs before the upgrade, you must open them. Use {kib} or
the <<ml-open-job,open jobs API>>.

Alternatively, if you temporarily halted the tasks associated with your {ml} jobs,
use the <<ml-set-upgrade-mode,set upgrade mode API>> to return them to active
states:

[source,js]
--------------------------------------------------
POST _ml/set_upgrade_mode?enabled=false
--------------------------------------------------
// CONSOLE
12 changes: 10 additions & 2 deletions docs/reference/upgrade/rolling_upgrade.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,11 @@ include::synced-flush.asciidoc[]

--

. *Stop any machine learning jobs that are running.* See
{xpack-ref}/stopping-ml.html[Stopping Machine Learning].
. *Stop any machine learning jobs that are running.*
+
--
include::close-ml.asciidoc[]
--

. [[upgrade-node]] *Shut down a single node*.
+
Expand Down Expand Up @@ -160,6 +163,11 @@ for each node that needs to be updated.
--

. *Restart machine learning jobs.*
+
--
include::open-ml.asciidoc[]
--


[IMPORTANT]
====================================================
Expand Down

0 comments on commit 7f917eb

Please sign in to comment.