From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Vladislav Shpilevoy Subject: [PATCH 0/4] Outdate disconnected session Date: Fri, 7 Dec 2018 18:46:31 +0300 Message-Id: To: tarantool-patches@freelists.org Cc: vdavydov.dev@gmail.com List-ID: Once a connection is closed, a long-running user request can not learn about this occasion. Even box.sesion.push() still works and on_disconnect triggers are not run. This patch makes things simpler: * disconnected session is marked as dead. So a user can determine if a connection is closed by looking at session type == 'dead', or checking for errors from box.session.push(); * on_disconnect triggers are run right after disconnect. Even if there are some active requests. Branch: http://github.com/tarantool/tarantool/tree/gerold103/gh-3859-outdate-session-on-disconnect Issue: https://github.com/tarantool/tarantool/issues/3859 Vladislav Shpilevoy (4): iproto: rename disconnect cmsg to destroy iproto: fire on_disconnect right after disconnect session: introduce 'dead' type session: kill a session of a closed connection src/box/iproto.cc | 78 +++++++++++++++++++++++++++------------ src/box/session.cc | 2 + src/box/session.h | 14 +++++++ test/box/net.box.result | 21 ++++++++--- test/box/net.box.test.lua | 13 +++++-- test/box/push.result | 50 +++++++++++++++++++++++++ test/box/push.test.lua | 22 +++++++++++ 7 files changed, 169 insertions(+), 31 deletions(-) -- 2.17.2 (Apple Git-113)