[Tarantool-patches] [PATCH 1/1] netbox: don't fire on_connect() at schema update

Alexander Turenko alexander.turenko at tarantool.org
Wed Nov 6 03:56:38 MSK 2019


On Tue, Nov 05, 2019 at 07:34:44PM +0300, Kirill Yukhin wrote:
> Hello,
> 
> On 29 окт 22:43, Vladislav Shpilevoy wrote:
> > There was a bug that netbox at any schema update called
> > on_connect() triggers. This was due to overcomplicated logic of
> > handling of changes in the netbox state machine. On_connect() was
> > fired each time the machine entered 'active' state, even if its
> > previous states were 'active' and then 'fetch_schema'. The latter
> > state can be entered many times without reconnects.
> > 
> > Another bug was about on_disconnect() - it could be fired even if
> > the connection never entered active state. For example, if its
> > first 'fetch_schema' has failed.
> > 
> > Now there is an explicit flag showing the machine connect state.
> > The triggers are fired only when it is changed, on 'active' and on
> > any error states. Intermediate states (fetch_schema, auth) do not
> > matter anymore.
> > 
> > Thanks @mtrempoltsev for the initial investigation and a draft
> > fix.
> > 
> > Closes #4593
> > ---
> > Branch: https://github.com/tarantool/tarantool/tree/gerold103/gh-4593-netbox-on_connect
> > Issue: https://github.com/tarantool/tarantool/issues/4593
> 
> I've checked your patch into 2.2 and master.

This is the bugfix and should be pushed to 2.1 and 1.10 as well.

WBR, Alexander Turenko.


More information about the Tarantool-patches mailing list