[
https://issues.apache.org/jira/browse/CASSANDRA-19989?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17888139#comment-17888139
]
Caleb Rackliffe commented on CASSANDRA-19989:
---------------------------------------------
For observers, {{MixedModeReadRepairTTLTest}} will fail temporarily in CI,
because the dtest JAR we build for the test doesn't have this patch yet. Once
we commit, this failure will no longer manifest. If someone already has
upgraded to 5.0.0 or 5.0.1, they will see elevated digest mismatch/read-repair
activity upgrading to 5.0.2+, but things should be smooth after that.
> 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]