[Tarantool-patches] [PATCH v2 0/3] Fiber storage leak

Igor Munkin imun at tarantool.org
Sat Jan 18 22:27:06 MSK 2020


Vlad,

Thanks, the patch is neat! I've looked on the new series since you added
one more patch to it. LGTM for the whole patchset.

On 16.01.20, Vladislav Shpilevoy wrote:
> The patchset makes fiber.storage be always deleted. Regardless of
> where was it created - in a fiber born in the Lua land, or in a
> fiber serving IProto requests and accessing Lua.
> 
> That removes
> 
>   - a leak occurred each time when fiber storage was created for
>     an IProto request;
> 
>   - a possibility to see previous request's artifacts left in
>     fiber.storage;
> 
> And makes possible to use fiber.storage as request-local data.
> 
> Branch: http://github.com/tarantool/tarantool/tree/gerold103/gh-4662-fiber-storage-leak
> Issue: https://github.com/tarantool/tarantool/issues/4662
> 
> Changes in v2:
> - Renamed back fiber.on_cleanup -> fiber.on_stop;
> - Removed dead code from box_process_call/eval(), which is now
>   handled by iproto.
> 
> Vladislav Shpilevoy (3):
>   fiber: unref fiber.storage via global Lua state
>   fiber: destroy fiber.storage created by iproto
>   box: remove dead code from box_process_call/eval()
> 
>  src/box/call.c                               | 28 +------
>  src/box/iproto.cc                            | 44 ++++++++--
>  src/box/txn.c                                |  1 +
>  src/lib/core/fiber.c                         | 18 +++-
>  src/lib/core/fiber.h                         | 14 +++-
>  src/lua/fiber.c                              | 35 ++++++--
>  test/app/gh-4662-fiber-storage-leak.result   | 88 ++++++++++++++++++++
>  test/app/gh-4662-fiber-storage-leak.test.lua | 43 ++++++++++
>  8 files changed, 230 insertions(+), 41 deletions(-)
>  create mode 100644 test/app/gh-4662-fiber-storage-leak.result
>  create mode 100644 test/app/gh-4662-fiber-storage-leak.test.lua
> 
> -- 
> 2.21.1 (Apple Git-122.3)
> 

-- 
Best regards,
IM


More information about the Tarantool-patches mailing list