[Tarantool-patches] [PATCH v2 3/3] sql: update temporary file name format
Vladislav Shpilevoy
v.shpilevoy at tarantool.org
Sun Dec 13 21:30:34 MSK 2020
Thanks for the patch!
On 11.12.2020 15:49, Leonid Vasiliev via Tarantool-patches wrote:
> The bug was consisted in fail when working with temporary files
> created by VDBE to sort large result of a `SELECT` statement with
> `ORDER BY`, `GROUP BY` clauses.
>
> Whats happen (step by step):
> - We have two instances on one node (sharded cluster).
> - A query is created that executes on both.
> - The first instance creates the name of the temporary file and
> checks a file with such name on existence.
> - The second instance creates the name of the temporary file
> (the same as in first instance) and checks a file with such name
> on existence.
> - The first instance creates a file with the `SQL_OPEN_DELETEONCLOSE`
> flag.
> - The second instance opens(try to open) the same file.
> - The first instance closes (and removes) the temporary file.
> - The second instance tries to work with the file and fails.
>
> Why did it happen:
> The temporary file name format has a random part, but the random
> generator uses a fixed seed.
>
> When it was decided to use a fixed seed:
> 32cb1ad298b2b55d8536a85bdfb3827c8c8739e1
To reference a commit we also usually include commit title in
("...") after the hash.
The patch itself looks good.
More information about the Tarantool-patches
mailing list