mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Automatic merge with 5.5
Fixed failing test case
This commit is contained in:
@ -30,6 +30,7 @@ BEGIN
|
||||
WHERE variable_name NOT IN ('timestamp', 'innodb_file_format_max')
|
||||
AND variable_name not like "Last_IO_Err*"
|
||||
AND variable_name != 'INNODB_IBUF_MAX_SIZE'
|
||||
AND variable_name != 'INNODB_USE_NATIVE_AIO'
|
||||
ORDER BY variable_name;
|
||||
|
||||
-- Dump all databases, there should be none
|
||||
|
@ -4739,6 +4739,9 @@ sub extract_warning_lines ($$) {
|
||||
qr|Aborted connection|,
|
||||
qr|table.*is full|,
|
||||
qr|Linux Native AIO|, # warning that aio does not work on /dev/shm
|
||||
qr|Error: io_setup\(\) failed|,
|
||||
qr|Warning: io_setup\(\) failed|,
|
||||
qr|Warning: io_setup\(\) attempt|,
|
||||
);
|
||||
|
||||
my $matched_lines= [];
|
||||
|
@ -1,6 +1,6 @@
|
||||
create table t1 (f1 integer primary key) engine innodb;
|
||||
alter table t1 add constraint c1 foreign key (f1) references t1(f1);
|
||||
ERROR HY000: Error on rename of '#sql-temporary' to './test/t1' (errno: 150)
|
||||
ERROR HY000: Error on rename of '#sql-temporary' to './test/t1' (errno: 150 "Foreign key constraint is incorrectly formed")
|
||||
InnoDB: has or is referenced in foreign key constraints
|
||||
InnoDB: which are not compatible with the new table definition.
|
||||
drop table t1;
|
||||
|
@ -3361,12 +3361,23 @@ os_aio_array_create(
|
||||
if (!os_aio_linux_create_io_ctx(n/n_segments,
|
||||
&array->aio_ctx[i])) {
|
||||
/* If something bad happened during aio setup
|
||||
we should call it a day and return right away.
|
||||
We don't care about any leaks because a failure
|
||||
to initialize the io subsystem means that the
|
||||
server (or atleast the innodb storage engine)
|
||||
is not going to startup. */
|
||||
return(NULL);
|
||||
we disable linux native aio.
|
||||
The disadvantage will be a small memory leak
|
||||
at shutdown but that's ok compared to a crash
|
||||
or a not working server.
|
||||
This frequently happens when running the test suite
|
||||
with many threads on a system with low fs.aio-max-nr!
|
||||
*/
|
||||
|
||||
fprintf(stderr,
|
||||
" InnoDB: Warning: Linux Native AIO disabled "
|
||||
"because os_aio_linux_create_io_ctx() "
|
||||
"failed. To get rid of this warning you can "
|
||||
"try increasing system "
|
||||
"fs.aio-max-nr to 1048576 or larger or "
|
||||
"setting innodb_use_native_aio = 0 in my.cnf\n");
|
||||
srv_use_native_aio = FALSE;
|
||||
goto skip_native_aio;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3463,12 +3463,23 @@ os_aio_array_create(
|
||||
if (!os_aio_linux_create_io_ctx(n/n_segments,
|
||||
&array->aio_ctx[i])) {
|
||||
/* If something bad happened during aio setup
|
||||
we should call it a day and return right away.
|
||||
We don't care about any leaks because a failure
|
||||
to initialize the io subsystem means that the
|
||||
server (or atleast the innodb storage engine)
|
||||
is not going to startup. */
|
||||
return(NULL);
|
||||
we disable linux native aio.
|
||||
The disadvantage will be a small memory leak
|
||||
at shutdown but that's ok compared to a crash
|
||||
or a not working server.
|
||||
This frequently happens when running the test suite
|
||||
with many threads on a system with low fs.aio-max-nr!
|
||||
*/
|
||||
|
||||
fprintf(stderr,
|
||||
" InnoDB: Warning: Linux Native AIO disabled "
|
||||
"because os_aio_linux_create_io_ctx() "
|
||||
"failed. To get rid of this warning you can "
|
||||
"try increasing system "
|
||||
"fs.aio-max-nr to 1048576 or larger or "
|
||||
"setting innodb_use_native_aio = 0 in my.cnf\n");
|
||||
srv_use_native_aio = FALSE;
|
||||
goto skip_native_aio;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1509,10 +1509,20 @@ innobase_start_or_create_for_mysql(void)
|
||||
}
|
||||
# endif /* __WIN__ */
|
||||
|
||||
os_aio_init(io_limit,
|
||||
srv_n_read_io_threads,
|
||||
srv_n_write_io_threads,
|
||||
SRV_MAX_N_PENDING_SYNC_IOS);
|
||||
if (!os_aio_init(io_limit,
|
||||
srv_n_read_io_threads,
|
||||
srv_n_write_io_threads,
|
||||
SRV_MAX_N_PENDING_SYNC_IOS))
|
||||
{
|
||||
ut_print_timestamp(stderr);
|
||||
fprintf(stderr,
|
||||
" InnoDB: Fatal error: cannot initialize AIO"
|
||||
" sub-system\n");
|
||||
#if defined(LINUX_NATIVE_AIO)
|
||||
fprintf(stderr, "You can try increasing system fs.aio-max-nr to 1048576 or larger or setting innodb_use_native_aio = 0 in my.cnf\n");
|
||||
#endif
|
||||
return(DB_ERROR);
|
||||
}
|
||||
|
||||
fil_init(srv_file_per_table ? 50000 : 5000,
|
||||
srv_max_n_open_files);
|
||||
|
Reference in New Issue
Block a user