[Tarantool-patches] [RFC] on downstream.lag design
Cyrill Gorcunov
gorcunov at gmail.com
Wed Jun 2 11:41:11 MSK 2021
On Wed, Jun 02, 2021 at 09:55:38AM +0300, Serge Petrenko wrote:
>
> What's wal_st? Is it a list of all sent out xrow.tms?
It is a new structure, where I will remember the last xrow.tms.
In previous version I kept there first synchro row timestamp.
...
> >
> > Once ACK is obtained the lag set to some positive value [ev_now - xrow.tm].
> > This value remains immutable until new sync transaction is sent. On new
> > sync transaction we do the same -- asign value from row.tm and count
> > time until ACK is received.
>
> I'm not sure I understood it all correstly. Correct me if I'm wrong,
> here's how I unerstand it:
>
> You save xrow.tm in a list or something in relay, once sending the
> corresponding row out.
>
> When applier sends out an acks for the row, the ack contains the same
> xrow.tm received earlier.
>
> Relay, upon receiving an ack, finds the corresponding xrow.tm in list and
> removes it.
>
> Every time downstream.lag is read it is equal ev_now() - oldest xrow.tm in
> list.
>
> Is this right?
Kind of. I hasn't considered a list here but rather a single timestamp value
per relay. As we've discussed verbally instead I should think over moving
this tracking into txn_limbo instead. Gimme some time to propose a new design,
I'll post it here.
More information about the Tarantool-patches
mailing list