From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Sun, 7 Apr 2019 14:45:59 +0300 From: Vladimir Davydov Subject: Re: [PATCH] xrow: improve corrupted header logging on an error Message-ID: <20190407114559.cqkbdexc74qmcunm@esperanza> References: <20190405160918.17305-1-sergepetrenko@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190405160918.17305-1-sergepetrenko@tarantool.org> To: Serge Petrenko Cc: tarantool-patches@freelists.org, kostja@tarantool.org List-ID: On Fri, Apr 05, 2019 at 07:09:17PM +0300, Serge Petrenko wrote: > Improve row printing to log. Since say only has 16k buffer, there is no > point in printing the whole packet, which can have arbitrary length, in one > go. > So, print the header row by row, 16 bytes in a row, and format output to > match `xxd` output: > ``` > [001] 2019-04-05 18:22:46.679 [11859] iproto V> Got a corrupted row: > [001] 2019-04-05 18:22:46.679 [11859] iproto V> 00000000: A3 02 D6 5A E4 D9 E7 68 A1 53 8D 53 60 5F 20 3F > [001] 2019-04-05 18:22:46.679 [11859] iproto V> 00000010: D8 E2 D6 E2 A3 02 D6 5A E4 D9 E7 68 A1 53 8D 53 > ``` > Now we can get rid of malloc, and use a preallocated tt_static_buf > instead. > Also, replace a big macro with a small macro and a helper function. Looks awesome, thanks! Pushed to master, 2.1, and 1.10. It's a shame we didn't think about multiline output ourselves until Kostja suggested it :(