diff options
author | Varun Gupta <varun.gupta@mariadb.com> | 2020-05-15 02:37:16 +0530 |
---|---|---|
committer | Varun Gupta <varun.gupta@mariadb.com> | 2020-05-15 02:37:16 +0530 |
commit | 82b6a5cb85fefc15afcbc35f3782139a76432f4e (patch) | |
tree | 7bad70fd67494e2d07bd3c82fc4c68237fbd7b8f /mysql-test/suite/innodb_zip | |
parent | 3bfe305c5cd678a8563f7a76d6ed59095129007e (diff) | |
download | mariadb-git-10.4-mdev22555.tar.gz |
MDEV-22556: Incorrect result for window function when using encrypt-tmp-files=ON10.4-mdev22555
The issue here is that end_of_file for encrypted temporary IO_CACHE (used by filesort) is updated
using lseek.
Encryption adds storage overhead and hides it from the caller by recalculating offsets and lengths.
Two different IO_CACHE cannot possibly modify the same file
because the encryption key is randomly generated and stored in the IO_CACHE.
So when the tempfiles are encrypted DO NOT use lseek to change end_of_file.
Further observations about updating end_of_file using lseek
1) The end_of_file update is only used for binlog index files
2) The whole point is to update file length when the file was modified via a different file descriptor.
3) The temporary IO_CACHE files can never be modified via a different file descriptor.
4) For encrypted temporary IO_CACHE, end_of_file should not be updated with lseek
Diffstat (limited to 'mysql-test/suite/innodb_zip')
0 files changed, 0 insertions, 0 deletions