[Tarantool-patches] [PATCH 1/1] txn: don't trust group id in remote request header

Vladislav Shpilevoy v.shpilevoy at tarantool.org
Tue Jan 21 23:34:39 MSK 2020


So, you decided not to push it into 1.10? Why? The bug
affects 1.10 as well.

On 21/01/2020 13:39, Kirill Yukhin wrote:
> Hello,
> 
> On 15 янв 22:24, Vladislav Shpilevoy wrote:
>> Transaction adds a redo log for each statement. The log is an xrow
>> header. Some requests don't have a header (local requests), some
>> do (from remote client, from replication).
>>
>> When a request had a header, it was written as is to WAL. But
>> requests from remote client have an xrow header, however barely
>> filled. Most of its fields are default values, usually 0.
>> Including group id. Indeed, remote clients should not care about
>> setting such deep system fields.
>>
>> That led to a problem when a space had group id local (!= 0), but
>> it was ignored because in a request header from a remote client
>> the group id was default (== 0). On the summary, it was possible
>> to force Tarantool to replicate a replica-local space.
>>
>> Now group id setting is server-authoritative. Box always sets it
>> regardless of what is present in an xrow header received from a
>> client.
>>
>> Thanks Kostja Osipov (@kostja) for the diagnostics and the
>> solution.
>>
>> Closes #4729
> 
> I've checked your patch into 2.2, 2.3 and master.
> 
> --
> Regards, Kirill Yukhin
> 


More information about the Tarantool-patches mailing list