[
https://issues.apache.org/jira/browse/CASSANDRA-21595?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18124940#comment-18124940
]
Erick Ramirez commented on CASSANDRA-21595:
-------------------------------------------
h2. Forward merge
Following the [How to
commit|https://cassandra.apache.org/_/development/how_to_commit.html]
instructions on the website, this is how I merged the commits.
h3. Start with the oldest branch {{cassandra-5.0}}
Created a new local branch:
{noformat}
% git switch -c cassandra-5.0 upstream/cassandra-5.0
branch 'cassandra-5.0' set up to track 'upstream/cassandra-5.0'.
Switched to a new branch 'cassandra-5.0'
{noformat}
Picked the commit for 5.0 from the summary table in the previous comment:
{noformat}
% git cherry-pick e7747def29
[cassandra-5.0 9d3283a80a] Clarify the unset, true and false behaviours of
cassandra.reset_bootstrap_progress
Author: Alexandre Viau <[email protected]>
Date: Fri Aug 21 21:58:41 2026 -0400
3 files changed, 45 insertions(+), 9 deletions(-)
{noformat}
Quick sanity check that I have the correct commit for 5.0:
{noformat}
% git log -1 --format=fuller
commit 9d3283a80ab7d8e3c2b290b222c794e8d41b2f70 (HEAD -> cassandra-5.0)
Author: Alexandre Viau <[email protected]>
AuthorDate: Fri Aug 21 21:58:41 2026 -0400
Commit: Erick Ramirez <[email protected]>
CommitDate: Thu Oct 8 13:13:22 2026 +1100
Clarify the unset, true and false behaviours of
cassandra.reset_bootstrap_progress
The message did not explain that the property behaves differently when
unset, true and false, so an operator hitting the abort could not tell
which value to pick. Spell out all three behaviours in the message and
document them in topo_changes.adoc.
patch by Alexandre Viau; reviewed by Mick Semb Wever, Uros Bojanic, Erick
Ramirez for CASSANDRA-21595
Assisted-by: Claude Code:claude-sonnet-5-5
{noformat}
Confirmed it only has the three files from the PR:
{noformat}
% git diff --stat upstream/cassandra-5.0 cassandra-5.0
CHANGES.txt | 1 +
doc/modules/cassandra/pages/managing/operating/topo_changes.adoc | 38
+++++++++++++++++++++++++++++++++++---
src/java/org/apache/cassandra/dht/RangeStreamer.java | 15
+++++++++------
3 files changed, 45 insertions(+), 9 deletions(-)
{noformat}
----
h3. Next branch {{cassandra-6.0}}
Created a new local branch:
{noformat}
% git switch -c cassandra-6.0 upstream/cassandra-6.0
branch 'cassandra-6.0' set up to track 'upstream/cassandra-6.0'.
Switched to a new branch 'cassandra-6.0'
{noformat}
Merged 5.0 using {{ours}} strategy:
{noformat}
% git merge cassandra-5.0 -s ours --log
{noformat}
The contents of the buffer:
{noformat}
Merge branch 'cassandra-5.0' into cassandra-6.0
# By Alexandre Viau
* cassandra-5.0:
Clarify the unset, true and false behaviours of
cassandra.reset_bootstrap_progress
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
{noformat}
Accepted the message as-is and here is the {{git merge}} output after saving:
{noformat}
Merge made by the 'ours' strategy.
{noformat}
Picked the commit for 6.0 from the summary table in the previous comment:
{noformat}
% git cherry-pick -n e69c4b320b
{noformat}
Verified what was staged:
{noformat}
% git diff --cached --stat
CHANGES.txt | 1 +
doc/modules/cassandra/pages/managing/operating/topo_changes.adoc | 38
+++++++++++++++++++++++++++++++++++---
src/java/org/apache/cassandra/dht/RangeStreamer.java | 15
+++++++++------
3 files changed, 45 insertions(+), 9 deletions(-)
{noformat}
Replaced the last commit to include what was staged:
{noformat}
% git commit --amend
{noformat}
The contents of the buffer:
{noformat}
Merge branch 'cassandra-5.0' into cassandra-6.0
* cassandra-5.0:
Clarify the unset, true and false behaviours of
cassandra.reset_bootstrap_progress
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# Date: Thu Oct 8 13:23:46 2026 +1100
#
# On branch cassandra-6.0
# Your branch is ahead of 'upstream/cassandra-6.0' by 2 commits.
# (use "git push" to publish your local commits)
#
# Changes to be committed:
# modified: CHANGES.txt
# modified:
doc/modules/cassandra/pages/managing/operating/topo_changes.adoc
# modified: src/java/org/apache/cassandra/dht/RangeStreamer.java
{noformat}
Accepted the message as-is and here is the {{git commit}} output after saving:
{noformat}
[cassandra-6.0 05fecbc54e] Merge branch 'cassandra-5.0' into cassandra-6.0
Date: Thu Oct 8 13:23:46 2026 +1100
{noformat}
Quick sanity check that I have the correct commit for 6.0 with two parents:
{noformat}
% git log -1 --format=fuller
commit 05fecbc54e68ac35283a16ce5df59228fa5ba145 (HEAD -> cassandra-6.0)
Merge: 45afe53827 9d3283a80a
Author: Erick Ramirez <[email protected]>
AuthorDate: Thu Oct 8 13:23:46 2026 +1100
Commit: Erick Ramirez <[email protected]>
CommitDate: Thu Oct 8 13:27:24 2026 +1100
Merge branch 'cassandra-5.0' into cassandra-6.0
* cassandra-5.0:
Clarify the unset, true and false behaviours of
cassandra.reset_bootstrap_progress
{noformat}
Confirmed it only has the three files from the PR:
{noformat}
% git diff --stat upstream/cassandra-6.0 cassandra-6.0
CHANGES.txt | 1 +
doc/modules/cassandra/pages/managing/operating/topo_changes.adoc | 38
+++++++++++++++++++++++++++++++++++---
src/java/org/apache/cassandra/dht/RangeStreamer.java | 15
+++++++++------
3 files changed, 45 insertions(+), 9 deletions(-)
{noformat}
----
h3. Finally {{trunk}}
{noformat}
% git switch trunk
Switched to branch 'trunk'
{noformat}
Moved {{trunk}} forward:
{noformat}
% git merge --ff-only upstream/trunk
Updating ce53702764..617fd3b935
Fast-forward
[per-file list of the 96 changed files omitted from this log]
96 files changed, 6355 insertions(+), 659 deletions(-)
[the "create mode" and "rename" lines omitted from this log]
{noformat}
Merged 6.0 to {{trunk}} using {{ours}} strategy:
{noformat}
% git merge cassandra-6.0 -s ours --log
{noformat}
The contents of the buffer:
{noformat}
Merge branch 'cassandra-6.0' into trunk
# By Alexandre Viau
* cassandra-6.0:
Clarify the unset, true and false behaviours of
cassandra.reset_bootstrap_progress
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
{noformat}
Accepted the message as-is and here is the {{git merge}} output after saving:
{noformat}
Merge made by the 'ours' strategy.
{noformat}
Picked the commit for {{trunk}} from the summary table in the previous comment:
{noformat}
% git cherry-pick -n 48f209e6a1
{noformat}
Verified what was staged:
{noformat}
% git diff --cached --stat
CHANGES.txt | 1 +
doc/modules/cassandra/pages/managing/operating/topo_changes.adoc | 38
+++++++++++++++++++++++++++++++++++---
src/java/org/apache/cassandra/dht/RangeStreamer.java | 15
+++++++++------
3 files changed, 45 insertions(+), 9 deletions(-)
{noformat}
Replaced the last commit to include what was staged:
{noformat}
% git commit --amend
{noformat}
The contents of the buffer:
{noformat}
Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
Clarify the unset, true and false behaviours of
cassandra.reset_bootstrap_progress
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# Date: Thu Oct 8 13:33:12 2026 +1100
#
# On branch trunk
# Your branch is ahead of 'origin/trunk' by 35 commits.
# (use "git push" to publish your local commits)
#
# Changes to be committed:
# modified: CHANGES.txt
# modified:
doc/modules/cassandra/pages/managing/operating/topo_changes.adoc
# modified: src/java/org/apache/cassandra/dht/RangeStreamer.java
{noformat}
Accepted the message as-is and here is the {{git commit}} output after saving:
{noformat}
[trunk 4ab8bac4a5] Merge branch 'cassandra-6.0' into trunk
Date: Thu Oct 8 13:33:12 2026 +1100{noformat}
Quick sanity check that I have the correct commit for {{trunk}} with two
parents:
{noformat}
% git log -1 --format=fuller
commit 4ab8bac4a51f8aef0d55b2497699e1291baeda4b (HEAD -> trunk)
Merge: 617fd3b935 05fecbc54e
Author: Erick Ramirez <[email protected]>
AuthorDate: Thu Oct 8 13:33:12 2026 +1100
Commit: Erick Ramirez <[email protected]>
CommitDate: Thu Oct 8 13:35:22 2026 +1100
Merge branch 'cassandra-6.0' into trunk
* cassandra-6.0:
Clarify the unset, true and false behaviours of
cassandra.reset_bootstrap_progress
{noformat}
Confirmed again the commit only had the three files from the PR:
{noformat}
% git diff --stat upstream/trunk trunk
CHANGES.txt | 1 +
doc/modules/cassandra/pages/managing/operating/topo_changes.adoc | 38
+++++++++++++++++++++++++++++++++++---
src/java/org/apache/cassandra/dht/RangeStreamer.java | 15
+++++++++------
3 files changed, 45 insertions(+), 9 deletions(-)
{noformat}
----
h3. Summary
Here are the list of commits after the forward-merge:
||Branch||Commit||Contents||
|{{cassandra-5.0}}|{{9d3283a80a}}|The 5.0 commit (cherry-pick of
{{{}e7747def29{}}})|
|{{cassandra-6.0}}|{{05fecbc54e}}|Merge of 5.0 with the 6.0 patch|
|{{trunk}}|{{4ab8bac4a5}}|Merge of 6.0, with the trunk patch|
> docs: distinguish between reset_bootstrap_progress (true, false, unset)
> -----------------------------------------------------------------------
>
> Key: CASSANDRA-21595
> URL: https://issues.apache.org/jira/browse/CASSANDRA-21595
> Project: Apache Cassandra
> Issue Type: Improvement
> Components: Consistency/Bootstrap and Decommission, Documentation
> Reporter: Alexandre Viau
> Assignee: Alexandre Viau
> Priority: Normal
> Labels: patch-available
> Fix For: 5.0.x, 6.0.x, 7.0
>
> Attachments: Screenshot 2026-10-07 at 9.57.36 AM.png,
> website-topo_changes-21595-post.jpg, website-topo_changes-21595-pre.jpg
>
> Time Spent: 3h 50m
> Remaining Estimate: 0h
>
> The only documenation available on `reset_bootstrap_progress` is the
> following:
> > In order to cleanup bootstrap state and start fresh, you may set the JVM
> > startup flag -Dcassandra.reset_bootstrap_progress=true.
> This gives the impression that if I don't want to start fresh, I should not
> do anything. However, this is false. If I want my node to resume bootstraping
> with existing data, I need to set it to `false`, which is different than the
> default of `unset`.
> I think this is impossible to infer from existing documentation. Only reading
> source code helped me understand.
>
> I opened a Merge Request on github here:
> https://github.com/apache/cassandra/pull/5047
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]