[tarantool-patches] Re: [PATCH 3/4] session: introduce 'dead' type

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Sat Dec 8 01:42:49 MSK 2018



On 08/12/2018 01:21, Konstantin Osipov wrote:
> * Vladislav Shpilevoy <v.shpilevoy at tarantool.org> [18/12/08 01:20]:
>> On 07/12/2018 20:38, Konstantin Osipov wrote:
>>> * Vladislav Shpilevoy <v.shpilevoy at tarantool.org> [18/12/07 18:48]:
>>>> If an iproto connection is closed, there are no way
>>>> how to determine if this happened. Except setting an
>>>> on_disconnect trigger which sets a global flag or
>>>> something.
>>>>
>>>> To deal with such orphan requests a new session type
>>>> is introduced that can be checked inside a request.
>>>
>>> Please don't reset session type when it becomes dead.
>>> What's the problem with storing an explicit vtab pointer in the
>>> session and resetting it?
>>
>> I've explained to you what is a problem. To store vtab in struct
>> session we should reset its type never, since vtab now depends
>> both on type and on session state. But we can not do it because of
>> repl and console session types which are reset in src/lua/init.c and
>> src/lua/console.lua. Moreover, we can not set a session type repl
>> at start of the lua script runner, since it is in src/ but session
>> is in box/.
> 
> What's wrong with adding a method session_set_type() which would
> reset both type and vtab?
> 

I will try to implement it. But as I remember you were against it
yesterday:

Константин Осипов, [6 дек. 2018 г., 23:24:43]:
мне кажется проблема в другом

в том что я разрешаю ресетить type

эту проблему можно порешать, да

я согласен что переустановка типа сессии после её создания ломает инкапсуляцию.

Vladislav Shpilevoy, [6 дек. 2018 г., 23:25:23]:
я ее порешал, удалив repl. Теперь lbox_session_create всегда создает консоль

Константин Осипов, [6 дек. 2018 г., 23:25:23]:
это говнокод какой-то

Vladislav Shpilevoy, [6 дек. 2018 г., 23:26:03]:
если не удалять репл, то придется херачить что-то вроде session_set_type, причем надо будет запрещать конвертации несовместимых сессий

Константин Осипов, [6 дек. 2018 г., 23:26:12]:
воу воу

нахер вообще нужен lbox_session_create?

Nonetheless, as you wish.



More information about the Tarantool-patches mailing list