5

Can anyone explain what is the use of

-JVM_OPTS="$JVM_OPTS -Dcassandra.consistent.rangemovement=false"

What is the default setting and how does it effect multiple nodes joining a cluster?

All i got related to this is Datastax doc for cassandra utility

vsminkov
  • 10,912
  • 2
  • 38
  • 50
user6288321
  • 365
  • 4
  • 14

1 Answers1

5

According to NEWS.txt

Bootstrapping now ensures that range movements are consistent, meaning the data for the new node is taken from the node that is no longer a responsible for that range of keys. If you want the old behavior (due to a lost node perhaps) you can set the following property (-Dcassandra.consistent.rangemovement=false).

And following official operating guide

After the tokens are allocated, the joining node will pick current replicas of the token ranges it will become responsible for to stream data from. By default it will stream from the primary replica of each token range in order to guarantee data in the new node will be consistent with the current state.

In the case of any unavailable replica, the consistent bootstrap process will fail. To override this behavior and potentially miss data from an unavailable replica, set the JVM flag -Dcassandra.consistent.rangemovement=false.

Community
  • 1
  • 1
vsminkov
  • 10,912
  • 2
  • 38
  • 50
  • what is the default setting ?? if we haven't added any to cassandra-env.sh – user6288321 Sep 06 '16 at 20:01
  • @user6288321 the default value is `true` (you can confirm it by looking into [sources](https://github.com/apache/cassandra/blob/cassandra-3.0/src/java/org/apache/cassandra/service/StorageService.java#L195)) – vsminkov Sep 06 '16 at 20:03