From d49ac072a9f38bd69e011aac2c7a87fea492fb60 Mon Sep 17 00:00:00 2001 From: Georgiy Lebedev <g.lebedev@tarantool.org> Date: Mon, 9 Jan 2023 14:47:59 +0300 Subject: [PATCH] iproto: do not record empty responses in flight recorder If the output buffer savepoint passed to `tx_end_msg` is the same as the connection's current writing position, it means the response is empty, so it makes no sense to record it. Needed for #7901 NO_CHANGELOG=refactoring NO_DOC=refactoring NO_TEST=refactoring --- src/box/iproto.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/box/iproto.cc b/src/box/iproto.cc index 62d3f01d51..246749e2e5 100644 --- a/src/box/iproto.cc +++ b/src/box/iproto.cc @@ -1917,9 +1917,10 @@ tx_end_msg(struct iproto_msg *msg, struct obuf_svp *svp) msg->stream->txn = txn_detach(); } msg->connection->iproto_thread->tx.requests_in_progress--; - /* Log response to the flight recorder. */ struct obuf *out = msg->connection->tx.p_obuf; - flightrec_write_response(out, svp); + if (msg->connection->tx.p_obuf->used != svp->used) + /* Log response to the flight recorder. */ + flightrec_write_response(out, svp); } /** -- GitLab