diff options
author | unknown <marko@hundin.mysql.fi> | 2005-04-06 15:09:15 +0300 |
---|---|---|
committer | unknown <marko@hundin.mysql.fi> | 2005-04-06 15:09:15 +0300 |
commit | cde615c9cbff404b6a6c82a1ab7a6bcb8742b88e (patch) | |
tree | 01e8bb5906da4d81b81fcc444d2f985fb80550a8 /innobase/include/os0file.h | |
parent | d5b7547597f6620037deb3f5473d02e9dede4c21 (diff) | |
download | mariadb-git-cde615c9cbff404b6a6c82a1ab7a6bcb8742b88e.tar.gz |
InnoDB: Avoid test suite failures caused by a locking conflict
between two server instances at server shutdown/startup.
This conflict on advisory locks appears to be the result of a bug
in the operating system; these locks should be released when the
files are closed, but somehow that does not always happen
immediately in Linux. (Bug #9381)
innobase/include/os0file.h:
Add OS_FILE_OPEN_RETRY for os_file_create()ing ibdata1
innobase/os/os0file.c:
os_file_lock(): Do not close the file on failure, but let the
callers do that.
os_file_create(): If create_mode==OS_FILE_OPEN_RETRY and
os_file_lock() fails, keep retrying for 100 seconds.
innobase/srv/srv0start.c:
open_or_create_data_files(): Open the first data file with
OS_FILE_OPEN_RETRY, to resolve a conflict with a shutting-down
instance of the MySQL server.
Diffstat (limited to 'innobase/include/os0file.h')
-rw-r--r-- | innobase/include/os0file.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/innobase/include/os0file.h b/innobase/include/os0file.h index d1439faf29f..ebc014df9fd 100644 --- a/innobase/include/os0file.h +++ b/innobase/include/os0file.h @@ -65,6 +65,8 @@ log. */ #define OS_FILE_OVERWRITE 53 #define OS_FILE_OPEN_RAW 54 #define OS_FILE_CREATE_PATH 55 +#define OS_FILE_OPEN_RETRY 56 /* for os_file_create() on + the first ibdata file */ #define OS_FILE_READ_ONLY 333 #define OS_FILE_READ_WRITE 444 |