[Tarantool-patches] [PATCH 2/2] fiber: destroy fiber.storage created by iproto
Konstantin Osipov
kostja.osipov at gmail.com
Sat Dec 14 15:26:44 MSK 2019
* Vladislav Shpilevoy <v.shpilevoy at tarantool.org> [19/12/14 02:13]:
> lbox_fiber_run_f is not called for C fibers. This is for Lua born
> fibers only. To invoke a C function Lua is not used.
It can't access fiber storage.
> >> 2) That will give exactly the same - a member in struct fiber.
> >> There just no other communication channel between different
> >> frontends in which a fiber may participate during lifetime;
> >
> > Why do you think there will be different frontends involved? The
> > storage is pure-Lua, there is no fiber storage for non-Lua fibers.
> >
>
> Because other frontends will appear.
request storage is specific to Lua which doesn't have Go-style deferrables,
Python-style finally() or any other working means for controlled
garbage collection.
Even in Lua it is better done as a third party library, which works
the same way as box.atomic(): wraps the request body with
a RAII-style function.
This feature *is* broken & redundant, and instead of making the
damage controlled, you want to "fix" it by making the feature
universal and implementing it on C level.
>
> >> 3) We would need to add a new member to struct fiber and
> >> increase its size.
> >
> > Please see above, do you get the idea now?
>
> No. I don't understand what you want and how.
--
Konstantin Osipov, Moscow, Russia
More information about the Tarantool-patches
mailing list