[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