[Tarantool-patches] [PATCH v7 7/8] applier: process synchro requests without txn engine

Cyrill Gorcunov gorcunov at gmail.com
Tue Aug 18 11:08:47 MSK 2020


On Mon, Aug 17, 2020 at 10:49:00PM +0200, Vladislav Shpilevoy wrote:
> On 17.08.2020 14:42, Cyrill Gorcunov wrote:
> > On Sat, Aug 15, 2020 at 05:06:05PM +0200, Vladislav Shpilevoy wrote:
> >>> +static struct synchro_entry *
> >>> +synchro_entry_new(struct applier *applier,
> >>> +		  struct xrow_header *applier_row,
> >>> +		  struct synchro_request *req)
> >>> +{
> >>> +	struct synchro_entry *entry;
> >>> +	size_t size = sizeof(*entry) + sizeof(struct xrow_header *);
> >>
> >> 6. Why don't you just add 'struct xrow_header*[1]' to the end of
> >> struct synchro_entry? There is no a case, when the entry is needed
> >> without the xrow_header pointer in the end.
> > 
> > This is forbidden by asan and some other compilers we've in travis runs.
> > I've been already trying.
> 
> We use clang and gcc, just 2. To workaround that I suggest to add
> -Wno-gnu-variable-sized-type-not-at-end to compiler.cmake (with that
> flag it works, at least on clang - I need you to check it on gcc).

I think this could be addressed later (if ever) -- we allocate an entry
dinamically and we have similar thing in general xrow allocation, so
in this POV at least they all are unified.


More information about the Tarantool-patches mailing list