@@ -50,9 +50,41 @@ unavailable replica, set the JVM flag
5050On 2.2+, if the bootstrap process fails, it's possible to resume
5151bootstrap from the previous saved state by calling
5252`nodetool bootstrap resume`. If for some reason the bootstrap hangs or
53- stalls, it may also be resumed by simply restarting the node. In order
54- to cleanup bootstrap state and start fresh, you may set the JVM startup
55- flag `-Dcassandra.reset_bootstrap_progress=true`.
53+ stalls, it may also be resumed by simply restarting the node.
54+
55+ ==== The `cassandra.reset_bootstrap_progress` JVM property
56+
57+ When a bootstrap finds ranges that a previous, partially successful
58+ bootstrap already marked as available, the behaviour depends on the
59+ `cassandra.reset_bootstrap_progress` JVM startup property. Leaving it
60+ unset is *not* the same as setting it to `true` or to `false`.
61+
62+ [cols=",",options="header",]
63+ |===
64+ |Value |Behaviour when previous bootstrap progress is found
65+
66+ |unset (default) | If ranges from a previous bootstrap are found,
67+ the bootstrap usually aborts with an error, so that no decision
68+ about the existing data is made on your behalf. If none are found,
69+ the bootstrap proceeds normally.
70+
71+ |`true` |Discards the recorded progress and streams all ranges again.
72+ The files already streamed are *not* deleted, so remove them before
73+ retrying or you may resurrect or duplicate data. See
74+ https://issues.apache.org/jira/browse/CASSANDRA-17679[CASSANDRA-17679].
75+
76+ |`false` |Keeps the recorded progress and streams only the ranges not
77+ already marked as available. Potentially dangerous, because the data
78+ streamed by the previous attempt may be missing or incomplete. Prefer
79+ `true` after cleaning up the old files. See
80+ https://issues.apache.org/jira/browse/CASSANDRA-17679[CASSANDRA-17679].
81+ |===
82+
83+ In some situations, a bootstrap with the property unset doesn't abort.
84+ Instead, it continues and reuses the ranges that a previous attempt
85+ already streamed, without logging that it skipped them. To avoid this,
86+ we recommend setting the property to `true` after removing the files
87+ from the previous attempt.
5688
5789On lower versions, when the bootstrap proces fails it is recommended to
5890wipe the node (remove all the data), and restart the bootstrap process
0 commit comments