Hi Blake,

CEP-45 can help quite a lot here. Do you think the understanding is
correct?
What do CEP-45 release timings look like? Will Accord gate it?
I appreciate any help you can provide.

Jaydeep

On Fri, Feb 28, 2025 at 9:40 PM Jaydeep Chovatia <chovatia.jayd...@gmail.com>
wrote:

> Thanks, Jeff, for the detailed response.
> Overall, it seems there is nothing out of the box available today, and it
> would require some surgery (either to commitlog or hints) if we even want
> the two replicas to send the delta mutation.
>
> Jaydeep
>
> On Fri, Feb 28, 2025 at 6:16 PM Jeff Jirsa <jji...@gmail.com> wrote:
>
>> Also you violate consistency the second it attaches and you can’t run
>> repair offline, so you may serve reads that don’t return expected results
>> (empty or resurrecting, but not respecting monotonic quorum)
>>
>> It’s basically the same as a corrupt volume. If you care about strict
>> data correctness you do not want to do this until you build a system that
>> archives and restore the commitlog segments.
>>
>>
>> > On Feb 28, 2025, at 6:10 PM, Jeff Jirsa <jji...@apache.org> wrote:
>> >
>> > 
>> >
>> >> On 2025/03/01 00:27:27 Jaydeep Chovatia wrote:
>> >> Hi,
>> >>
>> >> I want to reattach an asynchronously replicated EBS volume to
>> Cassandra. I
>> >> want to know how to fix the delta inconsistency when reattaching other
>> than
>> >> running a repair on the dataset.
>> >>
>> >> Here is the scenario.
>> >> Three Cassandra nodes in three separate zones:
>> >> Node1 --> Zone1 (*EBS_Drive1*, Async_EBS_Drive3_Replica)
>> >> Node2 --> Zone2 (EBS_Drive2, *Async_EBS_Drive1_Replica*)
>> >> Node3 --> Zone3 (EBS_Drive3, Async_EBS_Drive2_Replica)
>> >>
>> >> EBS replicates data between Zones asynchronously. EBS Drive1 in Zone1
>> is
>> >> asynchronously copied to EBS Drive1 in Zone2, and so on.
>> >>
>> >> If Node1 goes down in Zone1, I want to reattach Node1's asynchronously
>> >> replicated drive, *Async_EBS_Drive1_Replica,* in Zone2, which is fine.
>> But
>> >> this async drive would be missing some of the latest data, say the
>> last 15
>> >> minutes, which was present in EBS_Drive1. Besides going through
>> Cassandra
>> >> repair, what are my options to repair the missing data when I reattach
>> >> *Async_EBS_Drive1_Replica*?
>> >
>> > There is no way to do this with JUST Cassandra in 2025-available
>> Versions of Cassandra.
>> >
>> > You're effectively asking for a point in time restore functionality
>> from a backup system that doesnt implement point-in-time restore
>> capability. You'd need the delta commitlogs and newly flushed sstables, and
>> you'd have to replay them. Hints wont work, because you've acked the
>> mutations. IR isn't guaranteed to work, because all replicas may have
>> already promoted the unrepaired set on the sync ebs volume.
>> >
>> > (If the nodes are ALSO running their own cassandra processes from the
>> primary zone, I suspect you also end up with out of range data, which is
>> not great, and I have no idea how future enhancements like CEP-45 would
>> think about this - or point-in-time restore in general).
>> >
>> >
>>
>

Reply via email to