mirror of
https://github.com/MariaDB/server.git
synced 2025-01-30 02:30:06 +01:00
MDEV-8571 - After mysqloptimize sometimes one of the tables is marked as crashed
OPTIMIZE TABLE against MyISAM/Aria table may fail and leave stale temporary file if mysql_file_create() returns 0 file descriptor. This was due to wrong condition, which considered 0 as failure. 5.5 doesn't have fix for MDEV-5679, thus 0 file descriptor is always occupied by stdin and this bug is not reproducible. 10.1 has fix for MDEV-8475, which hides this bug. No test case since it mostly depends on how OS returns file descriptors.
This commit is contained in:
parent
537c750e32
commit
d09c60cff9
2 changed files with 2 additions and 2 deletions
storage
|
@ -3105,7 +3105,7 @@ int maria_sort_index(HA_CHECK *param, register MARIA_HA *info, char *name)
|
|||
fn_format(param->temp_filename,name,"", MARIA_NAME_IEXT,2+4+32);
|
||||
if ((new_file=mysql_file_create(key_file_kfile, fn_format(param->temp_filename,param->temp_filename,
|
||||
"", INDEX_TMP_EXT,2+4),
|
||||
0,param->tmpfile_createflag,MYF(0))) <= 0)
|
||||
0, param->tmpfile_createflag, MYF(0))) < 0)
|
||||
{
|
||||
_ma_check_print_error(param,"Can't create new tempfile: '%s'",
|
||||
param->temp_filename);
|
||||
|
|
|
@ -1930,7 +1930,7 @@ int mi_sort_index(HA_CHECK *param, register MI_INFO *info, char * name)
|
|||
fn_format(param->temp_filename,
|
||||
param->temp_filename,
|
||||
"", INDEX_TMP_EXT, 2+4),
|
||||
0, param->tmpfile_createflag, MYF(0))) <= 0)
|
||||
0, param->tmpfile_createflag, MYF(0))) < 0)
|
||||
{
|
||||
mi_check_print_error(param,"Can't create new tempfile: '%s'",
|
||||
param->temp_filename);
|
||||
|
|
Loading…
Add table
Reference in a new issue