The wording is subtle and can be confusing...

It's important to distinguish between:
1. "You need to start and complete a repair within any gc_grace_seconds
window"
2. "You need to start and complete a repair within gc_grace_seconds"

#1 is a sliding time window for any time interval in which the tombstone
(tombstone_created_time  is written and the expiration of
it (tombstoned_created_time + gc_grace_seconds)

#2 is a duration bound for the repair time

My post is saying that to ensure the #1 requirement, you actually need to
"start and complete two consecutive repairs within gc_grace_seconds"


On Fri, May 16, 2025 at 2:49 PM Mike Sun <m...@msun.io> wrote:

> > You need to *start and complete* a repair within any gc_grace_seconds
> window.
> Exactly this. And since "any gc_grace_seconds" does not mean "any
> gc_grace_window from which a repair starts"... the requirement needs to be
> that the duration to "start and complete" two consecutive full repairs is
> within gc_grace_seconds"... that will ensure a repair "starts and
> completes" within "any gc_grace_seconds" window
>
>
>
> On Fri, May 16, 2025 at 2:43 PM Mick Semb Wever <m...@apache.org> wrote:
>
>>     .
>>
>>
>>> e.g., assume gc_grace_seconds=10 days, a repair takes 5 days to run
>>> * Day 0: Repair 1 starts and processes token A
>>> * Day 1: Token A is deleted resulting in Tombstone A that will expire on
>>> Day 11
>>> * Day 5: Repair 1 completes
>>> * Day 7: Repair 2 starts
>>> * Day 11: Tombstone A expires without being repaired
>>> * Day 12: Repair 2 repairs Token A and completes
>>>
>>
>>
>> You need to *start and complete* a repair within any gc_grace_seconds
>> window.
>> In your example no repair started and completed in the Day 1-11 window.
>>
>> We do need to word this better, thanks for pointing it out Mike.
>>
>

Reply via email to