[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