From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp46.i.mail.ru (smtp46.i.mail.ru [94.100.177.106]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id E87E14765E0 for ; Thu, 24 Dec 2020 23:13:06 +0300 (MSK) From: Ilya Kosarev Date: Thu, 24 Dec 2020 23:13:00 +0300 Message-Id: Subject: [Tarantool-patches] [PATCH v9 0/3] iproto: greeting enhancement List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: v.shpilevoy@tarantool.org, alyapunov@tarantool.org Cc: tarantool-patches@dev.tarantool.org These patches move greeting from tx thread to iproto and introduce improvements into iproto logic. Branch: https://github.com/tarantool/tarantool/tree/i.kosarev/gh-3776-handling-connections-in-iproto Issue: https://github.com/tarantool/tarantool/issues/3776 Changes in v2: - docbot request provided - ChangeLog provided - net_send_msg() used instead of net_send_error() where needed - error cases made clear in iproto_msg_decode() - replaced net_check_connection() with iproto_connection_fail() predicate - improved tx session initialization fail processing to avoid extra tries - fixed obuf_dup() fail processing in iproto_process_connect() - added some comments - some comments style fixed Changes in v3: - added braces to the confusing one-line if statement - updated ChangeLog - added description for iproto_msg_decode() - simplified error processing in iproto_msg_decode() Changes in v4: - fixed msg->close_connection initialization bug - fixed false-sharing problem in iproto_connection struct - added needed assertion - added needed comments - names refactoring - simplified patch a bit: removed extra return value, extra Changes in v5: - reworked to avoid lazy initialization and extra changes Changes in v6: - some changes are picket out into separate commits - main commit message rewrited to become more comprehensive - removed some extra changes - style fixes - greeting allocation fixed Changes in v7: - fixed functions signatures & added comments - partial greeting write taken into account - added needed state Changes in v8: - style fix - iproto now starts to read right after greeting and can close the socket Changes in v9: - simplified processing of closed connections in tx (no extra state reading) - removed extra iproto_connection_stop_msg_max_limit() not applicable call Ilya Kosarev (3): iproto: move msg fields initialization to iproto_msg_new() iproto: fix comment and add assert on destruction iproto: move greeting from tx thread to iproto src/box/iproto.cc | 194 ++++++++++++++---- test/app/gh-4787-netbox-empty-errmsg.result | 18 -- test/app/gh-4787-netbox-empty-errmsg.test.lua | 8 - 3 files changed, 150 insertions(+), 70 deletions(-) -- 2.17.1