[
https://issues.apache.org/jira/browse/CASSANDRA-19989?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17888051#comment-17888051
]
Caleb Rackliffe edited comment on CASSANDRA-19989 at 10/10/24 4:36 AM:
-----------------------------------------------------------------------
|5.0|[patch|https://github.com/apache/cassandra/pull/3607]|CI
|trunk|[patch|https://github.com/apache/cassandra/pull/3610]|CI|
was (Author: maedhroz):
|5.0|[patch|https://github.com/apache/cassandra/pull/3607]|CI
|trunk|patch|CI|
> Extended TTL digest generation creates false digest mismatches during upgrades
> ------------------------------------------------------------------------------
>
> Key: CASSANDRA-19989
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19989
> Project: Cassandra
> Issue Type: Bug
> Components: Consistency/Repair, Messaging/Internode
> Reporter: Caleb Rackliffe
> Assignee: Caleb Rackliffe
> Priority: Normal
> Fix For: 5.0.x, 5.x
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> CASSANDRA-14227 added support for TTLs all the way up to the year 2106, and
> this is disabled in {{CASSANDRA_4}} storage compatibility mode. However, even
> with {{CASSANDRA_4}} in use, {{LivenessInfo#digest()}} writes the local
> expiration time as an 8-byte long, even when it could fit in a 4-byte int.
> During an upgrade, 5.0 nodes will generate slightly different digests and
> cause unnecessary read-repair traffic until the upgrade is complete and all
> nodes use the new digest calculation. This should be easy to fix if we just
> conditionally update the digest with int or long depending on the actual size
> of the local expiration time. (That should also avoid writing an extra 4
> bytes we don't need to the digest in many cases.)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]