You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by Paul Chandler <pa...@redshots.com> on 2024/04/24 15:16:22 UTC
Mixed Cluster 4.0 and 4.1
Hi all,
We have some large clusters ( 1000+ nodes ), these are across multiple datacenters.
When we perform upgrades we would normally upgrade a DC at a time during a planned outage for one DC. This means that a cluster might be in a mixed mode with multiple versions for a week or 2.
We have noticed that during our testing that upgrading to 4.1 causes a schema mismatch due to the new tables added into the system keyspace.
Is this going to be an issue if this schema mismatch lasts for maybe several weeks? I assume that running any DDL during that time would be a bad idea, is there any other issues to look out for?
Thanks
Paul Chandler
Re: Mixed Cluster 4.0 and 4.1
Posted by Bowen Song via user <us...@cassandra.apache.org>.
Hi Paul,
IMO, if they are truly risk-adverse, they should follow the tested and
proven best practices, instead of doing things in a less tested way
which is also know to pose a danger to the data correctness.
If they must do this over a long period of time, then they may need to
temporarily increase the gc_grace_seconds on all tables, and ensure that
no DDL or repair is run before the upgrade completes. It is unknown
whether this route is safe, because it's a less tested route to upgrade
a cluster.
Please be aware that if they do deletes frequently, increasing the
gc_grace_seconds may cause some reads to fail due to the elevated number
of tombstones.
Cheers,
Bowen
On 24/04/2024 17:25, Paul Chandler wrote:
> Hi Bowen,
>
> Thanks for your quick reply.
>
> Sorry I used the wrong term there, there it is a maintenance window rather than an outage. This is a key system and the vital nature of it means that the customer is rightly very risk adverse, so we will only even get permission to upgrade one DC per night via a rolling upgrade, meaning this will always be over more than a week.
>
> So we can’t shorten the time the cluster is in mixed mode, but I am concerned about having a schema mismatch for this long time. Should I be concerned, or have others upgraded in a similar way?
>
> Thanks
>
> Paul
>
>> On 24 Apr 2024, at 17:02, Bowen Song via user <us...@cassandra.apache.org> wrote:
>>
>> Hi Paul,
>>
>> You don't need to plan for or introduce an outage for a rolling upgrade, which is the preferred route. It isn't advisable to take down an entire DC to do upgrade.
>>
>> You should aim to complete upgrading the entire cluster and finish a full repair within the shortest gc_grace_seconds (default to 10 days) of all tables. Failing to do that may cause data resurrections.
>>
>> During the rolling upgrade, you should not run repair or any DDL query (such as ALTER TABLE, TRUNCATE, etc.).
>>
>> You don't need to do the rolling upgrade node by node. You can do it rack by rack. Stopping all nodes in a single rack and upgrade them concurrently is much faster. The number of nodes doesn't matter that much to the time required to complete a rolling upgrade, it's the number of DCs and racks matter.
>>
>> Cheers,
>> Bowen
>>
>> On 24/04/2024 16:16, Paul Chandler wrote:
>>> Hi all,
>>>
>>> We have some large clusters ( 1000+ nodes ), these are across multiple datacenters.
>>>
>>> When we perform upgrades we would normally upgrade a DC at a time during a planned outage for one DC. This means that a cluster might be in a mixed mode with multiple versions for a week or 2.
>>>
>>> We have noticed that during our testing that upgrading to 4.1 causes a schema mismatch due to the new tables added into the system keyspace.
>>>
>>> Is this going to be an issue if this schema mismatch lasts for maybe several weeks? I assume that running any DDL during that time would be a bad idea, is there any other issues to look out for?
>>>
>>> Thanks
>>>
>>> Paul Chandler
Re: Mixed Cluster 4.0 and 4.1
Posted by Paul Chandler <pa...@redshots.com>.
Hi Bowen,
Thanks for your quick reply.
Sorry I used the wrong term there, there it is a maintenance window rather than an outage. This is a key system and the vital nature of it means that the customer is rightly very risk adverse, so we will only even get permission to upgrade one DC per night via a rolling upgrade, meaning this will always be over more than a week.
So we can’t shorten the time the cluster is in mixed mode, but I am concerned about having a schema mismatch for this long time. Should I be concerned, or have others upgraded in a similar way?
Thanks
Paul
> On 24 Apr 2024, at 17:02, Bowen Song via user <us...@cassandra.apache.org> wrote:
>
> Hi Paul,
>
> You don't need to plan for or introduce an outage for a rolling upgrade, which is the preferred route. It isn't advisable to take down an entire DC to do upgrade.
>
> You should aim to complete upgrading the entire cluster and finish a full repair within the shortest gc_grace_seconds (default to 10 days) of all tables. Failing to do that may cause data resurrections.
>
> During the rolling upgrade, you should not run repair or any DDL query (such as ALTER TABLE, TRUNCATE, etc.).
>
> You don't need to do the rolling upgrade node by node. You can do it rack by rack. Stopping all nodes in a single rack and upgrade them concurrently is much faster. The number of nodes doesn't matter that much to the time required to complete a rolling upgrade, it's the number of DCs and racks matter.
>
> Cheers,
> Bowen
>
> On 24/04/2024 16:16, Paul Chandler wrote:
>> Hi all,
>>
>> We have some large clusters ( 1000+ nodes ), these are across multiple datacenters.
>>
>> When we perform upgrades we would normally upgrade a DC at a time during a planned outage for one DC. This means that a cluster might be in a mixed mode with multiple versions for a week or 2.
>>
>> We have noticed that during our testing that upgrading to 4.1 causes a schema mismatch due to the new tables added into the system keyspace.
>>
>> Is this going to be an issue if this schema mismatch lasts for maybe several weeks? I assume that running any DDL during that time would be a bad idea, is there any other issues to look out for?
>>
>> Thanks
>>
>> Paul Chandler
Re: Mixed Cluster 4.0 and 4.1
Posted by Bowen Song via user <us...@cassandra.apache.org>.
Hi Paul,
You don't need to plan for or introduce an outage for a rolling upgrade,
which is the preferred route. It isn't advisable to take down an entire
DC to do upgrade.
You should aim to complete upgrading the entire cluster and finish a
full repair within the shortest gc_grace_seconds (default to 10 days) of
all tables. Failing to do that may cause data resurrections.
During the rolling upgrade, you should not run repair or any DDL query
(such as ALTER TABLE, TRUNCATE, etc.).
You don't need to do the rolling upgrade node by node. You can do it
rack by rack. Stopping all nodes in a single rack and upgrade them
concurrently is much faster. The number of nodes doesn't matter that
much to the time required to complete a rolling upgrade, it's the number
of DCs and racks matter.
Cheers,
Bowen
On 24/04/2024 16:16, Paul Chandler wrote:
> Hi all,
>
> We have some large clusters ( 1000+ nodes ), these are across multiple datacenters.
>
> When we perform upgrades we would normally upgrade a DC at a time during a planned outage for one DC. This means that a cluster might be in a mixed mode with multiple versions for a week or 2.
>
> We have noticed that during our testing that upgrading to 4.1 causes a schema mismatch due to the new tables added into the system keyspace.
>
> Is this going to be an issue if this schema mismatch lasts for maybe several weeks? I assume that running any DDL during that time would be a bad idea, is there any other issues to look out for?
>
> Thanks
>
> Paul Chandler