Great thanks for testing this Paul. You're likely the first one to actually
try it on 4.0. Albeit I still think we should have a flag to ALTER to do
this for you... not ideal to have users messing with system tables.

raft.so - Cassandra consulting, support, and managed services


On Mon, Feb 22, 2021 at 10:58 PM Paul Chandler <p...@redshots.com> wrote:

> Yes, I am only running this on test clusters, I don’t run anything like
> this without lots of tests first.
>
> Anyway this worked well, so thanks for the info.
>
> For anyone else who needs this, the cql statement to do this was:
>
> insert into system_schema.keyspaces ( keyspace_name , durable_writes,
> replication ) values ( 'system_auth', true, {'OLD_DC': '3', ’NEW_DC': '3',
> 'class': 'org.apache.cassandra.locator.NetworkTopologyStrategy'} );
>
> This will then allow you to log in after the nodes come back up, and the
> other keyspaces can be changed as normal afterwards.
>
> Thanks for you help.
>
> Paul
>
>
> On 21 Feb 2021, at 22:30, Kane Wilson <k...@raft.so> wrote:
>
> Make sure you test it on a practice cluster. Messing with the system
> tables is risky business!
>
> raft.so - Cassandra consulting, support, and managed services
>
>
> On Sun, Feb 21, 2021 at 11:12 PM Paul Chandler <p...@redshots.com> wrote:
>
>> Hi Kane,
>>
>> That sounds a good idea, I will give it a try on Monday.
>>
>> Thanks
>>
>> Paul
>>
>> On 21 Feb 2021, at 11:33, Kane Wilson <k...@raft.so> wrote:
>>
>> There has been proposals to add a force/unsafe flag to alter DC but it
>> hasn't been actioned and at this rate seems unlikely to make it into 4.0.
>> There is however a workaround, albeit not very user friendly. You should be
>> able to modify the system_schema tables directly to do your DC updates. I
>> am yet to test it out myself so don't know the updates you'd need to make
>> but you should be able to get a good idea by querying, doing updates and
>> observing the effect.
>>
>> raft.so - Cassandra consulting, support, managed services
>>
>> On Sat., 20 Feb. 2021, 02:29 Paul Chandler, <p...@redshots.com> wrote:
>>
>>> All,
>>>
>>> We have a use case where we need to change the datacenter name for a
>>> cassandra cluster, we have a script to do this that involves a short
>>> downtime. This does the following
>>>
>>>
>>> 1) Change replication factor for the system key spaces to be { ‘OLD_DC’
>>> : ‘3’, ’NEW_DC”: ‘3’  }
>>> 2) Change the dc value in cassandra-rackdc.properties to NEW_DC for each
>>> node
>>> 3) Add -Dcassandra.ignore_dc=true in cassandra-env.sh for each node
>>> 4) Stop all nodes
>>> 5) Start each seed node, then start the rest of the nodes
>>> 6) change the replication factor for all the keyspaces to {  ’NEW_DC”:
>>> ‘3’  }
>>>
>>> In 3.11.x this all works fine and the cluster is good to be used again
>>> after step 6.
>>>
>>> However in 4.0 step 1 is now blocked by the following change "Cassandra
>>> will no longer allow invalid keyspace replication options, such as invalid
>>> datacenter names for NetworkTopologyStrategy”
>>>
>>> If you skip step 1) then when the nodes come back up, you cannot login
>>> because the system_auth keyspace still has a replication factor of ‘OLD_DC’
>>> : ‘3’ but there are no nodes in the dc OLD_DC so the keyspace cannot be
>>> accessed.
>>>
>>> Is there a way around this to change the name of the datacenter?
>>>
>>>
>>> Thanks
>>>
>>> Paul
>>>
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org
>>> For additional commands, e-mail: user-h...@cassandra.apache.org
>>>
>>>
>>
>

Reply via email to