Tarantool development patches archive
 help / color / mirror / Atom feed
* [Tarantool-patches] [PATCH v2 0/3] Fiber storage leak
@ 2020-01-16 21:54 Vladislav Shpilevoy
  2020-01-16 21:54 ` [Tarantool-patches] [PATCH v2 1/3] fiber: unref fiber.storage via global Lua state Vladislav Shpilevoy
                   ` (4 more replies)
  0 siblings, 5 replies; 21+ messages in thread
From: Vladislav Shpilevoy @ 2020-01-16 21:54 UTC (permalink / raw)
  To: tarantool-patches, kostja.osipov

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)

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2020-02-15  1:02 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-16 21:54 [Tarantool-patches] [PATCH v2 0/3] Fiber storage leak Vladislav Shpilevoy
2020-01-16 21:54 ` [Tarantool-patches] [PATCH v2 1/3] fiber: unref fiber.storage via global Lua state Vladislav Shpilevoy
2020-01-17  7:30   ` Konstantin Osipov
2020-01-16 21:54 ` [Tarantool-patches] [PATCH v2 2/3] fiber: destroy fiber.storage created by iproto Vladislav Shpilevoy
2020-01-16 22:00   ` Cyrill Gorcunov
2020-01-17  7:47     ` Konstantin Osipov
2020-01-17  8:06       ` Cyrill Gorcunov
2020-01-17  7:45   ` Konstantin Osipov
2020-01-19 17:32     ` Vladislav Shpilevoy
2020-01-20  7:22       ` Konstantin Osipov
2020-01-20 19:15         ` Georgy Kirichenko
2020-01-21 22:21         ` Vladislav Shpilevoy
2020-01-21 22:32           ` Konstantin Osipov
2020-01-16 21:54 ` [Tarantool-patches] [PATCH v2 3/3] box: remove dead code from box_process_call/eval() Vladislav Shpilevoy
2020-01-17  7:46   ` Konstantin Osipov
2020-01-17  7:47   ` Konstantin Osipov
2020-01-17 17:41   ` Georgy Kirichenko
2020-01-19 17:32     ` Vladislav Shpilevoy
2020-01-20 19:21       ` Georgy Kirichenko
2020-01-18 19:27 ` [Tarantool-patches] [PATCH v2 0/3] Fiber storage leak Igor Munkin
2020-02-15  1:02 ` Vladislav Shpilevoy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox