diff options
author | Sujatha Sivakumar <sujatha.sivakumar@oracle.com> | 2016-04-11 11:41:47 +0530 |
---|---|---|
committer | Sujatha Sivakumar <sujatha.sivakumar@oracle.com> | 2016-04-19 11:44:34 +0530 |
commit | 3a8f43bec76d3d93a809b6a3c76e26e946ba0425 (patch) | |
tree | 92289c9eb54a2a8d31871aee77ad5def5790e7a2 /mysys | |
parent | b4afc6a7a94a60980eac15dad385cd29ad1dd816 (diff) | |
download | mariadb-git-3a8f43bec76d3d93a809b6a3c76e26e946ba0425.tar.gz |
Bug#22897202: RPL_IO_THD_WAIT_FOR_DISK_SPACE HAS OCCASIONAL
FAILURES
Analysis:
=========
Test script is not ensuring that "assert_grep.inc" should be
called only after 'Disk is full' error is written to the
error log.
Test checks for "Queueing master event to the relay log"
state. But this state is set before invoking 'queue_event'.
Actual 'Disk is full' error happens at a very lower level.
It can happen that we might even reset the debug point
before even the actual disk full simulation occurs and the
"Disk is full" message will never appear in the error log.
In order to guarentee that we must have some mechanism where
in after we write "Disk is full" error messge into the error
log we must signal the test to execute SSS and then reset
the debug point. So that test is deterministic.
Fix:
===
Added debug sync point to make script deterministic.
Diffstat (limited to 'mysys')
-rw-r--r-- | mysys/errors.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/mysys/errors.c b/mysys/errors.c index 942fd3230c0..b6064460535 100644 --- a/mysys/errors.c +++ b/mysys/errors.c @@ -15,7 +15,7 @@ #include "mysys_priv.h" #include "mysys_err.h" - +#include "m_string.h" #ifndef SHARED_LIBRARY const char *globerrs[GLOBERRS]= @@ -128,6 +128,7 @@ void wait_for_free_space(const char *filename, int errors) }); (void) sleep(time_to_sleep); + DEBUG_SYNC_C("disk_full_reached"); } const char **get_global_errmsgs() |