[Tarantool-patches] [PATCH v19 2/3] qsync: order access to the limbo terms

Cyrill Gorcunov gorcunov at gmail.com
Fri Oct 1 15:31:46 MSK 2021


On Fri, Oct 01, 2021 at 03:14:52PM +0300, Serge Petrenko wrote:
...
> > +/** Process a synchronous replication request. */
> >   void
> >   txn_limbo_process(struct txn_limbo *limbo, const struct synchro_request *req);
> 
> Thanks for the patch!
> 
> Mostly ok with one question:
> 
> What about txn_limbo_write_confirm/txn_limbo_read_confirm pairs issued
> inside txn_limbo_ack() and txn_limbo_on_parameters_change() ?
> 
> Shouldn't they take the latch as well? I mean, txn_limbo_ack() and
> txn_limbo_on_parameters_change() as a whole.

Wait, Serge, currently we guard promote_map/max_term, so it won't be
read while there is its update on the fly. Thus If only I'm not missing
something obvious txn_limbo_on_parameters_change() can't interfere with
promote data or race with it anyhow. If you mean some other race then
it seems I don't see it yet, but I suspect I might be simply wrong :)


More information about the Tarantool-patches mailing list