From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Serge Petrenko Subject: [PATCH v2 0/2] fix bodiless requests handling. Date: Mon, 24 Sep 2018 17:08:07 +0300 Message-Id: To: vdavydov.dev@gmail.com Cc: tarantool-patches@freelists.org, Serge Petrenko List-ID: The first patch fixes an error when trying to parse a bodiless request such as IPROTO_NOP in `tarantoolctl cat` and `tarantoolctl play`. Now cat displays such requests correctly and play ignores them. https://github.com/tarantool/tarantool/issues/3675 The second patch fixes parsing xlogs containing transactions with empty body requests. Such requests weren't handled correctly which lead to header of the next request become body of a no-op request. This messed up recovery and `tarantoolctl cat`. Both fixed. https://github.com/tarantool/tarantool/issues/3678 Branch: https://github.com/tarantool/tarantool/tree/sp/gh-3675-tarantoolctl-cat-empty-body Changes in v2: - make sure that tarantoolctl cat and play stops on all records with lsn >= to, even the ones that have to be skipped. - move NOP recovery test to box/before_replace.test.lua - decided to ignore old xlogs with NOPS with body. - simplify check for NOP in xrow_header_decode() Serge Petrenko (2): tarantoolctl: fix cat and play for empty body requests recovery: fix incorrect handling of empty-body requests. extra/dist/tarantoolctl.in | 32 ++++++++++++++++++------------ src/box/xrow.c | 3 ++- test/app-tap/tarantoolctl.test.lua | 14 ++++++++++--- test/box/before_replace.result | 25 ++++++++++++++++++++--- test/box/before_replace.test.lua | 14 ++++++++++--- 5 files changed, 65 insertions(+), 23 deletions(-) -- 2.17.1 (Apple Git-112)