2022年8月5日(金) 22:55 Melih Mutlu <m.melihmu...@gmail.com>:
>
> Hi Amit,
>
>> >> Why after step 4, do you need to drop the replication slot? Won't just
>> >> clearing the required info from the catalog be sufficient?
>> >
>> >
>> > The replication slots that we read from the catalog will not be used for 
>> > anything else after we're done with syncing the table which the rep slot 
>> > belongs to.
>> > It's removed from the catalog when the sync is completed and it basically 
>> > becomes a slot that is not linked to any table or worker. That's why I 
>> > think it should be dropped rather than left behind.
>> >
>> > Note that if a worker dies and its replication slot continues to exist, 
>> > that slot will only be used to complete the sync process of the one table 
>> > that the dead worker was syncing but couldn't finish.
>> > When that particular table is synced and becomes ready, the replication 
>> > slot has no use anymore.
>> >
>>
>> Why can't it be used to sync the other tables if any?
>
>
> It can be used. But I thought it would be better not to, for example in the 
> following case:
> Let's say a sync worker starts with a table in INIT state. The worker creates 
> a new replication slot to sync that table.
> When sync of the table is completed, it will move to the next one. This time 
> the new table may be in FINISHEDCOPY state, so the worker may need to use the 
> new table's existing replication slot.
> Before the worker will move to the next table again, there will be two 
> replication slots used by the worker. We might want to keep one and drop the 
> other.
> At this point, I thought it would be better to keep the replication slot 
> created by this worker in the first place. I think it's easier to track slots 
> this way since we know how to generate the rep slots name.
> Otherwise we would need to store the replication slot name somewhere too.
>
>
>>
>> This sounds reasonable. Let's do this unless we get some better idea.
>
>
> I updated the patch to use an unique id for replication slot names and store 
> the last used id in the catalog.
> Can you look into it again please?
>
>
>> There is no such restriction that origins should belong to only one
>> table. What makes you think like that?
>
>
> I did not reuse origins since I didn't think it would significantly improve 
> the performance as reusing replication slots does.
> So I just kept the origins as they were, even if it was possible to reuse 
> them. Does that make sense?

Hi

cfbot reports the patch no longer applies [1].  As CommitFest 2022-11 is
currently underway, this would be an excellent time to update the patch.

[1] http://cfbot.cputube.org/patch_40_3784.log

Thanks

Ian Barwick


Reply via email to