[
https://issues.apache.org/jira/browse/CASSANDRA-19989?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17888142#comment-17888142
]
Marcus Eriksson commented on CASSANDRA-19989:
---------------------------------------------
+1
> 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
>
> Attachments: ci_summary.html
>
> 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]