[Tarantool-discussions] [dev] [rfc] iproto connections processing improvements

Ilya Kosarev i.kosarev at tarantool.org
Thu Jul 2 17:22:49 MSK 2020


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 <kostja.osipov at gmail.com>:
> 
>* Ilya Kosarev < i.kosarev at 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
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.tarantool.org/pipermail/tarantool-discussions/attachments/20200702/dc266d96/attachment.html>


More information about the Tarantool-discussions mailing list