[Tarantool-patches] [PATCH v2 0/3] Fiber storage leak
Vladislav Shpilevoy
v.shpilevoy at tarantool.org
Fri Jan 17 00:54:20 MSK 2020
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)
More information about the Tarantool-patches
mailing list