As a result of private discussion, here are the steps to be implemented: 1. Greeting should be done by iproto solely. This means session creation has to be moved to a later point (after iproto_msg_decode). Thus iproto has to be able to reach iproto_msg_decode without tx assistance. Iproto also should be able to finish connection itself in case it is possible (connection being rejected by iproto). 2. Introduce state machine managed from tx. tx should be able to enable different iproto states depending on tx work phase, for example, to reject all connections on secondary index build. 3. To be more specific, we need to be able to classify different types of connections, for example, replica connection vs client connection. This means we need to add specific flag for replica authentication and prioritize it if needed depending on the iproto state. 4. New approach to connections handling means we need to reconsider clients behavior: specific error for this rejection type, reconnection on timeout.   -- Ilya Kosarev >Вторник, 30 июня 2020, 14:47 +03:00 от Konstantin Osipov : >  >* Ilya Kosarev < i.kosarev@tarantool.org > [20/06/30 14:19]: >> >> Ссылки были заинлайнены под слова. >> Не учёл, что это работает не во всех клиентах. >> https://github.com/tarantool/tarantool/issues/3776 >> https://github.com/tarantool/tarantool/issues/4646 >> https://github.com/tarantool/tarantool/issues/4910 >>   >> Про vtab/состояния конечно вопрос отдельный, я написал, как это вижу. >>   >> В iproto_msg_decode как раз есть возможность отделить одно от другого. >Как именно? > > >-- >Konstantin Osipov, Moscow, Russia